언리얼 엔진 리플렉션 시스템(Unreal Engine Reflection System) 은 엔진 및 에디터 함수 기능을 제공하는 다양한 매크로로 클래스를 캡슐화합니다. 언리얼 엔진(UE) 으로 프로그래밍할 때 표준 C++ 클래스, 함수, 변수를 보유할 수 있습니다.
-
언리얼에서 오브젝트의 베이스 클래스는 UObject입니다. 각 클래스는 새 액터 또는 오브젝트에 대한 템플릿을 정의합니다.
-
UObject
에서 파생된 태그 클래스에UCLASS
매크로를 사용하여 UObject 처리 시스템이 클래스를 인식하게 할 수 있습니다. -
TSubclassOf는
UClass
타입 안전성을 제공하는 템플릿 클래스입니다. 특정 타입에서 파생되는 클래스를 할당할 때 유용합니다. 예를 들어, 블루프린트에 이 변수를 노출하여 플레이어 캐릭터용으로 스폰되는 무기 클래스를 디자이너가 할당할 수도 있습니다. -
클래스에는 구조체가 포함될 수 있습니다. 구조체란 관련된 멤버 프로퍼티의 정리 및 조작을 도와주는 데이터 구조입니다. 구조체는
USTRUCT()
매크로를 사용하여 자체적으로 정의될 수 있습니다. -
언리얼 스마트 포인터 라이브러리는 메모리 할당 및 트래킹의 부담을 완화하기 위해 설계된 C++ 11 스마트 포인터의 커스텀 구현입니다. 이 구현에는 산업 표준 쉐어드 포인터, 위크 포인터, 고유 포인터 및 null을 허용하지 않는 쉐어드 포인터 같은 역할을 하는 쉐어드 레퍼런스가 포함되어 있습니다.
-
인터페이스는 다수의 클래스나 서로 다른 클래스에서 구현할 수 있는 추가적인 게임플레이 비헤이비어와 함수를 제공합니다. 플레이어 캐릭터는 월드 내 다양한 액터와 상호작용할 수 있습니다. 각 상호작용은 한 이벤트에 대해 서로 다른 반응을 유발할 수 있습니다.
-
메타데이터 지정자는 클래스, 인터페이스, 구조체, 열거형, 함수 또는 프로퍼티가 엔진 및 에디터의 다양한 측면과 상호작용하는 방식을 제어합니다. 각 데이터 구조 또는 멤버 타입에는 자체적인 메타데이터 지정자 목록이 있습니다.
-
UFUNCTION 및 UPROPERTY 매크로는 UE가 새 클래스, 함수, 변수를 인식하게 합니다. 이러한 매크로는 엔진이 수집하는 가비지입니다. 매크로를 지정할 때 언리얼 에디터 내에서 편집하고 표시할 수 있습니다.