Body 리깅(16) 팔 스트래치
1 『로케이터 생성』
- 로케이터를 생성한다. 이름은, Arm_L_distance_loc로 지정한다.
- Arm_L_distance_loc를 그 자리에서 복사해서 손목에 v스냅으로 이동시킨다.(No Freeze) 이름을 Wrist_L_distance_loc로 지정한다.
- 오른쪽에도 로케이터를 생성한다.
- Arm_L_ik_jnt를 선택하고, Arm_L_distance_loc를 선택한 후에 point constrain을 실행한다. (maintain offset 체크)
-> Wrist_L_ik_Ctrl를 선택하고, Wrist_L_distance_loc를 선택한 후에 point_constrain한다. (반드시 Wrist_L_ik_Ctrl여야 한다. Wrist조인트 아님! *주의)
-> Arm(Elbow)_L(R)_spline_Crv , Arm(Elbow)_L(R)_twist_ikHandle을 모두 그룹해서, node 에디터로 갈 준비를 한다. <아웃라이너를 정리> (아래사진 참고)
2 『노드 에디터 실행』
- 노드 에디터를 실행한다.
- Wrist_L_distance_loc와 Arm_L_distance_loc를 갖고온다(no Shape)
- distanceBetwwen노드를 생성한다.
- Arm_L_distance_loc와 Wrist_L_distance_loc의 translate(not x,y,z)파이프를, distance노드의 point1과 point2로 연결한다.
- condition노드를 생성한다.
- distance노드의 distance값을 condition노드의 first term값에 연결한다.
- Arm_L_ik_Ctrl를 살짝 이동시켜서, 해당 값이 distance node의 first term에 들어오도록 한다.
- Arm_L_ik_Ctrl를 살짝 이동시켜서 얻은 first term의 값을 복사한다.
- multiplydivide노드를 생성하고,(operation:multiply) input 2의 x값에, 복사한 first term값을 붙여넣는다.
- Arm_L_ik_Ctrl의 위치를 제로세팅한다.
- main_ctrl를 불러온다.(no shape)
- main ctrl의 scale X값을, multiplydivide의 input 1X에 연결한다.
- multiplyDivide의 output X값을, condition(operation: greater or equal )의 second term에 연결한다.
- multiplyDivide노드를 하나 더 생성한다. (multiplydivide2라고 부르겠음, operation:divide)
- distanceBetween노드의 distance값을, multiplyDivide2의 input 1X에 연결한다.
- multiplyDivide1노드의 output X값을, multiplyDivide2의 input 2X에 연결한다.
- multiplyDivide2의 output X값을 condition 노드의 Color If True -> Color If true R에 연결한다.
- Arm_L_ik_jnt와 Elbow_L_ik_jnt를 불러온다.
- condition 노드의 output R값을 Arm_L_ik_jnt와 Elbow_L_ik_jnt의 scale X와 연결한다.
- 현재 여기까지 진행하면, BSkin twist조인트는 움직이지 않는다. 왜냐하면 spline 커브가 stretch되지 않기 때문이다.
- 일단, 노드 에디터에 북마크로 stretch를 저장한다.
'리깅&애니메이팅' 카테고리의 다른 글
[Maya] Body 리깅(18) 어깨 리깅 (0) | 2019.05.24 |
---|---|
[Maya] Body 리깅(17) 팔 리깅 - autoVolume 설정 - (0) | 2019.05.23 |
[Maya] Body 리깅(15) fk ik 스위치 visibility 설정 (0) | 2019.05.21 |
[Maya] Body 리깅(14) 팔 리깅 - fk, BSkin 조인트 설치- (0) | 2019.05.20 |
[Maya] Body 리깅(13) 팔 리깅 - 조인트 설정- (0) | 2019.05.19 |