본문 바로가기

러프한 작업들

[R&D]Link Constraint 를 이용한 Bone의 Biped식 움직임 구현

 안녕하세요 아무개 입니다. 조금 늦은감도 있지만, 일전에 R&D 했던 간단한

Bone Setting을 올려볼까 합니다.


역시나 웹에서 설명한 내용을 한두번만 따라해보면 사용 할 수 있는 심플한 방법이지만

당최 '왜' 그렇게 하는지를 몰랐는데 이번에 이리저리 뜯어보면서 어느정도 방법의 선택이

왜 그리하였는지를 알게 되어 R&D 를 하게 되었습니다. (정확하지 않을 수도 있답니다ㅜㅜㅜ)

추후에도 이야기를 하겠지만 MAX2009에서는 기본적으로 본을 생성해도 지금 하는 세팅처럼

움직여집니다. 이 작업은 MAX2008 이하를 사용하시는 분들에게 필요한 세팅법 입니다.


Link Constraint 를 이용한 Bone의 Biped식 움직임 구현

이 작업의 특징부터 먼저 말씀 드리자면

1. 전체 선택하여 움직인 Bone은 Biped의 손가락처럼 자연스럽게 굽게 됩니다.

2. 움직여진 모든 Bone은 각각의 프레임 위치에 키가 발생하게 됩니다.

3. 체인구조나 기타 세팅과는 달리, 개개의 Bone마다 로테이션을 적용 할 수 있습니다.

 이 세가지가 가장 주안점이라고 말씀 드릴 수 있습니다. 원래 사용하는 Bone은 전체 선택을

하여도 가장 어미의 Bone만 움직이는 반면,세팅이 완료된 본은 전체선택후 로테이션이 모든

Bone에 들어가게 되며, 일반 Bone는 전체 선택 후 Rotation을 하여도 어미의 Bone만 키가

발생하지만 세팅이 된 Bone는 전체 Bone에 키가 들어갑니다.


세팅된 본은 주로 망토나 천, 의상 등 계층적 움직임에 활용되며, [전체선택하여 움직임(모든

Bone의 움직임)후- 개별적인 Rotation으로 자연스러운 위치 구현] 을 할 수 있습니다. 또한

Bone로 Setting한 몬스터나 사람 같은 사물의 형상의 경우, 손가락 같은 부분을 개별로 움직이는

것이아닌, 전체 선택으로 컨트롤 할 수 있다는 장점이 있습니다.


-캡쳐 화면들 인지라 이미지 사이즈가 중구난방입니다. 보기 거북스러운 그림들은 클릭을해서

원본 사이즈로 보심을 추천합니다. 

 

#작업 순서 및 설명

 

① 필요한 만큼의 Bone를 생성 합니다. 이 Bone는 End Bone를 사용하지 않으므로
삭제 하여도 좋습니다.(필요시 남겨 두어도 됩니다)




② Link Constraint 를 적용할 시 상위 Bone의 Move,Rotation, Scale 값 변동이 있으므로
 전체 선택 후 모든 링크를 풀어줍니다. 



③ 모든 링크를 해제 한 후, 가장 하위의 본부터 어미 본까지 Link Constraint 시켜줍니다.
상단메뉴 Animation텝 - Constraint - Link Constraint 에 있습니다.

(이렇게 각각 상위에 Link Constraint를 해줍니다.)



 
여기서 Link Constraint 를 해주는 이유를 첨에 잘 모르고 사용하였습니다. 그래서 여기저기 검색
을 해보고 찾아보았는데 Link Constraint 를 역시나 링크제약으로 사용하는 예기만 나왔더라구요

 Link Constraint 란 맥스에서 재공해주는 Transforn Constraint 로서 Link Constraint가 설정
되어있는 오브젝트는(Biped 제외) 원하는 프레임에 원하는 오브젝트의 하위로 Link가 가능하도
록 해 주는 기능입니다. 

 현실적으로는 부모와 자식의 관계가 아니지만 사용자가 지정한 프레임동안 원하는 오브젝트의
자식Link가 되고, 월드로 두게 되면 아무곳에도 종속되지 않는 개별 오브젝트가 되는 기능입니다.



 일단의 쓰임세는 여기까지였는데.. "왜 전체 움직임에 Rotation이 들어가는 세팅을 하는데
Link Constraint 를 하는것인가?" 라는의문을 가졌습니다. 사실 이 제약의 필요성은 링크를
원하는 위치에 원하는 곳으로 띠었다 붙였다 하는것인데 말이지오. 

그래서 주욱 알아본 결과
'Link Constraint가 적용된 Bone은 상위 Bone에 대하여 Rotation joint 를 따로 적용하지 않고
계층적으로 들어간다'
는것을 알게 되었습니다.
우측 페널의 Hierarchy 텝의 IK항목을 주목해 보시면 확연히 아실 수 있습니다.


 위 그림을 보시다싶이 Bone 에 Link Constraint 를 적용하기 전과 후의 Controll이
달라졌습니다. 이렇게 함으로서 종속된 상위 오브젝트에 맞춘 움직임이 나오는 것입니다.



 ④ Link Constraint 는 기본적으로 Add된 링크가 아닙니다. 시네마틱 뷰로 계층을 살펴보면
전부 수평관계인 것을 알 수 있습니다.



 그래서 다시 처음의 Bone를 만든 상태처럼 각각 상위의 Bone에 링크를 걸어줍니다.

(상위에 각각 Link 시킨 후의 구조)


 ⑤ 전체 선택 후 보시면 기즈모가 부모의 피봇에 위치하지 않습니다. 그래서 상단 텝에서
Use Pivot Point Center를 선택 해 주어 부모위치에서 컨트롤 할 수 있도록 해줍니다.



 이상으로 세팅이 끝났습니다. 이렇게 세팅을 하면 전체 선택 후 Rotation을 하면 Biped처럼
움직이게 됩니다. 그리고 단순한 링크 구조로 되어있어 움직인 후 각각의 본을 원하는 만큼
움직여 위치를 수정 할 수 있습니다. 또한 불필요한 키도 제거 가능하며 기본적인 Bone의
역할을 수행하게 됩니다.


 이 설정은 3Ds MAX 2008 부터는 Bone 제작 시 자동으로 세팅 되어서 나옵니다. 그러니
맥스 2008 이전 버젼에서만 사용하시면 되겠습니다.


감사합니다 'ㅁ'// 


 

'러프한 작업들' 카테고리의 다른 글

듀라한  (0) 2011.05.06
[R&D]Spring Controllers 와 Bone 을 이용한 계층적 움직임  (10) 2010.11.04
스컬피 두개골 2010/05/14 金  (0) 2010.05.14
스컬피 왼손 2010/05/13 木  (0) 2010.05.13
몬스터 - 5단 콤보  (4) 2010.05.03