본문 바로가기
그래픽 테크닉

wire를 이용한 캐릭터 어깨(삼각근) 셋팅

by Raypop 2013. 5. 6.

오늘은 이전에 설명해드린 Wire Parameters와 오늘 소개 해드릴 ExposeTransform 를 이용한 캐릭터 어깨(삼각근) 셋팅을 해보도록 하겠습니다. 기존 공개된 많은 셋팅이 있지만 타 셋팅에 비해 간편하고 애니메이터 입장에서 불편 했던 점을 보완한 셋팅이 되겠습니다.



아래에 보시는거와 같이 바이패드 기본 셋팅에 추가적으로 삼각근 역활을 하는 'Bip01 L UpperArm Twist01' 본, 바이패드의 정보를 가져올 'ExposeTransform' 만으로 구성이 되어 있습니다.




먼저 'ExposeTransform' 에 대해서 간단하게 설명 드리면, 타 오브젝트의 정보값을 실시간으로 가져 오는 역활을 하게 됩니다.

자세한 설명은 아래에서 하도록 하겠습니다.

위치는 우측 Command Panel 에서 Creat -> Helpers -> Standard -> ExposeTm 을 클릭 하시고 작업 화면에 찍어 주시면 됩니다.




'ExposeTransform' 을 이용하여 다른 오브젝트의 정보값을 가져 오도록 하겠습니다.

Modify 패널에서 Parameters -> Objects에 Expose Node 를 선택합니다.(Local Reference Node 에 오브젝트 등록시 두 오브젝트의 거리 및 상호 작용에 따른 값을 볼수가 있습니다. 이부분은 다음에 기회가 있을때 설명 드리도록 하겠습니다)

그리고 저희가 필요한 바이패드의 Bip01 L UpperArm 를 클릭 합니다.




이제 ExposeTransform 에 Bip01 L UpperArm 의 로테이션, 포지션 등 여러 정보가 나타나게 됩니다. 이렇게 한 이유는 바이패드는 직접적으로 wire 를 걸수 없기 때문에 ExposeTransform 를 이용하여 정보값을 가져 온 것입니다.


실제로 ExposeTransform 더미는 설정된 오브젝트의 정보값 만을 가져 오기 때문에 링크가 걸려 있지 않아도, 어느 위치에 두어도 상관 없습니다.(대부분의 export 는 Biped(Bone)의 전체키값을 추출합니다. 그러므로 export 때 'ExposeTransform' 생략하여도 아무런 문제가 없습니다. 프로그래밍적인 부분이긴 하지만 애니메이터가 알아두면 유용한 정보이니 이부분에 대해서도 차후에 설명 해드리겠습니다.)




이제 Wire Parameters 를 이용하여 삼각근 본을 제어 해보도록 하겠습니다.

먼저 'Bip01 L UpperArm' 에 축에 'Bip01 L UpperArm Twist01' 을 포지션,로테이션을 align 시킵니다.

'Bip01 L UpperArm Twist01' 은 상위본이 'Bip01 L Clavicle' 가 되도록 링크 걸어 줍니다.




삼각근 본은 바이패드 기준 x축 회전에 대해서 움직이지 않아야 하기 때문에 이 부분을 제외한 y,z 축만 따라 갈수 있도록 와이어를 걸도록 하겠습니다. 여기서 x축은 와이어를 걸지 않기 때문에 사용자가 필요에 따라 언제든 애니메이션을 줄 수 있습니다.


실제적인 셋팅 시작입니다.

먼저 ExposeTransform 에서 wire를 이어 보도록 하겠습니다. wire에서 Local Euler Y를 선택하고 삼각근 본에 Y축을 이어 줍니다. 그리고 biped 에서 삼각근 본 방향으로 커넥트 해줍니다. Z축도 마찬가지로 똑같은 방식으로 해주시면 됩니다.

끝입니다.


<ExposeTransform의 wire parameter>


<삼각근 본의 wire parameter>



<Z축은 위와 같이 창에서 곧바로 연결 해주면 됩니다>


간단히 테스트를 해보시면 삼각근 본은 팔의 x 축 방향을 제외한 나머지 방향은 똑같이 따라가면서 z축은 언제나 고정 되어 있습니다. 애니메이션 작업을 하다 보면 어깨가 한쪽으로 고정되어 있어서 시각적으로 좋지 않을때도 있습니다. 이럴때 삼각근 본의 x축 회전은 사용자가 언제든 키 값을 줄수 있습니다.(때때로 특정 축값에서 삼각근 본이 뒤집어 지는 경우가 있는데 이것은 특정 각이 90도가 되면서 두개의 축이 하나로 합쳐 질때 생기는 현상입니다. gimbal lock 이라고 하는 이 현상으로 로테이션 관련 셋팅에서 문제가 되지만 여기서는 자유롭게 x축이 조정이 되므로 사용자가 조정하여 해결 할 수 있을 것입니다)




ExposeTransform_set.max