본문 바로가기
Unreal

[언리얼] 클래스, 기본 이벤트, 변수와 UPROPERTY

by imagineer_jinny 2022. 8. 11.

클래스의 기본 형태

생성자

클래스의 객체가 생성될 때 한번 호출되는 함수

주로 생성된 Actor의 Property, 즉 변수의 기본 값을 설정해주는데 사용

 

 

BeginPlay

Actor가 배치된 World에서 게임이 시작되거나 Actor가 World에 스폰되었을 때 한번 호출되는 함수

게임 플레이 로직을 초기화시킬 때 사용

 

 

Tick

매 프레임마다 한번씩 호출되는 함수

매개변수인 DeltaTime을 통해서 Tick 함수가 지난번에 호출 된 이후로 얼마의 시간이 경과한 뒤에 

다시 Tick 함수가 호출되었는지에 대한 시간을 전달받을 수 있음

Actor가 활성화되어있는 동안 계속해서 호출되기 때문에 주로 게임의 로직을 처리하는 기능을 구현필요없다면 지워줘서 게임의 퍼포먼스를 상승시킬 수 있음

 

Tick 비활성화: 헤더와 cpp 파일에서 함수 주석처리 + 생성자에서 PrimaryActorTick.bCanEverTick = true 주석처리

PrimaryActorTick.bCanEverTick: 이 엑터가 Tick 함수를 몇 프레임 호출하도록 설정하는 코드

 

실행 순서

생성자 -> BeginPlay -> Tick

 

변수와 UPROPERTY

변수

게임을 하면서 사용될 HP, Damage, Attack Speed 등을 저장할 값

ex. 정수, 부동소수점, 문자열, 논리자료형

 

UPROPERTY

Property가 언리얼 엔진 및 에디터에 이러한 Property가 있다고 알리고 연결되었을 때 어떻게 동작할지 지정하기 위한 것

 

  • EditAnywhere : 아키타입(archytype)과 레벨에 배치된 인스턴스 양 쪽 모두의 프로퍼티 창에서 편집할 수 있음
  • BlueprintReadWrite: 이 프로퍼티를 블루프린트에서 읽기와 쓰기가 모두 가능
  • Category = "blabla" : 블루프린트 편집 툴이나 디테일 패널에서 이 프로퍼티를 blabla라는 카테고리로 묶어서 보여준다는 뜻
  • BlueprintReadOnly : 프로퍼티를 블루프린트에서 읽기만 가능하게 해줌
  • VisibleAnywhere : 프로퍼티를 모든 프로퍼티 창에서 보이지만 편집할 수 없게 함
  • Transient : 해당 프로퍼티가 휘발성 프로퍼티로 저장되지 않음

* 아키타입: 아직 인스턴스화 되지 않은 블루프린트의 원본

 

 

 

 

참고

UE4 C++ 프로그래밍 입문 (1) - 언리얼 프로그래밍 개요 / C++ 클래스 생성 / 기본 이벤트 | 언리얼 4 - YouTube

UE4 C++ 프로그래밍 입문 (2) - 변수와 UPROPERTY | 언리얼 4 - YouTube

 

'Unreal' 카테고리의 다른 글

[Unreal] 애니메이션  (0) 2023.03.08
[UE5- 언리얼 웨비나 1주차] 게임 제작의 시작  (0) 2022.08.15
[언리얼] 액터의 설계  (0) 2022.08.09
언리얼에서 클래스 삭제하기  (0) 2022.07.19
[UE4 입문] 인공지능  (0) 2022.07.13

댓글