UE5
[UE5] 가고일 물리반응 끄기, trigger에 붙여서 같이 내려가도록 구현
Mini_96
2023. 9. 18. 00:55
1. 전체코드
void UTriggerComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
AActor* Actor = GetAcceptableActor();
if (Actor != nullptr) {
//1. 액터의부모받아옴 / 타입 : 씬컴포넌트
//2. 캐스팅<타입>(대상) => primitive이면 그거리턴, 아니면 null 리턴
UPrimitiveComponent* Component=
Cast<UPrimitiveComponent>(Actor->GetRootComponent());
//액터가 프리미티브 타입이면, 물리엔진끄기 => 조각상이 문안에 가만히 있도록
if (Component != nullptr) {
Component->SetSimulatePhysics(false);
}
//트리거(this) 컴포넌트에 부착 => 같이내려가도록
Actor->AttachToComponent(this, FAttachmentTransformRules::KeepWorldTransform);
Mover->SetShouldMove(true);
}
else {
Mover->SetShouldMove(false);
}
}
2. 의문점 : 컴포넌트가 primitive인지 왜 검사를 해줘야하나??