조인트작업을 마쳤다면 다리에 ik작업을 해줘야한다.
ik(inverse kinematics)는 발목을 잡고 움직였을때 그것에 따라서 역 운동을 한다고해서 붙여진 이름이다.
그럴려면 발목있는 곳에 피봇이 있어야겠네,
하지만 개의 경우 사람보다 다리에 조인트를 더 많이 사용하기 때문에 헷갈렸다.
IK에 대해서 먼저 알아보도록 하자.
ik작업을 하는 방식은 여러개인데 내가 선택한 방법은 3개의 ik를 사용하는 방식이었다.
기본적으로 ik옵션에는
Pole이 필요없는 Single-Chain Solver와
Pole을 필요로하는 Rotate-Plane Solver가 있다.
그런데 기본옵션에 없는게 하나 더 있다.
바로 ikSpringSolver인데, 주로 곤충다리처럼 여러번 꺽이는 조인트에 쓰인다고 한다.
기본옵션에 없기때문에 mel script를 이용해서 불러줘야한다.
조인트가 선택된 상태로 스크립트를 저렇게 쓰면
옵션에서 이렇게 새로 생긴 것을 볼 수있다.
개 다리의 리깅도 이걸로 할 수 있었다.
근데 새롭게 알게된 옵션이라서 나에겐 조금 어렵게 느껴져서 그냥 기본옵션 두가지를 사용하기로 결정!
먼저 Rotate-Plane Solver를 이용해서 대퇴골(femur)-윗발목(metatarsus) 까지를 연결한다.
아웃라이너에 생긴 ik 아이콘 네이밍은 r또는l_ankle_ik_handle 로 헷갈리지않게 적어둠
그리고 윗발목뼈(metatarsus) - 발목뼈(metacarpus) 까지를 Single-Chain Solver를 사용해서 연결,
발목뼈(metacarpus) - 발끝까지 또 Single-Chain Solver를 사용해서 연결해주었다.
네이밍은 각각 l_ball_ik_handle 그리고 l_toe_ik_handle 라고 해줌
그런데 나는 발가락 조인트를 다 따로해줘서 ik연결이 좀 곤란했다.
발가락 rig를 해주려면 ik를 다르게 해줬어야 할텐데,, 결국 발가락 rig는 포기하고 두번째 발가락에 ik handle을 연결해주었다.
이렇게 총 세개의 ik를 사용한 셈인데, 이 ik체인을 컨트롤러와 하이어라키 구조를 이용해서 정리해주어야한다.
그래서 갑자기 컨트롤러를 만들어 줄거임
멜스크립트를 이용해서 컨트롤러를 만들어주는 기특한 창을 띄울건데,
첨부된 이 mel을 다운받아서 실행시키면 아래와같이 사용할 수 있다.
저 친구를 이용해서 아주 금방 컨트롤러를 만들었다.
컨트롤러는 그 생김새와 상관없이 내가 움직이고자 하는 조인트에 피봇을 옮겨서 셋팅한다.
이후 freeze transformation / delete by history 를 잊지않고 해주면 전체적인 컨트롤러 셋팅은 끝난다.
그리고 ik핸들과의 하이어라키 구조를 아래와같이 짜주었다.
이 때에 주의 할점은, 피봇셋팅을 다시 해주기 위해 세개의 ik handle 들을 그룹화하는 작업을 여러번해주는데,
ankle_ik_group / ball_ik_group / toe_ik_group 의 피봇은 발목조인트 중심에,
위 세개를 그룹짓는 toe_roll_group의 피봇은 발끝조인트 중심에 있어야한다는 점이다.
더 상위에 있는 foot_group은 발목조인트에 두어야한다.
그 그룹을 마침내 발 컨트롤러 아래에 넣는다.
이러면 뒷발의 연결이 끝남,
오른쪽 뒷발도 마찬가지로 작업해주면 된다.
이제 앞발의 차례,
앞발은 다행히 뒷발보다는 비교적 간단하다.
먼저 Rotate-Plane Solver를 이용하여 조인트 아래팔뼈(radius) - 발목뼈(metacarpus)까지를 연결해준다.
이후 Single-Chain Solver를 사용해서 발목뼈(metacarpus) - 두번째발가락뼈를 연결해주었다.
이후 뒷다리했던것 처럼 각각 ik handle을 그룹화해서 발목뼈 중심에 피봇을 설정하고
그 그룹들을 다시 그룹화 해서 똑같이 발목뼈 중심에 피봇을 설정한다.
그리고 그 그룹을 컨트롤러 아래에 종속시킨다.
그러면 끝!! 이 아니고 Rotate-Plane Solver ik핸들을 사용한 부분에 Pole vector를 설정해줘야한다.
컨트롤러, ik 핸들을 잡고 Constrain - Pole Vector를 눌러주면 폴벡터 컨스트레인이 체인모양으로 ik핸들아래 아이콘이 생긴다.
이렇게 컨트롤러 만들어주고, 폴벡터까지하면 끝!!
(아직 스킨바인드 하기전입니다.)
'Maya' 카테고리의 다른 글
개 리깅연습5 : tongue rigging (feat. 노드에디터) (2) | 2020.11.18 |
---|---|
개 리깅연습4 : 하이어라키 정리 후 Skin Bind (0) | 2020.11.12 |
개 리깅연습 2 : 조인트편 (2) | 2020.11.06 |
개 리깅연습 1 : 모델링편 (0) | 2020.10.23 |
마야 리깅공부하기 좋은 튜토리얼 사이트 (0) | 2020.10.22 |