Body 리깅(2) 허리 컨트롤러 생성
CG의 즐거움은 '상상력 표현'에 있다. 확장성이 뛰어난 방식으로 리깅된 캐릭터는 애니메이터의 상상력에 날개를 달아준다. 따라서 리거(리깅 아티스트)는 애니메이터의 상상력을 극대화시켜 줄 수 있도록 장치를 구성해야 한다. 그중의 하나가 바로 '스트래치'이다.
스트래치는 말 그대로 늘어나는 것을 의미한다. 실제 사람의 신체가 늘어나는 경우는 없지만 CG에서는 모든게 가능하다. 리거는 모든 가능성을 염두에 두고 캐릭터를 개발할 의무감이 필요하다.
__1『컨트롤러 생성』
넙스 커브로 사각형 컨트롤러를 만든다. 컨트롤러 위치를 v스냅으로 Waist_Bottom_jnt와 Waist_Top_jnt조인트에 v스냅하고, freeze를 실행한다.
__2『constrain설정』
Waist_Top_컨트롤러를 먼저 선택하고, Waist_Top_jnt를 선택한 후에 constrain parent를 한다. 곧바로, Waist_Bottom_컨트롤러를 선택하고, Waist_Bottom_jnt를 constrain parent까지 실행하자.
__3『노드 에디터 설정』
노드 에디터(window메뉴)를 열고, Waist_ik_Crv_shape노드를 불러온다. ( waist_ik_spline으로 생성된 커브) 탭 키를 이용해서, curveinfo노드를 검색하고, 노드 에디터 창에 불러온다.
캐릭터 전체를 움직이거나 크기를 조절할 수 있는 Main컨트롤러를 아래처럼 생성한다. (nurbs 커브 이용)
- Waist_ik_Crv_shape노드의 world space[0]노드를 curveinfo의 'input Curve'와 연결한다
- multiplyDivide노드를 생성한다. (operation:divide)
- curveinfo노드에서 Arc Length노드를 multiplyDivide노드의 input 1X에 연결한다.
- Main 컨트롤러를 불러온 후에(shape노드 아님) scale X 노드를 multiplyDivide의 input 2X에 연결한다.
- multiplyDivide1을 복사해서 multiplyDivide2를 만든다. (operation : divide)
- multiplyDivide1의 output 1X 노드를 multiplyDivide2의 input1X와 연결한다.
- multiplyDivide2의 input1 수치값을 복사해서 input2에 붙여넣기 한다.
- Waist_ik_jnt1~4까지 불러온다.
- multiplyDivide2의 outputX값과 각 Waist_ik_jnt1~4까지의 scaleX값을 연결한다.
__4『main컨트롤러 구조정리』
지금까지 생성한 조인트와 컨트롤러 그리고 ikHandle 및 curve를 모두 main_Ctrl 아래로 parent한다. (아래사진 참고)
main 컨트롤러를 움직이면, 커브가 밖으로 튀어나가는데, 이는 상위노드의 영향값을 중복으로 받고 있기 때문이다. 이 문제를 해결하려면, Waist_ik_Crv의 Attribute창으로 가서, inherit Transform을 체크해제하면 된다.
main컨트롤러 아래에 각 신체부위에 해당하는 조인트와 컨트롤러 그리고 Etc를 그룹화한다. (아래사진 참고)
'애니메이팅' 카테고리의 다른 글
[Maya] Body 리깅(6) 목 리깅 스트래치,오토볼륨 (0) | 2019.05.12 |
---|---|
[Maya] Body 리깅(5) 목 조인트 ~ 컨트롤러 설정 (0) | 2019.05.11 |
[Maya] Body 리깅(4) auto스트래치 리깅 (0) | 2019.05.10 |
[Maya] Body 리깅(3) 허리 컨트롤러 FK설정 (0) | 2019.05.09 |
[Maya] Body 리깅(1) 허리 조인트 & Constraint 설정 (0) | 2019.05.07 |