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노드 에디터 정리