-
언리얼 C++의 최소 사항
c++ 헤더를 최소화하기 위해 4.15부터 언리얼 빌드가 가능한 최소 정보만 담고 있는 CoreMinial.h을 사용하도록 변경되었다. 기존에는 언리얼의 다양한 기본 기능을 포함하는 EngineMinimal.h을 사용했었다.
자동 메모리 관리
기본적으로 언리얼에서는 UPROPERTY로 선언된 변수는 GC에서 정보를 가지고 있다가 더 이상 사용이 되지 않으면 자동으로 메모리를 제거하도록 되어있다. 따라서 언리얼 관련 포인터를 사용하는 경우에는 UPROPERTY를 붙여서 관리가 되도록 해줘야 한다.
언리얼 클래스 조건
C++ 클래스가 언리얼 오브젝트 클래스가 되기 위해서는 다음의 조건이 만족해야 한다.
- UCLASS 매크로를 클래스 선언 위에 적용해야 한다.
- 클래스 이름의 접두사를 법칙에 맞게 적용해야 한다.
- generated.h 헤더 파일을 포함하도록 해야 한다.
- 외부 모듈 공개 여부를 표시해 줘야 한다.
오브젝트 생성
기본적으로 생성자에서 오브젝트를 생성할 수 있고 CreateDefaultSubObject함수를 통해 생성이 가능하다.
※ 코드 변경 후 적용은 C++을 빌드해서 핫 리로드를 할 수도 있고 Live Coding을 활성화해 Ctrl+Alt+F11로 적용할 수도 있다.
객체 유형과 값 유형
언리얼은 다음의 값 유형이 제공되고 이에 UPROPERTY 매크로를 설정하면 기본 값이 적용되게 된다.
- uint8
- int32
- float
- FString, FName
- FVector, FRotator, FTransform
애셋의 지정
애셋을 생성하는 단계에서 지정하는 방법은 ConstructorHelpers::FObjectFinder를 통해 할 수 있다.
여기에서 사용되는 경로는 오브젝트의 우클릭에서 레퍼런스 복사를 누르거나 단순히 오브젝트를 누른 상태에서 Ctrl+C를 해도 된다.