클래스의 기본 형태
생성자
클래스의 객체가 생성될 때 한번 호출되는 함수
주로 생성된 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 |
댓글