애니메이팅

[Maya] Body 리깅(18) 어깨 리깅

by MoGL3D 2019. 5. 24.

Body 리깅(18) 어깨 리깅



1어깨조인트 설치

- 쇄골위치(목선 내려와서 살짝 바깥쪽)에 조인트를 생성하고, v스냅으로 arm 조인트의 위치에 붙인다. 


- 이름을 clavicle_BSkin_L_jnt1, clavicle_L_BSkin_jnt2로 지정한다.

- clavicle_L_BSkin_jnt1,2는 오른쪽으로 mirror 복사한다.



2 컨트롤러 설치

- 넙스 커브를 만들어서 피봇 위치를, clavicle_L_BSkin_jnt1에 놓은 후에 뒤로 위치시킨다. 


- freeze 실행하고, 오른쪽에 behavior방식으로 복사한다


- clavicle_L_Ctrl를 선택하고, clavicle_L_BSkin_jnt1를 선택한 후에 parent_constrain한다.

- 왼쪽도 오른쪽처럼 같은 하이러키 만든다.


- clavicle_L_Ctrl를 선택하고, Arm_L_ik_jnt를 선택한 후에 parent constrain을 실행한다.


- Arm_L(R)_fk_visibility 그룹을 선택하고, 피봇을 Arm_L_ik(fk)_jnt 위치로 이동시킨다. (오른쪽 fk_visibility그룹은 한번 더 그룹한다.)


- clavicle_L(R)_BSkin_jnt2를 선택하고, Arm_fk_visibiliy_Grp을 선택한 후에 parent constrain한다. 오른팔도 같은 방식으로 설정한다.


3 셋드리븐 설정
- 왼팔 fkik스위치를 1로 설정(ik모드)하고, Arm_L_ik_jnt_parentConstrain과 Arm_fk_visibility_parentConstrain(키:0) 항목(채널박스)을 선택한 후, set driven키를 실행한다.


- ikfk 스위치(driver)가 0일때(fk일때), Arm_fk_visibility_parentConstrain값이 작동하도록(Arm_L_ik_jnt_parentConstrain:0 키) set driven을 설정한다. (오른쪽도 진행한다.)


4 아웃라이너 정리
- clavicle 조인트와 컨트롤은 모두 그룹화해서  upperBody_CTRL아래에 각각 넣어준다.(아래사진 참고)


5 clavicle과 가슴 연결

- Waist_Top_jnt를 선택하고, clavicle_L(R)_Ctrl_Grp을 각각 선택해서, parent constrain한다.


6 폴벡터 위치설정기능 생성
- 폴벡터 컨트롤러에 parent항목을 만들고(add Attribute), 값으로는 enum모드에서 clavicle과 upperBody를 지정한다.


- 로케이터를 생성해서, V스냅으로 clavicle_L_BSkin_jnt1에 위치시킨다. 이름을 clavicle_L_pv_loc로 지정한다.


- clavicle_L_pv_loc를 clavicle_L_BSkin_jnt1(main)에 parent한다. (constrain 아님)


- clavicle_L_pv_loc를 선택하고, Elbow_PV_L_Ctrl_Grp을 한번 더 그룹하고(센터피봇), 이 그룹을 선택한후에 parent constrain한다. (아래사진 참고) 


- UpperBody_PV_loc를 생성해서 Waist_Bottom_jnt에 v스냅한다. (Waist_Bottom_jnt(main)에 parent한다.)


- UpperBody_Pv_loc(main)와 Elbow_PV_L_Ctrl_Grp을 constrain parent한다.


- Elbow_PV_L_Ctrl_Grp의 parent constrain노드를 선택하고, 우측의 채널박스창에서 UpperBody_pv_loc와 clavicle_L_pv_loc항목을 클릭한 상태에서 set driven을 실행한다.


- 폴벡터의 parent항목값이 upperBody라면, Waist_Bottom_jnt에 지배받는upperBody_pv_loc의 값이 1(clavicle_pv_loc : 0)이 되도록 키를 설정하고,

parent항목값이 clavicle이라면, clavicle_pv_loc : 1 의 지배를 받도록(upperBody_pv_loc:0) 키를 설정한다. 


- 오른쪽 폴벡터도 같은 방식으로 설정한다.