Body리깅(7) 목 리깅 마무리하기



1 『 연결하기

- neck_Main 컨트롤러를 선택하고(모두 선택됨) 그룹을 만든다. -> Neck_Main_Ctrl_Grp로 이름을 지정한다.


- Neck_Main_Ctrl_Grp을 freeze하고, 피봇 위치를 v스냅으로 Waist_Top_jnt에 위치시킨다.

- Waist_Top_jnt를 먼저 선택하고(main)Neck_Main_Ctrl_Grp를 point, orient constrain으로 연결한다. (maintain offset 체크)



2 『목 분리 리깅

- Neck_Main_Ctrl에 neck_orient_isolate, neck_point_isolate 2개의 항목을 add attribute한다.

 

- Waist_Top_jnt에 조정당하고 있는 Neck_Main_Ctrl_Grp_의 orient constrain을 아웃라이너에서 선택하고, 우측 채널box창에서 Waist_Top_Jnt W0 항목을 선택한 상태에서 set driven key를 실행시킨다.

 

- neck ik bottom ctrl의 neck_orient_isolate 항목을 load Driver로 선택한다.

 

- neck_orient_isolate의 값이 0일 때는 분리가 되지 않으므로, Waist_Top_jntW0값을 1로 설정하고 set키를 클릭한다. 


- neck_orient_isolate값이 1일 경우에는 분리가 되어야 하므로 Waist_Top_jntW0값을 0으로 놓고 'set'키를 클릭한다. 

 

- neck_point_isolate도 orient_isolate와 같은 방식으로 set키를 설정한다.

 


3 『Head격리 리깅
-> Head_Ctrl을 outliner에서 shift + p키로 밖으로 내보낸다. (현재 Neck_Main_Ctrl 하위구조로 되어 있음)

-> Head_Ctrl를 그룹한다. 

 

- 센터피봇을 v스냅으로 Neck_fk_jnt02에 맞춰준다.

 

- Head_Ctrl에 head_Point_isolate와 head_rotate_isolate 항목을 넣는다(Add attribute)

- Neck_fk_jnt02를 선택하고, Head_Ctrl_Grp을 선택한후 orient, point constrain을 한다. (main offset체크)

 

- Head_Ctrl의 head_point isolate를 선택하고, set Driven키를 실행한다. 

- head_point_isolate값이 1일때는 Neck fk jnt02W0의 값을 0으로 한다. (머리가 목에서 분리됨)


- head_point_isolate값이 0일때는 Neck_fk_jnt02W0의 값을 1로 한다. (머리가 목의 움직임에 따라서 움직임)

- head_orient_constrain값도 head_point_isolate방식으로 set driven키를 만들어준다. 

 

4 아웃라이너 정리

- neck의 Etc그룹 하위구조로 목과 관련된 ik핸들과 커브 노드를 모두 넣는다.

- neck의 joint들은 모두 그룹하고, Neck_joint_Grp로 이름을 지정하고, upperBody_Ctrl 하위 구조로 넣는다.


- Waist 관련 joint들 역시 모두 그룹화하고, Waist_joint Grp로 이름을 지정한다.(upperBody Ctrl 하위구조로 설정)

- 목과 관련된 컨트롤러들은 Neck_Ctrl_Grp로 그룹하고, upperBody Ctrl의 하위구조로 넣는다. (아래 사진의 outliner참고)

- curve에는 inherit transform을 체크해제한다.