게임엔진/Unreal

[Unreal] RootComponent 루트 컴포넌트

ShovelingLife 2022. 7. 17. 18:44

루트 컴포넌트는 충돌 인식과 월드 스페이스에서 오브젝트의 위치를 결정하고 항상 충돌을 탐지하는 컴포넌트(메쉬(Skeletal, Static) , 충돌체)여야 한다.

 

메쉬 컴포넌트를 설정했을 시 Mobility라는 항목이 추가된걸 확인해 볼 수가 있다, 이는 크게 3개로 나뉜다. 추가적으로 Set Simulate Physics를 할 시 무조건 Movable이여야 한다.

  • Static > 맵에서 움직이진 않고 라이트닝 또한 인게임 중 위치를 바꿀 수가 없다. 
  • Stationary > 맵에서 움직이진 않지만 라이트닝 위치를 인게임에서 바꿀 수가 있다.
  • Movable > 맵과 라이트닝 동일하게 움직일 수가 있다.

참고 : https://docs.unrealengine.com/4.26/en-US/BuildingWorlds/LightingAndShadows/LightMobility/DynamicLights/

 

 

오디오 컴포넌트로 했을 시 Mobility 항목이 없는걸 확인할 수가 있다.

 

루트 컴포넌트를 C++로 설정하는 방법은 아래와 같다.

RootComponent = 대상 컴포넌트;
또는
this->SetRootComponent(대상 컴포넌트);

Mobility 또한 변경할 수가 있다.

대상 컴포넌트->SetMobility(EComponentMobility::Type);
여기서 
EComponentMobility::Static;
EComponentMobility::Stationary;
EComponentMobility::Movable;