WN_인생기록

[UE_5] 5.4버전 리타게팅 및 모션 매칭 본문

언리얼 개발/탐구(기능)

[UE_5] 5.4버전 리타게팅 및 모션 매칭

WhNi 2024. 5. 2. 16:55

새로운 버전에 리타겟팅이 엄청 간편해졌다는 얘기를 듣고 바로 테스트 해보았다. 

 

테스트할 애니메이션은 많지 않으므로, Lyra에 있는 애니메이션을 가져왔다. 

 

먼저, 준비할 것들이 있다. 

 

 

 

간단한 플러그인 들인데, Pose Search 는 Motion Matching을 사용하는데 필요한 API 이고, 애님 블루프린트에서 모션 매칭 기능을 사용할 노드(기능)을 생성해준다.

 

또한 Trajectroy는Motion Histroy를 통해 모션을 예측하는데 필요한 플러그인이다. 

 

이 두개를 설치하고, Lyra에 있는 애니메이션을 가져온다. Idle과 Jog 정도만 가져와도 테스트할 애니메이션은 생성이 가능하다. 또한 ALS같은 프로젝트 에서도 가져와도 사용 가능하다. 

데이터 베이스를  중심으로 모션이 연결되는것이니 일관성 있는 모션을 가져오는게 부드러운 애니메이션을 만드는데 유리하다. 

 

애니메이션 리타겟

 

먼저 애니메이션을 리타겟  해주는데,원하는 애니메이션에 적용할 타겟 메시만 정해주면 된다.

 

 

원래는 T pose 였던 Mixamo 타겟이 현재는 자동으로 포즈가 잡혀있다. 이전 버전에서는 일일이 본의 위치를 잡아주느라 오래걸렸고, 잡아도 해당하는 본과 관절들이 빗나가면 뒤틀렸는데 그런게 훨씬 줄었다고 볼 수 있다. 진짜 어마어마한 기능이다. 엄청난 시간 단축이 되는 워크플로우다. 리타겟 에셋을 뽑고, 이후에는

원하는 애니메이션을 뽑아주면 된다. 

 

그럼 원하는 에셋에 애니메이션이 적용이 가능하다. 

 

 

 

 

 

모션 매칭 PSS,PSD 생성

 

이렇게 리타겟이 되었으면 이제 모션 매칭을 할 차례이다. 

 

먼저 Pose Search Schema 를 생성한다. 

 

 

이렇게 설정해주고, 한가지 미리 해야하는게 있는데, 애니메이션 시퀀스들이 전부 Root Motion인 상태이어야 한다. 

이 Edit Selection in Property Matrix 라는 기능으로 한번에 변경할 수 있다. 

 

저기 있는 빨간 부분들을 체크해줘야 한다. 

 

이후에 PSD를 생성하고,

PSD로 들어가서 이제 애니메이션들을 데이터베이스에 넣으면 된다. 

 

 

이런식으로 데이터베이스에 추가하면, 

 

모션들이 전부 저장되어있게 된다. 

 

이제 해당하는 캐릭터의 블루프린트에 들어가서, 캐릭터의 방향을 예측하기 위한, CharacterTrajectory Component를 추가한다.

이후, ABP를 제작하고,

 

이벤트 그래프에서 블루프린트를 이렇게 설정해준다.

 

마지막으로, 이 모션 매칭된 것들을 ABP의 애님 그래프에 전부 연결해주면 된다. 

 

Pose Search 에서 모션 매칭이라는 기능에  PSD를 넣고, 이어지는 Pose History를 생성한다. 

오른쪽 클릭으로, Trajectroy를 binding 할 수 있는데, 위에서 Character Trajectroy를 만들었던 변수를 넣어주면 된다. 

 

 

 

Locomotion 까지 데이터베이스에 있기 때문에,orient Rotation to Movement 를 꺼도  애니메이션이 부드럽게 연결된다. 

 

Retarget의 경우 진짜 시간 너무 잡아먹는 워크플로우긴 했다. 이 기능을 토대로 남는 시간에 좀 더 다양한 부분들을 파봐야겠다.

 

'언리얼 개발 > 탐구(기능)' 카테고리의 다른 글

[UE_5] GameMode  (0) 2024.06.12
[UE_5] 2D Auto Exposure 문제  (0) 2024.05.28
[UE_5] Top Down Click 이동 구현  (0) 2024.05.21
Animation Generator  (0) 2024.03.21