Unreal Engine

0. UE4 시작

Awesome Red Tomato 2023. 7. 6. 17:43

언리얼은 기본적으로 상속된 클래스들을 다룬다.

 

Unreal 계층 구조

 

 

리플렉션(Reflection)

리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능이다. C++에는 리플렉션을 지원하지 않아 언리얼에서 자체적으로 C++클래스, 구조체, 함수, 변수 등 관련 정보를 수집, 질의, 조작하는 별도의 시스템이 구축되어 있다. 이러한 리플렉션은 '프로퍼티 시스템'이라고 부른다.

  • UENUM()
  • UCLASS() 
  • USTRUCT()
  • UFUNCTION()
  • UPROPERTY()
  • UInterface()

https://www.unrealengine.com/ko/blog/unreal-property-system-reflection

 

언리얼 프로퍼티 시스템 (리플렉션)

리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능입니다. 이는 엄청나게 유용한 데다 언리얼 엔진 테크놀로지의 근간을 이루는 것으로, 에디터의 디테일 패널, 시리얼라

www.unrealengine.com

 

 

가비지 콜렉션(Garbage Collection)

언리얼이 참조(reference)가 더 이상 존재하지 않는 미사용 되는 오브젝트들을 주기적으로 메모리에서 제거해주는, 상당히 중요한 기능이다. 언리얼은 가비지 콜렉션을 수행하기 위해 리플렉션 시스템을 사용하는데, 엔진이 객체와 속성들을 알고 있고, 그러기에 사용되지(참조되지) 않는 객체들을 구분할 수 있다. 

 

구체적으로 엔진은 참조 그래프(Reference Graph)를 만들어 오브젝트 사용 여부를 구분한다. 이 그래프 루트에는 "Root Set"로 지정된 오브젝트 세트가 존재하며, Root Set에 포함된 오브젝트는 Garbage Collection 대상에서 제외된다. 

 

가비지 콜렉션이 실행되면 엔진은 Root Set부터 알려진 UObject 레퍼런스 트리를 검색해 참조된 모든 오브젝트를 전부 추적하고, 트리에서 추적되지 않은 오브젝트들을 필요 없다고 판단해 제거할 수 있게된다.

 

 

'Unreal Engine' 카테고리의 다른 글

외곽선 하이라이트  (0) 2023.07.13
총 쏘기  (0) 2023.07.06
카메라 회전(+ 캐릭터 이동 수정)  (0) 2023.07.06
캐릭터 이동  (0) 2023.07.06
카메라 세팅  (0) 2023.07.06