🎮Unreal4/C++_TPS

[UE4] 1인칭 모드(FPS) - 애니메이션 리타겟팅, Hand IK 회전(Copy Target Rotation)

공대 컴린이 2023. 3. 17. 18:20
728x90

🦾 애니메이션 리타겟팅

3인칭 애니메이션인 Sprint1인칭 Arms의 Mesh에서도 실행시키고 싶다애니메이션 리타겟팅을 진행해야 한다.

 

먼저 사용하려는 애니메이션의 애님 애셋 리타깃->애님 에셋 복제후 리타깃을 선택한다.

 

이후 호환 스켈레톤만 표시를 누르면 모든 스켈레탈 메시가 리스트에 뜬다.

그럼 리타겟팅 하려는 Arms Mesh를 선택한 후 리타깃을 누르면 Arms 메시로 애니메이션이 수행된다.

 

 

이후 생성된 애니메이션을 보면 Arms 메시로 애니메이션이 수행되는 것을 볼 수 있는데, 이때 오른쪽 손목 부분의 메시가 이상하게 겹쳐져서 비정상적인 모습으로 출력되는것을 볼 수 있다.

어떤 메시는 그냥 리타겟팅만 해도 정상적으로 출력되고, 어떤 메시는 이렇게 잘못 출력될수도 있다.

 

이런 경우에는 스켈레톤 트리의 옵션리타기팅 옵션 표시를 눌러 원본 애니메이션과 리타겟팅한 애니메이션의 설정을 비교하여 원본과 같게 만들어주어야 한다.

 

원본 애니메이션을 보면 Root와 실제 Root에  해당하는 Pelvis 본은 Animation으로 설정되어 World Transform을 사용한다.그 아래로는 전부 Skeleton으로 설정된 모습을 볼 수 있다.

 

반면 리타겟팅된 Arms의 애니메이션은 전부 Animation으로만 구성되어 있어 Skeleton으로 변경할 본들을 전체 선택한 후 마우스 오른쪽 클릭으로 "트랜슬레이션 리타기팅 스켈레톤 재귀적으로 설정"을 선택한다.

 

선택된 본들이 전부 Skeleton으로 바뀌면서 겹쳐져있던 오른쪽 손목이 정상적인 Mesh의 형태로 돌아온것을 확인할 수 있다.

 

이런식으로 사용하고자 하는 Mesh에 원하는 애니메이션이 없다면 다른 애니메이션을 리타겟팅하여 사용할 수 있다.

🦾 Hand IK 회전

AK47 소총에 Hand IK를 적용하면서 손의 위치는 총에 딱 맞게 됐지만 손의 회전이 알맞게 적용되지 않았다.

 

IK(FABRIK)의  Effector Rotation Source 항목을 Copy Target Rotation으로 설정하고 나서야 소총을 잡는 손의 회전이 알맞게 맞춰졌다.

 

이후 왼손의 IK가 완벽하게 구현된 결과를 볼 수 있었다.

728x90