Body 리깅(17) 팔 리깅 - autoVolume 설정 -
1 『auto stretch 항목설정』
- Arm_L_ik_Ctrl에 auto_stretch와 auto_volume을 add attribute한다.
2 『노드 에디터 설정』
- 북마크로 저장해둔 stretch 노드 에디터를 열고, 컨디션 노드를 복사한다. -> Arm_L_onOff_condition으로 이름 지정
- Arm_L_ik_Ctrl를 노드 에디터에 불러온다. (no shape)
- Arm_L_ik_Ctrl의 auto_stretch값을, Arm_L_stretch_onOff_condition의 first term과 연결한다.( operation:equal, Second term : 1, 아래사진 참고 )
- Arm_L_stretch_condition(stretch노드 설정에서 생성한 condition노드)의 outColor R값을, Arm_L_onOff_condition노드의 Color If true R과 연결한다.
- Arm_L_onOff_condition의 outColor R값을, Arm_L_ik_jnt, Elbow_L_ik_jnt의 scaleX와 연결한다. (기존의 연결은 자동으로 해제됨)
3 『auto volume 설정하기』
- condition노드를 복사한다. Arm_L_stretch_autovolume_condition으로 이름을 지정한다. (아래사진 참고)
- Arm_L_ik_Ctrl의 autoVolume값을, Arm_L_stretch_autovolume_condition의 first Term과 연결한다. (second Term에 1입력,operation:equal)
- Arm_L_stretch_onOff_condition의 outColor R값을, Arm_L_stretch_autovolume_condition의 color If True R과 연결한다.
- multiplyDivide노드를 생성한다. -> Arm_L_autovolume_multiplyDivide 이름 지정 (operation:power, input 2X에 0.5입력)
- Arm_L_stretch_autovolume_condition의 output R값을, Arm_L_autovolume_multiplyDivide의 input 1X와 연결한다.
- Arm_L_autovolume_multiplyDivide를 복사해서 Arm_L_autovolume_multiplyDivide2를 만든다. (operation:divide)
-Arm_L_autovolume_multiplyDivide의 output X값을 Arm_L_autovolume_multiplyDivide2의 input 2X와 연결한다. (input 1X값엔 1을 입력, 아래사진 참고)
- Arm_L_autovolume_multiplyDivide2의 output X를 Arm_L_ik_jnt와 Elbow_L_ik_jnt의 scale Y,Z와 연결한다.
- 오른팔도 같은 방식으로 작업을 진행한다.
4 『Arm_L(R)_spline_Crv 설정』
- 현재 BSkin조인트의 스트래치는 작동되지 않는다. 왜냐하면, 커브의 scale값이 영향을 받고있지 않기 때문이다.
- 노드 에디터에 Arm_L_ik_spline_Crv shape 노드를 불러온다.
- curveinfo노드를 생성한다. (Arm_L_ik_splineCrv_curveinfo로 지정)
- multiplydivide노드를 2개 생성한다. (2개 모두 operation: divide 설정 )
- main_ctrl노드를 불러온다. (not shape노드)
- Arm_L_BSkin_jnt, Arm_L_BSkin_twist_jnt1~3 (총4개, 끝 조인트는 필요없음)조인트를 노드에디터에 불러 온다.
- Arm_L_ik_spline_Crvshape의 worldspace[0]값을 curveinfo의 ( other-> inputCurve)와 연결한다.
- curveinfo의 ArcLength값을, Arm_L_ikSpline_multi1(위에서 생성한 multiplydivide노드 2개중의 1개)의 input 1X에 연결한다.
- main_Ctrl의 scale X값을, Arm_L_ikSpline_multi1의 input 2X와 연결한다.
- Arm_L_ikSpline_multi1의 output X를, Arm_L_ikSpline_multi2의 input 1X와 연결한다.
- Arm_L_ikSpline_multi2의 input 1X값을 복사해서, input 2X에 붙여넣는다.
- Arm_L_ikSpline_multi2의 output X값을 Arm_L_Bskin_jnt ~ Arm_L_BSkin_twist_jnt1 ~ 3의 scale X값과 연결한다.
* 노드를 bookMark한다.
5 『Elbow_L_spline_Crv 설정』
- Arm_L_spline_Crv의 노드를 그대로 이용한다. curveinfo, multiplydivde1,2를 복사한다.
- Elbow_L_splineCrv shape을 노드에디터로 불러온다.
- Main컨트롤러는 재사용한다.
- Elbow_L_BSkin_jnt ~ Elbow_L_BSkin_twist_jnt_jnt1 ~ 3까지 불러온다.
- 노드설정은, Arm_L_ik_splineCrv와 같은 방식으로 진행한다.
- 오른쪽의 노드도 왼팔과 같은 방식으로 진행한다.
6 『그룹정리』
- upperBody 아래로 조인트와 컨트롤러 그룹들을 넣어준다. (아래사진 참고)
- Arm(Elbow)_ik_splineCrv에서, inherit transform은 모두 체크해제한다. (main컨트롤러의 움직임에 이중적용 방지)
- 손목fkik 스위치를 그룹한다. (센터피봇은 상관없음)
* Elbow_L(R)_BSkin_jnt4를 선택하고, 그룹한 손목 fkik스위치를 선택한 뒤에, point constrain해준다. (이 과정은 손가락 리깅이 끝난 후에 해도 무방하다)
'애니메이팅' 카테고리의 다른 글
[Maya] Body 리깅(19) 손목 리깅 (0) | 2019.05.25 |
---|---|
[Maya] Body 리깅(18) 어깨 리깅 (0) | 2019.05.24 |
[Maya] Body 리깅(16) 팔 스트래치 리깅 (0) | 2019.05.22 |
[Maya] Body 리깅(15) fk ik 스위치 visibility 설정 (0) | 2019.05.21 |
[Maya] Body 리깅(14) 팔 리깅 - fk, BSkin 조인트 설치- (0) | 2019.05.20 |