[UE4] Animation retargeting 후 일부 Skeletal Mesh의 뒤틀림 처리

박지인·2021년 4월 30일
0

Unreal Engine 4

목록 보기
3/3

공부하면서 쓴 내용이라 틀린 내용들이 정말 많습니다.... 더 좋은 방법이 있다면 댓글 남겨주심 감사하겠습니다!


Animation retargeting

Mixamo에서 animation을 다운받아 적용했는데, Animation의 허리 부분이 중심으로 고정된 상태로 애니메이션이 재생되는 것을 확인할 수 있었다. 이것 저것 확인해본 결과, Mixamo의 Skeleton bone과 UE4의 Skeleton bone의 구조가 달라서 발생하는 문제로 보였다. 그래서 검색 결과 유사한 bone 구조를 가진 Skeletal mesh에 동일한 애니메이션을 적용하는 기술인 애니메이션 리타기팅(Animation Retargeting)을 발견했고, 해당 기술을 통해서 원래의 애니메이션을 거의 그대로 나의 캐릭터에 적용할 수 있었다.

문제 발생

그런데 문제가 발생했다. 원래 이렇게 생겼던 나의 캐릭터가 Retargeting한 애니메이션을 적용하고 나니 눈썹이 시시각각 돌아간다.

BeforeAfter

어라 왜 이러지, 하고 Mixamo의 Bone 구조과 내 캐릭터의 Bone 구조를 비교했다.

MixamoUE4

Head 아래의 Bone 구조가 다르다. 정확하지는 않지만, 아마 눈썹을 이루는 Bone에 잘못된 애니메이션이 적용된 듯 하다. 이 상황을 해결하기 위해 난 두 가지 방법을 떠올렸다.

  1. 원본 애니메이션을 수정해서 해당 부위에 적용되는 애니메이션을 지운다.
  2. 원본 애니메이션에서 저 부분의 애니메이션이 적용되지 않도록 Retargeting을 조절한다.
  3. 저 애니메이션이 적용될 eyebrows bone을 삭제한다.

첫 번째 방법은 내가 Blender 등의 그래픽 툴을 다룰 수 없기에 일단 패스했다. 언젠가 배워보고는 싶지만, 지금은 군대가기 전 2주만에 게임을 하나 만들어야 하는 상황이라 시간이 없다.

두 번째 방법은 Head 아래의 Retargeting을 조절할 수 있는 방법을 난 찾아내지 못했다. Head 아래의 계층 구조는 매핑할 수 있는 옵션이 뜨지 않았다.

결국 마지막 방법이 가장 빠르고 확실하게 지금 상황을 해결해줄 방법같다. 물론 이런 해결방법은 추후 해당 부위에 애니메이션을 적용할 수 없기에 정말로 임시방편이다. 하지만 지금 나의 경우 해당 부위에 애니메이션을 적용할 일이 없기 때문에, 세번째 방법을 사용했다.

성공! 임시방편이지만 일단 내가 만들고 있는 정도의 초간단한 게임에선 충분한 조치이다.

0개의 댓글