Unreal Engine/게임클래스 - 언리얼엔진 기초

[16강] Animation Retargeting - 2

whereareyoung 2023. 8. 18. 15:43

이전에 했던 작업 정리

1) Ybot fbx 다운로드 후 Blender 플러그인을 통해서 언리얼 구조에 맞게 변환 

2) 키 포즈 맞추기 : 언리얼 마네킹 기본포즈 변경, Ybot 인간형 릭 셋업, Ybot 애니메이션 프리뷰 씬 셋업 > 어셋에 적용 

3) Ybot 캐릭터를 기반으로 한 애니메이션을 다운로드 해 오고, 애님 어셋 리타게팅 > 복제 후 리타겟팅

   *** 저번 시간에 손가락 설정 ("Ignore Leaf Bones") 까먹었기 때문에 수정해서 다시 임포트 해야 함 

 

이번 시간에는 필요한 애니메이션을 몇가지 더 가져올 예정이다. 

그러면서 방향이 있는 애니메이션을 가져올 때 어떤식으로 작업하면 좋은지에 대해 배울 예정이다. 

 

1. Mixamo > 캐릭터 ybot 선택 > "Sword and Shield walk", "Sword and Shield run" 다운로드 및 리네임 

   - 총 9개 다운로드 (걷기 Frontal, Back, Right, Left / 뛰기  Frontal, Back, Right, Left / Idel )

   - 다운로드시 without skin 옵션 선택 

* 실습을 위한 장치 설정 

상단에 보이는 "In Place" 토글을 활성화 한 후 다운로드 하면 방향설정 관련 문제가 없는데, 

현재는 방향이 있는 애니메이션의 경우 언리얼에서 어떻게 처리하여야 하는지에 대해 익히기 위해 비활성화 한 상태에서 다운로드 한다.

 

4. Blender 에서 다음과 같이 설정한 후 컨버트 한다. 

5. Unreal > Mixamo 에서 9개 파일을 임포트 한다. 

   - import mesh 토글 비활성화 

   - Convert Scene Unit 토글 체크  

 

 

<애니메이션 임포트 진행 중 발생한 오류> 

강의에서는 나오지 않은 문제인데, 나의 경우 임포트 된 파일들에 발떨림 문제가 있었다. 

서칭 후 언리얼 상에서 간단한 임포트 옵션을 건드리는 방식으로 해결할 수 있다는 글을 보고 

출처 : https://blog.naver.com/samba_world/220731297904 

 

언리얼에서 발 떨림 옵션 설정

언리얼4로 mmo개발중인 애니메이터입니다. 맥스에서는 발 떨림이 없었다 언리얼로 임포트하면 생기던 발떨...

blog.naver.com

위 글을 참고해서 "Preserve Local Transform" 토글을 활성화도 해보고 

원본 애니메이션 파일 포멧을 변경하거나, 언리얼에서 애니메이션 블루프린트 생성 후 루프를 해보거나 

여러가지를 시도해 보아도 정도의 차이만 있을 뿐 근본적인 jittering 문제가 해결되지 않아

"게임클래스" 사이트에 문의를 보내두었다. 

(이후 2주뒤까지 답변이 오지 않아 결국 스스로 해결해야 했는데 이와 관련해서는 다음 글에서 진행하도록 하겠다.)

 

 

방향설정 문제가 있는 애니메이션 파일 처리 

"Sword and Shield walk_F" 파일에는 방향 설정 관련 문제가 있는데, 이러한 문제를 해결하기 위해서는 다음과 같은 과정을 진행해야 한다. 

 

Mixamo 에서 원본 애니메이션 파일을 다운로드 할때, "In Place" 토글을 활성화 한 후 다운로드 하면 방향설정 관련 문제가 없는데, 이 토글을 끈 상태로 받았거나 방향이 있는 파일 문제의 경우 Root Motion 의 "Enabled Root Motion" 을 활성화하는 방법으로 해결할 수 있다.

 

또한 강사님이 진행하신 애니메이션 컨버트 방법(Blender 로 변환) 을 시도했을 경우 대부분의 파일들이 Root bone 이 생기기 때문에 보편적으로는 문제가 없지만 root bone 이 애초에 없는 모델들의 경우에는 디자이너가 관여 되어야 한다고 한다.

(마야나 맥스로 들어가서 손봐야 하기 때문이겠지.. )

 

나는 파일 정리를 깔끔하게 하고 싶어서 이 방법을 진행 한 후 깨끗한 InPlace 파일로 다시 다운받아 컨버트 해 넣어두었다. 

 

다음과 같이 애니메이션을 임포트 하고, Mixamo 폴더에 정리해 두었다. 

불러온 파일들을 애님 에셋 복제 후 리타깃 해 우리가 사용할 마네킹에 넣는다. 

경로 설정까지 마치고 잘 임포트 된 것을 확인한다. 

 

이제 이것을 활용하여 방향과 속도를 포함한 BlendSpaces를 만들 예정이다. 

이전에 작업해 두었던 것은 속도만 변수로 활용했기 때문에 블렌드 스페이스 1D로 생성하였으나, 이번에는 변수 2개를 사용할 예정이므로 블랜드 스페이스로 제작하여 준다. 

우리가 작업중인 파일인 "Skel_Mannequin" 으로 "BS_Sword"생성 

 

생성된 파일을 확인해 보면 블렌드 스페이스 1D와 달리 변수가 2개 활용 가능하게 들어있는 것을 확인 할 수 있다. 

 

언리얼 방향 (당연하다.) 설정이 이러하기 때문에 다음과 같이 설정하여 준다. 

   - 정면 : 0, 좌측 : -90 

   - 후방 : 180 or -180, 우측 : 90 

 

아까 만들어 두었던 애니메이션들이 우측에 나타나는데 확인해준다. 

 

이제 이 그래프에 블랜드 스페이스를 설정할건데, 다음과 같이 설정한다. 

초록 다이아몬드를 움직여가며 속도에 따른 애니메이션을 미리 확인할 수 있다. 

칼을 빼고 난 다음에는 이 블렌드 스페이스를 쓸 것이다. 

 

그리고 칼을 넣고 빼는 애니메이션을 Mixamo 에서 컨버트해 임포트 한다. 

다운로드 한 목록 : 

1) 칼을 빼기 위해 손이 가는 동작 

- draw sword 1

- draw sword2

 

2) 칼을 검집에 넣는 동작 

- sheath sword 1(속도가 느려서 Overdrive 90으로 설정)

- sheath sword 2

 

다음시간에는 조건절을 활용해 기본 애니메이션 사용에서 무기 적용 애니메이션으로 전환하는 방법 진행을 할 예정이다!  

Player > ABP_Player 에서 애니메이션을 만져서 ㅎㅎ.. 

 

중간에 오류가 있었는데 정상적으로 작업을 진행할 수 있어서 다행이다.