유니티 Final IK 사용방법 #기초편

이번 포스팅에서는 저번에 산 Final IK 사용방법에 대해 알아보고자 합니다.

 

Final IK에 대해서는 이전 포스팅을 참고해 주세요!

 

유니티 애니메이션 제작할 때 없어선 안 될 Final Ik 소개 및 사용법에 대해

Final IK란? Final IK는 Unity 엔진에서 사용할 수 있는 가장 완벽한 역운동학(Inverse Kinematics) 솔루션으로 널리 인정받고 있는 에셋입니다. 복잡한 IK 설정을 자동화해 주어 개발 속도를 매우 향상시켜

wlsdn629.tistory.com

 

Final IK를 이용하여 활하는 방법은 많지만 이번 포스팅에서는 간단한 Interaction 사용방법에 대해서만 알아보고자 합니다.

 


Final IK - Interaction 

Final IK를 이용해서 Interaction System 테스트를 하기 위해선 '딱 2가지 세팅'만 하시면 어느 정도 간단한 테스트를 할 수 있습니다.

 

Interaction System / Interactoin Object

 

Animator 컴포넌트를 가지고 있는 객체에 Full Body Biped IK, Interaction System, Interacton System Test GUI 컴포넌트를 부착해 줍니다.

Interacton System Test GUI 컴포넌트의 경우 GUI형식으로 테스트 버튼을 만들어줌

 

 

Interaction 할 오브젝트에는 Interactoin Object 컴포넌트를 부착해 줍니다. 부착 후 Weight Curves, Events 정도만 간단하게 사진과 같이 세팅을 해줍니다.

 

Final IK을 이용한 간단한  Interaction 구현

 

☆ 빠밤☆ 단 몇 분 만에 간단한 Interaction 기능을 만들게 되었습니다!

 


Interaction 컴포넌트

집중적으로 봐야할 부분

 

Interaction System과 Interaction Object에서 핵심적으로 봐야 할 부분은 위 사진 두 군데입니다.

 

먼저, Interaction System의 경우 어느 부위로 Interaction 할 것인지 설정하는 것이 가장 중요합니다. 예를 들어, 왼 손으로 물체와 인터렉션 할지, 혹은 오른손으로 인터렉션할 지 정하는 것을 뜻합니다.

 

다음으로, Interaction Object입니다. Interaction Object의 경우 해당 오브젝트를 잡기 위해 어떻게 잡을지 Weigth Curves, Multipliers, Events를 설정하면 됩니다. 설정값의 경우 본인의 입맛대로 하시면 됩니다!

 

Interaction System 객체를 하나 더 복사해 Interaction Object에 어울리게 세팅해준다

 

Interaction Object를 잡을 때 더 정교한 세팅을 원하신다면 Interaction System 컴포넌트를 가지고 있는 객체를 하나 더 복사해 인터렉션 할 부위를 해당 Object에 세팅해 두신 다음, Interaction Object의 자식으로 넣어줍니다.

 

그 후, Interaction Target 컴포넌트를 자식 객체에 부착시켜 줍니다. 그 후에는, Effector Type을 설정해 주시면 됩니다.

 

더 정교한 세팅을 위한

 

런타임동안에 Interaction Pose를 더 정교하게 수정하고 싶으시다면 Effector Type(애니메이션을 실행시키고 싶은 모델)에 해당하는 부위에 Hand Poser컴포넌트를 추가해 주신 다음, Interaction Object의 Multipliers에 Pose Weight을 추가해 주시면 됩니다.

 

위와 같이 세팅이 다 된다면 맨 우측 사진처럼 런타임 동안 에디터에서 Pose를 수정할 수 있습니다.

 

수정이 완료된 후에는 복사를 하고 자식객체로 새롭게 집어넣어 주시고 기존에 있던 자식객체는 삭제해 주시면 됩니다.

 

디테일을 살린 Interaction

 

여기까지 Final IK을 활용한 Interaction 방법에 대해 알아봤습니다!

 

아래는 공식 튜토리얼에서 Ball을 가지고 활용할 수 있는 방법(코드)입니다!

코드 예제 - https://www.youtube.com/watch?v=eP9-zycoHLk