http://www.root-motion.com/finalikdox/html/page4.html
지금 개발중인 부분에 IK가 필요하다. 그래서 유로 플러그인인 Final IK를 써보고있는데, 또 대충 살펴보니 Final IK가 지원하는 다양한 모듈 중 Biped IK라는 것이 지금의 문제 풀이에 가장 적합한 걸로 보인다.
그래서 상기 링크의 문서를 읽어보려하는데, 공부 겸 번역해가며 읽어보면서 이 페이지에 내용을 정리해보았다.
Biped IK
유니티의 빌트인 캐릭터 IK 셋업을 강화하고 replicate할 수 있도록 디자인된 표준 바이패드 캐릭터를 위한 IK 시스템
BipedIK or FullBodyBipedIK?
원래 BipedIK를 썼을 때의 장점은 퍼포먼스가 훨씬 좋다는 것이었다. 하지만 FinalIK 0.4부터는 FBBIK solver의 iteration count를 0으로 설정할 수 있게 되면서, 거의 BipedIK만큼 빠르게 작동하게 되었다. 이 방법은 캐릭터의 IK 최적화를 훨씬 간단해지게 해주었다. 따라서 0.,4버전 부터는 FullBodyBipedIK 컴포넌트를 사용하는 것을 추천하고 있따.
BipedIK or Unity's Animator IK?
* Animator IK는 solver의 기본적인 parameter의 수정을 허락하지 않는다. 예를 들면 lib bend direction 같은 것 말이다. 따라서 일반적이지 않은 케이스에 대해서는 적용이 어렵다.
* Animator IK는 spine solver가 빈약하다.
* Animator의 LookAt 기능이 가끔 이상하게 작동한다.
* BipedIK는 AimIK도 적용가능하다.
* BipedIK는 unity pro를 요구하지 않는다.
간단하게 유니티의 빌트인 Animator IK로부터 BipedIK로 옮겨올 수 있도록 같은 API를 제공하고 있다. 그래서 animator.SetIKPosition()을 bipedIK.SetIKPosition()으로 변경하기만 하면 된다.
BipedIK는 FinalIK 패키지의 다른 컴포넌트와 같이 셋업을 위해서 필요한 작업을 최소화했다. BipedIK는 자동으로 bipedbones를 탐지해서 컴포넌트를 drag & drop 하자마자 잘 작동할거다. 만약 BipedIK가 본 구조를 인식하지 못하거나, 그 구조를 변경하고 싶을때는 언제건 인스펙터창을 통해서 수정할 수 있다.
시작하기
* 캐릭터의 루트에 BipedIK 컴포넌트를 추가한다.
* 바이패드의 구조가 잘 감지되었는지 확인한다.
컴포넌트를 추가해보니 이렇게 나온다.
잘 된것 같다.
*Solver에 weight를 잘 주고 play를 눌러보자.
solver를 열어보니 이런 모습이다. 오른쪽 손에 target을 심어줘봐야겠다.
Play를 눌렀는데 에러가 나온다.
찾아보니 위와 같은 글이 있었다. 어라 그냥 재생하니 넘어가진다. 뭐야....
미묘하게 애니메이션이 변경된걸 확인할 수 있다. 이제 파라미터만 잘 조정하면 원하는 결과를 얻을 수 있을 것 같다.
남은 부분은 살펴보니 크게 얻을 건 없어보여서 이쯤에서 포스팅은 마무리!
'유니티 개발 관련' 카테고리의 다른 글
유니티에서 그래프 그리기 (0) | 2023.04.26 |
---|---|
unity ui toolkit 으로 리스트 만들기 (0) | 2023.04.24 |
USD (universal scene description) 개념잡기 (0) | 2022.09.22 |
locomotion system 연동하기 (0) | 2022.09.13 |
유니티 unsafe code allow 하기 (0) | 2022.05.13 |