언리얼에서 파쿠르를 만드려고 하는데 아무리 해도 몽타주에서 Root Motion이 적용되지 않았다.
아래는 시도한 방법들이다.
1. 시퀀스에서 Root Motion 체크 확인
시퀀스의 Root Motion, Force root lock을 체크되어있는지 확인한다.
Animation 창에서 Character - Animation - (Ignore)에서 Loop로
이렇게 하면 root motion 체크된 상태에서 실제로 움직이는지 확인할 수 있다.
2. Animation BP
애니메이션 BP에서 Root Motion을 사용하도록 설정했는지 확인한다.
Animation BP -> Anim Preview Edit -> Root motion
Root Motion From Everything 혹은 Root Motion from Montages Only로 설정한다.
3. Retargeting
나와는 상관없는 방법이지만, 리타겟팅 후에 루트모션이 적용 안될 수도 있다.
아래 링크를 통해 시도해보면 좋을 것 같다.
https://www.youtube.com/watch?v=_m4Qc5rGWNw
4. Not using custom mesh
여러 방법들을 사용하다, 캐릭터에서 커스텀 메쉬를 생성해서 쓰고 있는 것을 발견했다.
아래 사진 처럼 C++로 직접 USkeletalMeshComponent를 만들고 AnimInstance를 가져와 썼었다.
이에 대해 검색해보니, 커스터 메쉬는 Root motion이 적용이 안되는 문제가 생긴다고 한다.
CharacterMovement는 오직 ACharacter에서 상속받은 Mesh에만 적용되어서 Root Motion 또한 새로 만든 메쉬에는 적용되지 않았다.
그래서 결국 기본 메쉬를 사용하는 것으로 문제를 해결했다.
https://forums.unrealengine.com/t/custom-skeletal-mesh-root-motion-animation-not-working/1672626/2
https://forums.unrealengine.com/t/root-motion-works-fine-in-preview-but-not-in-game/102812/7
'게임개발 > Unreal Engine' 카테고리의 다른 글
[UE5] Unreal Engine C++ API References (0) | 2024.08.20 |
---|---|
[Unreal Engine 5] Package Error 정복하기(malformed tag, unknown structure, modify UObject) (1) | 2023.12.08 |