Body 리깅(10) 무릎 리깅
1 『무릎 컨트롤러 만들기』
- 무릎 컨트롤러를 화살표 모양으로 생성하고, freeze한다.
- 이름을 Knee_PV_L_Ctrl으로 만들고, 오른쪽으로 복사한다.
- 오른쪽도 컨트롤러를 freeze한다.
- 오른쪽에는 empty그룹을 만들고, x축으로 -180도 회전시킨다.
- x축으로 -180도 회전시킨 그룹 아래에 오른쪽 컨트롤러를 넣는다.(parent) 그룹 아래에 들어간 오른쪽 컨트롤러는 freeze한다.
- 왼쪽에도 그룹을 만들어서 하이러키 구조를 맞춰준다. 무릎 그룹은 모두 센터피봇한다.
2 『폴벡터 연결』
- 무릎 컨트롤러를 먼저 선택하고, Ankle_ikHandle을 선택한 후에 constrain -> pole vector를 적용한다.
- 오른쪽도 폴벡터를 적용해준다.
3 『무릎 종속자 설정』
무릎 컨트롤러는, 하체가 움직일 때 따라가야 하지만 가끔씩 상체가 움직일 때도 따라가는 구조가 필요할 때가 있다. 리깅 작업자는 모든 경우의 수를 생각해야 한다.
- Knee_L(R)_PV_Ctrl 무릎 컨트롤러를 왼쪽 오른쪽 동시에 선택하고,
add Attribute에서 'parent'란 이름을 enum 값으로 upperBody와 Ankle로 Add한다.
- 로케이터를 3개 만들어서, 한개는 Waist_bottom_jnt에 V스냅하고, 하위구조로 넣어준다. 이후 freeze한다. 이름은 parent_upperBody_loc로 지정한다.
- 나머지 로케이터 중 하나는, Ankle_L_ikHandle아래에 넣어준다. freeze -> 이름은 parent_L_Ankle_loc로 지정한다.
- 각 로케이터를 먼저 선택하고, 각 폴벡터 그룹(센터피봇)을 선택한 후에 constrain parent를 한다.
이렇게되면 폴벡터 그룹은 각각 parent_upperBody_loc와 parent_L_Ankle_loc 두개의 움직임에 동시 종속을 받게 된다.
- 폴벡터 그룹 아래를 살펴보면, parent_upperBodyAnkle_Constrain이 생겼는데, 여기의 W0,W1값을 채널박스에서 드래그한 이후에 set Driven key를 실행한다.
- load driver에 Knee_PV_L(R)_Ctrl의 parent를 선택한다.
- 무릎 폴벡터 컨트롤러의 parent항목을 'upperBody'에 놓고, Parent UpperBody Loc값이 작용하도록 (수치값:1), parent_Ankle_Loc(수치값:0) Set키를 설정한다.
- 반대로 무릎 폴벡터 컨트롤러의 parent항목이 Ankle일때, Parent Ankle loc값이 작용하도록(수치값:1), parent_ankle_loc(수치값:1) , upperBody loc(수치값: 0)에 놓고 set키를 설정한다.
- 오른쪽 무릎도 왼쪽과 똑같이 설정한다.
단, 오른쪽에서 주의해야 할점은, 폴벡터 무릎 그룹이 x축으로 -180도 돌아가 있기때문에 그룹을 한번 더해야 한다는 점이다. (아래사진 참고) 아래 사진처럼, 오른쪽 폴벡터 무릎Group을 한번 더 그룹해서, 센터피봇과 freeze를 한다. 나머지는 왼발과 동일하다.
4 『heel,toe rotate 설정하기』
- ankle_L(R)main_Ctrl에 heel rotate, toe rotate 항목을 add ATtribute한다.
-1 ~ 1 ,default:0
- Toe_L_ikHandle_Grp의 rotate X값을 set Driven키로 설정한다.(Driven)
- Ankle_L_Main_Ctrl의 "heel rotate"값이 1일 때는, Toe_L_ikHandle_Grp의 x축 로테이션을 회전해서 발끝을 들어올리는 형태로 만들어준다. -> default에 먼저 키를 설정하고, 이후에 키 설정한다.
- heel rotate값이 -1일 때는 Toe_L_ikHandle_Grp값을 x축 로테이션으로 -30도 정도 뒤로가는 모션으로 설정한다.
- 발끝을 설정하는 방법은, 발 뒷꿈치랑 다르다.
- 현재 Toe_L_Tip_ikHandle의 피봇 위치가 발끝이기 때문에 회전이 되지 않는다. 따라서Toe_L_Tip_ikHandle을 그룹으로 만든다. (아래 사진참고) 이후, 피봇을 Toe_L_ik_jnt에 위치시킨다.
- Toe_Tip_L_ikHandle_Grp을 set driven 키로 driven에 걸어준다. (rotate X축.)
- Foot_L_Main_Ctrl의 toe_rotate값이 -`1부터 1사이까지 설정하고, Toe_Tip_L_ikHandle_Grp의 rotate X축의 값을 Key설정한다.
- 오른쪽 발의 heel_rotate, toe rotate도 왼발과 똑같은 작업을 한다.
'애니메이팅' 카테고리의 다른 글
[Maya] Body리깅 (12) 다리 fk조인트 설정 & 마무리 (0) | 2019.05.18 |
---|---|
[Maya] Body 리깅(11) 다리 Stretch, AutoVolume 설정 (0) | 2019.05.17 |
[Maya] Body 리깅(9) 왼발 리깅 오른쪽으로 복사하기 (0) | 2019.05.15 |
[Maya] Body 리깅(8) 다리 조인트 만들기 (0) | 2019.05.14 |
그래프에디터로 사이클 반복 만들기 (0) | 2019.05.13 |