cglandlogo First Page
고객센터   
gallery media job community contentsmall  
  dbrush Blizzardfest 2014
 
[튜토리얼]Mobi의 XSI에서 피스톤 만들기   2003-05-19
Softimage|XSI에서 Constraint와 Skeleton Bone을 이용해 간단한 피스톤의 메커니즘을 제작하는 강좌
씨지랜드기자 cgland@cgland.com
ⓒ 디지털브러시 & cgland.com, 무단 전재 및 재배포 금지
게시글을 twitter로 보내기 게시글을 facebook으로 보내기 게시글을 Me2Day로 보내기

Mobi의 피스톤 만들기

이 강좌에서는 Constraint와 Skeleton Bone을 이용해 간단한 피스톤의 메커니즘을 제작합니다. IK(Inverse Kinematics, 역 키네매틱) 기저의 수학을 활용해 Constraint에 반드시 의존하지 않고도 다양한 문제를 해결할 수 있습니다. XSi 3.0 +을 사용했지만 다른 버전에서도 작동할 것입니다. 하지만 XSI에서는 앞선 버전과의 호환성을 보증하지 않으므로 3.0보다 이전 버전의 경우 모델을 직접 생성해야 할 수도 있습니다.

개요

[여기]를 클릭해 모델 파일을 다운로드하여 작업할 데이터베이스의 Models 폴더 안에 저장하십시오. 그런 다음 File>Import>Model을 클릭하고 CervoDemo.emdl을 선택하십시오.

시작

이 예제에서 파랑색 손잡이가 회색 피스톤의 움직임을 제어하게 될 것입니다. 손잡이가 위아래로 움직이면 피스톤의 끝부분이 수직으로 진동하면서 손잡이의 운동을 따릅니다.

자, 시작해볼까요?

먼저 파랑색 제어 막대의 길이에 맞는 체인 스켈레톤을 하나 뷰포트에 가져옵니다(Animate>Create>Skeleton>Draw 2D Chain 선택). 루트의 이름을 MasterRt로 이펙터의 이름을 AnimateIK로 바꿉니다.

그런 다음 회색 피스톤의 길이에 맞는 또 다른 2D 체인을 가져옵니다. 루트의 이름을 Slave로, 이펙터의 이름을 ConstrainedIK로 바꿉니다.

그런데 만약 자신의 와이어프레임 색상이 그림과 일치하지 않는다고 해도, 걱정 마십시오. 제가 구별하기 편하게 색상을 바꿨거든요.

이제 두 체인을 모두 Y축 방향으로 이동하여 Bone이 지오메트리를 둘러싸도록 만드십시오.

다음 단계는 두번째 체인(Slave)의 루트를 AnimateIK의 자식으로 만드는 것입니다. 탐색기에서 Slave를 마우스로 선택한 다음 마우스 왼쪽 단추를 클릭한채로 AnimateIK로 드래그하십시오(먼저 Master의 계층을 펼쳐야 할 것입니다). 그런 다음 AnimateIK가 자주색으로 변하면 마우스 단추를 놓습니다.

이제 Slave는 AnimateIK의 자식이 되었습니다. Slave를 선택한 다음 오른쪽 아래 Parent 단추를 클릭하고 AnimateIK를 선택해도 자식으로 만들 수 있습니다. 개인적으로 저는 더 빠른 드래그 앤 드롭 방식을 사용합니다(아래에서 설명).

이 설정으로 인해 AnimateIK를 X축으로 이동하면 Slave 체인이 움직입니다. 하지만 ConstrainedIK가 Bone과 함께 움직이며 X축 방향으로 아래위로 미끌어지지 않는 결과를 얻은 것은 아닙니다. 이동을 모두 취소하여 Bone을 이동했던 위치에 배치하십시오.

Null을 가져와서(Get>Primitive>Null 선택) 이름을 EndConstraint로 바꾸십시오.

Null을 ConstrainedIK와 같은 위치에 배치하고 Y축 상의 위치를 개략적으로 정확히 배치하십시오. Null의 위치는 나중에 정확히 이동할 수 있으므로 지나치게 신경쓰지 않아도 됩니다. 분명히 알아보기 위해 Null을 파랑색으로 만들었습니다.

ConstrainedIK을 선택하고 이전에 스켈레톤에서 한 것처럼 EndConstraint의 자식으로 만드십시오.

ConstrainedIK를 선택하고 프레임 1에서 이동 키를 저장하십시오. ConstrainedIK를 선택한채 v를 누른 다음(이동 선택) k를 누르십시오(키프레임 저장). 이렇게 하면 IK(Inverse Kinematics)가 호출되어 ConstrainedIK가 EndConstraint에 연결됩니다.

키프레임을 저장하지 않을 경우 회색 피스톤이 정확히 움직이지 않습니다. AnimateIK를 이동하면 ConstrainedIK가 직선으로부터 벗어나지 않음을 알 수 있습니다.

마지막으로 hornModel을 Master Bone의 자식으로 만들고 rodModel을 Slave Bone의 자식으로 만듭니다. 피스톤을 움직이기 위해 AnimateIK를 애니메이션합니다.

이메일: info@stevenwhite.net --- 웹사이트: www.ballisticpanda.com

 
스튜디오 연결끊기