Spline IK와 유니티에 대하여
(어려운 테크닉적인건 잘모름... R&D하면서 몸으로 배운 기록용 문서)
Max 상에서 작업 중 채찍처럼 무기의 특성상 bone 으로 잡기 어렵거나, 자유자재로 늘어나야 하는 경우 spline IK 를 써야하는 경우가 있다.
포트폴리오처럼 max 상에서 끝나는 경우는 상관이 없지만 실무처럼 엔진에 올려야 하는 경우엔 고려해야 할 부분이 여러가지 있다.
상단의 이미지와 같이 Spline IK를 쓰지 않는 이상 어미 본을 흔들면 자식 본이 맞춰서 흔들리게 되는데 Spline IK 를 쓰게 되면 유니티에서도 일정 부분까진 큰 영향을 받지 않는다.
하지만 순간적인 타이밍에 애니메이션이 지나가는 경우 Spline IK를 쓰면서 본의 구조를 무시하고 어미본의 최상단부터 흔들 경우 30fps의 맥스 뷰에선 크게 흔들려 보이지 않지만, 유니티에서는 프레임 간의 보정이 있기때문에 애니메이션에 지진이 난 것 처럼 전반적으로 크게 떨려보인다.
이를 해결하기 위해선 bone의 구조를 일반적인 bone을 다루듯이 순서에 맞게 셋팅을 하는것이 중요하다.
추가로 Spline IK를 이용하면서 각 노드의 위치가 90도를 넘어가게 되는 순간 플립이 되는데 컨트롤러와 bone의 축을 잘 보고 로테이션으로 해결을 해보거나, 적당한 위치에 순차적으로 애니메이션이 진행되도록 컨트롤러를 조절하여 bone의 축이 꼬이지 않게 해주어야 한다.
만약 동일하게 무시하고 진행을 할 경우엔 max view에선 크게 상관이 없지만 유니티에서 잘게 쪼개진 프레임 사이사이마다 위의 경우와 동일하게 지진나는 애니메이션을 경험할 수 있다.
해결하려고 2일 내리 R&D 함..
p.s) ChainTool 을 이용하면 훨씬 쉽게 플립현상과 셋팅을 할 수 있다.