Body 리깅(9) 왼발 리깅 오른쪽으로 복사하기


1왼발 컨트롤러 복사

- 왼쪽 Foot_L_Main_Ctrl를 복사(ctrl+D)해서 그룹하고, x:-1로 설정한 후에 ungroup 한다.

- 오른쪽 Foot_R_Main_Ctrl 가장 아래에 있는 Back_loc아래의 ikHandle그룹을 삭제한다.(왼쪽과 관련된 ikHandle이므로 삭제해야함)


- Thigh_R_ik_jnt부터 ik handle(rotate체인)로 왼다리처럼 ik Handle을 설정해준다. (지난 포스팅 참고)


- 왼발처럼 group하고, ikHandle 그룹을 만든다. (지난 포스팅 Group1~3지정 참고)

 

- 왼발과 똑같은 컨트롤러 구조를 만들어준다. (지난 포스팅 참고)

 

2 behavior 설정하기
- behavior란, 왼쪽과 대칭으로 오른쪽이 움직여주는 것을 뜻한다.

- 빈 empty그룹을 만들고, rotateX축으로 -180을 입력한다.


- 오른쪽 Foot_R_Main_Ctrl을 빈 empty 그룹 아래에 넣는다. 그리고 Foot_R_Main_Ctrl를 freeze한다.


- 이때, 오른쪽 ikHandle그룹을 Foot_R_Back_loc아래에서 밖으로 꺼낸 후(Shift + P ), Foot_R_ik_Ctrl전체를 freeze를 한다는 점에 주의한다. 


- 빈 empty그룹의 이름은 Foot_R_Main_Ctrl_Gr로 이름을 붙여준다.


- Foot_R_Back_loc 아래에 Ankle_R_ikHandle_Grp을 하위구조로 넣는다. (parent)


- 왼쪽 Foot_L_Main_Ctrl역시 그룹을 해서 오른쪽 발목 그룹과 똑같이 만들어준다.

 

 

3 발목 좌우회전 설정하기
- Foot_Main_Ctrl에 add Attribute로, Foot_Bank_LR을 -1 ~ 1로써 만든다.


- set Driven키를 사용해서, Foot_L_In_loc와 Foot_L_Out_loc를 load Driven에 넣고, Foot_L_Main_Ctrl를 Load Driver로 설정한다.


- set Driven키에서 Foot_L_In(Out)_loc의 회전축 (여기서는 z축)으로 rotate에 키를 설정한다. (아래사진 참고)


- Foot_Bank_LR 수치를 0로 놓고, Foot_L_In_loc와 Foot_L_Out_loc에 키를 설정한다. (Default Key)


- Foot_Bank_LR이 -1일때 안쪽으로 움직이도록 z축을 움직이고(직관에 따라 알아서 판단, 단 왼쪽과 오른쪽이 대칭되도록만 해주면 상관없음)  키를 설정하고, 1일 때 바깥쪽으로 bank하도록 키를 설정한다.


- 오른쪽 발도 왼쪽과 똑같이 bank를 set Driven으로 설정해준다. Attribute 이름이 반드시 같도록 설정하고, 대칭으로 움직이도록 설정한다.


 

4 발목 앞뒤회전 설정하기
- Foot_L_Main_Ctrl에 Foot_L_Bank_FB를 add Attribute한다.


- 빈 그룹을 생성하고, 이를 Foot_L_Front_Ctrl 위에 넣는다. 


- Foot_L_Front_Ctrl을 빈 그룹 아래에 넣고, 빈 그룹 이름을 Foot_L_Front_Ctrl_Grp로 설정한다. 


- 피봇은 Foot_L_Front_ikHanlde에 위치시킨다.


- 빈 그룹을 생성하고, 이를 Foot_L_Back_Ctrl 위에 넣는다. 이후 Foot_L_Back_Ctrl을, 빈 그룹 아래에 넣고, 빈 그룹 이름을 Foot_L_Back_Ctrl_Grp로 한다. 


- 피봇은 Foot_L_Back_ikHandle에 위치시킨다.(로케이터 위치)


- 메인 컨트롤러의 Foot_L_Band_FB를, load driver로 설정한다. 


- Foot_L_Front_Ctrl_Grp, Foot_L_Back_Ctrl_Gpr의 x로테이터 축(해당 프로젝트에서는)을 선택하고, set driven 키를 0으로 설정한다.


- Foot_L_Front_Ctrl_Grp와 Foot_L_Back_Ctrl_Grp의 회전축을 실험해보고, 움직인 후에 키를 설정한다. (앞 뒤로)


- 오른쪽도 똑같이 진행한다.  

- 단, 오른쪽은 빈그룹을 넣고나서 반드시 freeze를 실행해야 한다. 상위 그룹노드가 x축으로 -180도 돌아가있기 때문에 freeze를 하지 않으면 x축으로 -180도 회전된 

상태에서 set Driven키를 걸게 되는 실수를 할 수 있다.

 

- freeze 이후의 피봇 위치도 주의한다. (피봇 위치는 앞과 뒤 로케이터 위치)


- 오른발에 set driven키를 설정한다.


- 중간중간, 왼발설정과 비교하면서 set키를 넣어준다.


- set키를 마치면, 왼발과 오른발은 아래사진처럼 대칭적으로 움직여져야 한다.