본문 바로가기
Engine/UNREAL

어셋스토어에서 구매한 모션을 언리얼로 옮기고 싶을때 해결 방법(리타겟 매니저 가이드)

by tartist 2015. 12. 11.

유니티로 구매한 캐릭터들을 언리얼로 이식하는데 성공했습니다.

이식하면서 여러 문제가 발생했는데, 그 문제들을 필두로 리타겟 매니저를 활용하여 다양한 몬스터들의 모션을 한 가지 스켈레톤으로 공유 할 수 있는 방법을 알게 되었습니다. 그 부분에 대해서 자세히 기술하도록 하겠습니다.

리타겟 매니저의 가장 큰 장점은 본의 스케일이 달라도 애니메이션을 공유할수 있다는 점입니다.

 

- 원래 본 스케일이 다를때 모션을 공유하면 아래같이 스킨이 깨지고 늘어나는 현상이 일어납니다.

 

- 하지만, 리타겟 매니저를 사용하면 아래 그림처럼 다른 캐릭터의 스케일과 본 사이즈에 맞춰 자동 조절하여 정상적으로 출력됩니다.(맥스의 바이패드와 같은 기능)

이 부분은 아래 3번에서 자세히 다루도록 하고 순서대로 이슈 정리하겠습니다.

 

 

1. 유니티 구매 캐릭터를 언리얼로 옮기면서 생긴 첫 번째 문제.

- 본 축이 다르다! 리타겟 매니저를 활용해도 축이 다른 문제는 해결이 안됩니다.

그래서 이 부분은 맥스에서 수동으로 축을 재설정하는 작업을 진행했습니다. 실제로 이 작업이 가장 많은 시간이 걸렸

습니다. 자동화로 하려 했으나 스크립트 만드는데만 하루가 더 소요될거 같아 그냥 수동으로 잡았습니다..;;

현재는 스크립트 제작이 완료된 상태입니다.

 

이 작업의 공정

(1) 원본 메시의 스킨값을 저장하고 스킨을 없앤다. 혹은 에디터블 폴리로 통합한다.

(2) 그리고 언리얼과 축이 다른 본들을 언리얼 축과 맞춰 Affect Pivot Only로 축을 조절한다.

(3) 본들의 축을 수정후에 다시 스킨을 주고, 저장했던 스킨값들을 불러온다.

 

- 어셋 스토어 캐릭터들의 팔 축 (X축이 앞뒤, Y축이 좌우)
 

- 언리얼 캐릭터들의 팔 축 (X축이 좌우, Y축이 앞뒤)

 

 

2.  최초로 제작된 유니티 구매 캐릭터들을 언리얼로 불러오면서 기존 제작된 애니메이션을 리타겟하여 맞춘다.

- 스켈레톤을 공유하지 않고 새로 생성된 스켈레톤에 맞춰 애니메이션을 복사해서 새로 붙러온다.

 
(1) 복사할 모션을 전체 선택후 애님애셋리타겟


 

(2) 호환스켈레톤 표시를 체크 해제후 새로 불러온 스켈레톤에 맞춰 애니를 복사해서 넣어줍니다.

이 과정을 마치면 최초 생성된 유니티 캐릭터에게 새로운 애니메이션이 정상적으로 입혀집니다.

 

 

3. 복사된 애니메이션을 리타겟 매니저를 사용하여 다양한 체형의 유니티 캐릭터에게 공통 적용한다.

(1) Show retargeting Options를 체크한다. - 체크해야 리타겟 매니저를 쓸수 있는 옵션이 활성화 된다.

 

 

(2) root를 '스켈레톤의 트랜슬레이션 리타게팅 재귀적설정'으로 변환한다.

-root 아래 본들의 트랜지션을 각 본마다 공유하도록 하는 기능이다.


 

 

(3) 펠비스를 '스케일 적용 애니메이션의 트랜슬레이션 리타게팅 재귀적 설정'으로 변환한다.

- 펠비스 아래 본들이 스케일에 따라 애니메이션이 자동 보정되도록하는 기능이다.

 

 

(4) 창 -> 리타겟 매니저 로 들어와서 스켈레톤을 공유할 모델과 Humanoid에 공유할 본을 지정해 준다.

- 언리얼에서 지정한 본 위치에 불러온 본을 적용해 주는 기능이다.

 

이 과정을 마치고 각 모델들을 불러올때 최초 생성된 스켈레톤을 공유하도록 설정해서 임포트하면 아래 처럼 각 모델들이 서로 다른 체형임에도 같은 애니메이션을 문제없이 공유할 수 있게 된다.

 

 

 

 

앞으로는 다양한 체형의 좀비를 제작해서 다양한 모션을 함께 공유해서 사용하는것이 간편해 질거 같습니다.