[Unreal] 이득우 Part 1. 6강 언리얼 오브젝트 리플렉션 시스템 II

Kim Dongil·2024년 3월 16일
0

언리얼엔진

목록 보기
10/18

리플렉션 함수 및 주의사항

  • generated.h 파일을 가장 밑에 include 하는 것이 원칙

  • cpp 파일 include 순서도 해당 언리얼 오브젝트에 선언된 헤더가 가장 위쪽에 위치

  • 클래스명::StaticClass()

  • 객체->GetClass()

  • GetValue_InContainer (void const InContainer, void OutValue)

    • 해당 Property로부터 입력된 객체가 가지고 있는 해당 값을 가져옴
  • SetValue_InContainer(void OutContainer, const void InValue)

    • 해당 Property로부터 해당 객체에 값을 입력함
  • FindPropertyByName

    • 해당 클래스의 UClass로부터 FProperty를 찾고 없으면 nullptr 반환
  • FindFunctionByName

    • 해당 클래스의 UClass로부터 UFunction을 찾고 없으면 nullptr 반환
  • ProcessEvent

    • 객체로부터 UFunction을 입력해 함수를 호출

정리

  • 리플렉션 시스템을 사용해 언리얼 오브젝트의 특정 속성과 함수를 이름으로 검색할 수 있다.
  • 리플렉션 시스템을 사용해 접근 지시자와 무관하게 값을 설정할 수 있다.
  • 리플렉션 시스템을 사용해 언리얼 오브젝트의 함수를 호출할 수 있다.

언리얼 엔진의 기본 프레임웍은 리플렉션을 활용해 구축되어 있으므로 언리얼 엔진을 이해하기 위해서는 리플렉션 시스템을 이해하는 것이 필요하다.

다만 이러한 기능들은 C++ 코드를 작성할 때 사용하기 보다는 블루프린트 API같은 기능들이 만들어질 때 사용되는듯 하다.

0개의 댓글