랙돌 적용
몬스터가 죽을 때 랙돌 기능을 적용하여 타격감을 살리고자 한다.
랙돌 적용 자체는 아주 간단했다.
적용하고 싶은 시점에 아래 코드를 호출하면 된다.
GetMesh()->SetCollisionProfileName(TEXT("Ragdoll"));
GetMesh()->SetSimulatePhysics(true)
콜리전 프로필을 언리얼에서 제공하는 Ragdoll 프로필로 변경 후
피직스를 켜주면 바로 흐느적거린다.
단, 아래와 같은 조건이 적용되어 있어야 동작을 할 것이다.
스켈레탈 메시에 피직스 애셋이 적용되어 있어야 한다.
피직스 애셋의 PhysicsType이 Kinematic이 아니어야 한다.
잘 적용되어있다면 피직스 애셋에서 시뮬레이트를 눌러 잘 흐느적거리는지 확인해보자.

랙돌 적용 시 바닥 뚫음 현상
나는 죽는 시점에 랙돌을 켜줬다.
그런데 랙돌을 켜니 자꾸 바닥을 뚫고 떨어지는 문제가 생겼다...
검색해봐도 나같은 문제가 발생하는 사람이 없었는데.. 당연했다.
죽을 때 부모 클래스에서 액터의 콜라이더를 끄는 코드가 있었는데, 복붙을 하다보니 뒤늦게야 발견했다.
아래는 문제의 코드.
SetActorEnableCollision(false);
충돌 비활성화를 한 상태에서 SetSimulatePhysics 을 실행함으로 인해
중력의 영향으로 바닥을 뚫고 떨어지는 문제가 생긴 것이였다.
액터 전체의 콜리전을 꺼버리면 메시 콜리전이 꺼지므로 랙돌을 적용할 수 없다.
캡슐만 꺼주기로 하자...
GetCapsuleComponent()->SetCollisionEnabled(ECollisionEnabled::NoCollision);
바보같은 실수이지만 가끔 이런 일이 생기곤 한다..
혹시나 같은 문제로 고민 중이라면 검색을 통해 도움이 될까 하여 올려본다.
'GameDevelop > UnrealEngine' 카테고리의 다른 글
| UnrealEngine 5.4 - 마우스로 뷰포트를 클릭해야 키 입력 이벤트가 발생 / 뷰포트 포커스 / 키 입력 이벤트 발생 안함 (0) | 2026.03.08 |
|---|---|
| 언리얼엔진의 애셋매니저(AssetManager) (0) | 2026.03.04 |
| UBT (Unreal Build Tool) (0) | 2026.01.15 |
| UHT (Unreal Header Tool) (0) | 2026.01.15 |
| TArray, TMap (1) | 2026.01.10 |