애니메이팅

[Maya] Body 리깅(4) auto스트래치 리깅

by MoGL3D 2019. 5. 10.

Body 리깅(4) auto스트래치 리깅


auto스트래치란, 컨트롤러를 한계수치 이상으로 늘렸을 때, 캐릭터가 자동으로 옆으로 줄어들었다가 모아지는 형태를 만들어주는 기능(오토 스트래치)이다. 캐릭터 애니메이팅에서 초현실적인 장면을 연출할 때 오토 스트래치 리깅은 필수다. 특히, 아동용 애니메이션에서는 캐릭터의 사실감보다 상상력이 중요하기 때문에 오토 스트래치 기능이 중요하다. 

1 노드 에디터 설정

지난 포스팅에서 북마크했던 stretch 리깅의 노드에디터를 불러온다.

 

- Waist_MultiplyDivide2를 복사해서 Waist_auto_Multi1로 이름을 정한다.

- Waist_MultiplyDivide2의 outputX를 복사한 Waist_ik_autoMultiplyDiv의 input 1X로 연결한다.


Waist_ik_autoMultiplyDiv의 operation을 power로 놓고, input2의 값을 0.5로 설정한다. (power는 거듭제곱을 의미)


Waist_ik_autoMultiplyDiv를 복사한다. Waist_ik_autoMultiplyDiv1

- Waist_ik_autoMultiplyDiv의 outputX의 값을 Waist_ik_autoMultiplyDiv1의 input2X에 연결한다.

 

Waist_ik_autoMultiplyDiv1의 operation은 divide로 놓는다. input1에 1을 넣는다.


2 조인트 연결

Waist_ik_autoMultiplyDiv1의 outputX의 값을 Waist_Bskin_조인트의 scaleY, scaleZ에 각각 연결한다. (모든 조인트 연결)

 

3 오토볼륨 스위치 만들기

- upperBody 컨트롤러에 add Attribute에 'auto volume' 항목을 넣어준다.

- Float값으로 min:0 , max:1로 설정한다. default:0

 

- 노드 에디터에서 upperbody 컨트롤러 껍데기를 가져온다(no Shape)

- condition노드를 생성한다. -> Waist_AutoVolume_Condition으로 이름지정

- upperbody컨트롤의 autovolume 노드를  condition노드의 FirstTerm 노드와 연결한다.

 

Waist_AutoVolume_Condition노드의 operation을 equal로 설정한다.

- second term을 1로 설정한다. (0과 1사이를 왔다갔다할 수 있다)

 

- Waist_multiplyDivide2에서 Waist_ik_automultiDiv로 가는 노드를 끊는다. 대신 Waist_multiplyDiv2의 outputX를 Waist_autoVolume condition노드의 Color if True -> Color if True R에 연결한다.

Waist_autoVolume condition노드의 outColor R을 Waist_ik_auto_multiplyDiv의 input1X에 연결한다.

 

- autoVolume노드 에디터 정리