UPrimitiveComponent는 Unreal Engine에서 사용되는 주요 컴포넌트 중 하나로, 모든 "기본적인" 렌더링 가능 컴포넌트의 기본 클래스로, 시각적 요소를 게임 세계에서 표현하는 데 사용된다.
UPrimitiveComponent는 게임 세계에서 시각적으로 표현되는 모든 객체의 기반이다. 이는 메시(meshes), 라이트(lights), 파티클 시스템(particle systems) 등을 포함한다.콜리전 상태가 BlockAll인 액터가 있다.
해당 액터를 그대로 플레이어의 소켓에 부착하면, 플레이어의 콜리전과 액터의 콜리전 충돌로 인해 플레이어의 움직임 속도와 방향이 비정상적으로 변한다.
이를 방지하기 위해, 액터를 플레이어의 소켓에 부착할 때 해당 액터의 콜리전 상태를 OverlapAll로 전환하고 싶다.
// 액터의 UPrimitiveComponent를 가져온다.
UPrimitiveComponent* ActorCollision = Cast<UPrimitiveComponent>(AttachedActors[0]->GetComponentByClass(UPrimitiveComponent::StaticClass()));
// 액터의 콜리전 상태를 OverlapAll 전환한다.
ActorCollision->SetCollisionProfileName(TEXT("OverlapAll"));