Bone Setting & Skin (3/4)

셋업 조회 수 14589 추천 수 218 2002-12-07 18:57:48
SW : 3dsMax 

◎ IK Solver 및 제어에 필요한 Control 추가.

◦ 머리에서 골반까지~


<그림 18>


   골반 부위에서 머리까지의 본을 남기고 "Hide"를 시킵니다. 그리고 <그림 18>과 같이 기본 도형 도넛 2개를 가지고 그림과 같이 만듭니다. 도넛 두 개를 "Attach"를 시킵니다. 하나로 합쳐진 도넛을 앞에서 설명했듯이 기초작업을 해줍니다. 그리고 그림과 같이 도넛의 중심 축과 빨간 본의 흰점이 찍힌 곳에 정렬을 시킵니다. 도넛을 빨간 본에 링크를 시킵니다.

   그리고 "Motion Panel"로 와서 "Assign Controller"에 있는 “Rotation : TCB Rotation" 항목을 선택 후 "Assign Controller" 버튼을 눌러서 "Rotation List"로 바꾸어 줍니다. "Rotation List" 펼치면 "TCB Rotation"과 "Available"가 있습니다. 여기서 "Available" 클릭한 다음에 "Assign Controller" 버튼을 눌러서 “Euler XYZ"를 추가합니다.

   이렇게까지 작업을 해야하는 이유는 몸통에 적용될 본끼리 “Wire Parameters"를 적용시켰을 때 구속 되지 않기 위해서입니다. 그리고 "TCB Rotatin" 밑에 "Euler XYZ"가 있는데, 이 구조는 지켜주어야 합니다. 순서가 바뀌어 있으면 “TCB Rotation"의 기능이 상실됩니다. 이점 유의하시기 바랍니다.




<그림 19>


   1, 2, 3과 도넛을 <그림 19>와 같이 되도록 적용 시켜줍니다.
   이제는 “Wire Parameters"를 적용 시켜 보겠습니다. 먼저 걸리적거리는 가슴과 배에 본을 ”Freeze" 시킵니다. 선택툴이든 Transform툴이든 좌표 계를 "Local"로 맞추어 주세요. 오브젝트가 가지고 있는 좌표를 알아야지 “Wire Parameters"를 적용할 수 있습니다.



<그림 20>


<그림 21>


  먼저 <그림 18>에 도넛과 1번을 연결하겠습니다. 도넛을 선택 후 <그림 20>과 같이 메뉴바에 있는 “Animation"에서 “Wire Parameters"를 적용시키면 <그림 20>의 2번처럼 차례대로 찍어줍니다. 다 되었으면 <그림 18>에 있는 1번의 본을 클릭 하세요. 그리고 <그림 20>의 3번처럼 차례대로 찍어주면 <그림 21>처럼 “Parameter Wiring" 창이 뜰 것입니다. 흰색 화살표가 있는 곳을 클릭해서 “Connect"를 누르면 연결이 되었습니다.

   둘 중에 하나를 회전시키면 다른 하나가 영향을 받습니다. 이런 식으로 <그림 18>에 3번까지 작업을 해주시면 됩니다. 물론 Z축만이 아니라 X축과 Y축도 똑같은 작업을 해 주셔야 합니다. 가슴과 배에 있는 본을 제어하는 방법은 기본적인 “TCB Rotation"만을 사용할 것입니다. “Wire Parameters"를 적용하기도 애매하고 “Rotation Reactor"를 사용하더라도 적용될 상대가 “TCB Rotation" 하나만을 사용했을 때에는 문제가 되질 않지만 ”Rotation List"안에 “TCB Rotation"에는 적용이 되질 않습니다. “TCB Rotation"외에 다른 것이 있기 때문이고 다른 것으로 제어를 하기 때문. 지금까지의 척추 작업을 했을 때에 “Parameter Wiring"를 사용하기 위해서 ”Euler XYZ"를 사용했는데 여기서 사용하지 않았다면 “Parameter Wiring"를 적용할 수가 없습니다.


   그리고 ”Rotation List"안에 “TCB Rotation"와 ”Euler XYZ" 존재를 하지만 ”Euler XYZ"를 회전 시키더라도 실제 “TCB Rotation"은 움직이지 않는 것으로 간주합니다. 그래서 키 작업을 택하게 되었습니다. 사실 키 작업을 하더라도 애니메이션 작업에는 전혀 문제가 없다고 봅니다.

   "Assign Controller"안에 있는 “Reactor"는 마야에 있는 ”Set Driven Key"와 같은 역할을 합니다.
   안타깝게도 마야만큼의 결과를 얻기에는 조금 부족한 면이 있습니다. 참고하세요.
   가슴과 배에 숨을 쉬게 끔 작업을 해 봅시다. 실제 가슴은 숨을 쉬더라 크게 움직이지 않지만, 재미를 위해서 넣는다고 생각하시면 됩니다. 여기서는 “Add Custom Attribute"를 사용할 것입니다.





<그림 22>

   <그림 22>와 같이 파란색 "Point" 2개를 가슴과 배에 있는 본의 끝 쪽에다 배치를 시킵니다.
   파란색 “Point"를 배치시키는 이유는 “Add Custom Attribute" 적용시키더라도 원래의 위치를 알아두기 위해서입니다. 그리고 빨간색 본에다가 “Add Custom Attribute"를 추가시킬 것입니다.

   <그림 22>를 보시면 가슴과 배로 사용되는 본의 끝을 녹색 선으로 표시한 곳이 있죠. 그 2개의 본을 "Assign Controller"에 있는 “Bezier Position"을 ”Position List"로 바꾸어 주고 ”Position List"에서 "Available" 이용해서 “Position XYZ"를 추가 해줍니다. 이유는 원래의 위치 값을 유지하기 위해서입니다. 척추에서 했던 것처럼 말입니다.

   "Object Properties"에 들어가서 본 옵션에 <그림 22>와 같이 둘 다 ”Auto-Align"을 꺼주세요.
   옵션 중에 "Stretch"에서는 "Scale"를 택했지만, “Squash"를 선택해도 다른 재미를 볼 수 있습니다.


<그림 23>


   <그림 22>에 있는 빨간색 “Point"를 선택하고 메뉴바에 있는 "Animation"에 가서 “Add Custom Attribute"를 클릭 하세요. <그림 23>과 같이 창이 뜰 것입니다. 노란색 안에 있는 것만 수정을 해주시면 됩니다. “UI Type"에 ”Spinner"로 선택해 주시고 “Name"은 영문으로 적어주셔야 됩니다.

   필자가 한글로 입력했을 때에 알 수 없는 오류가 생기더군요.
   밑에 있는 “Range" 값을 ”From -5“, ”To 5“, ”Default 0"으로 넣어 주시고 “Add"버튼을 클릭하세요.
   그리고 한번 더 반복합니다. 한가지 더 말하자면 “From“ 값은 음수로 ”To"값은 양수로 넣어주세요.



<그림 24>


   <그림 24>처럼 “Parameter Wiring" 작업을 합니다. 빨간 "Point"를 찍고 가슴에 있는 빨간 테두리의 본을 찍습니다. 척추에서 했던 작업처럼 "Connect"를 시켜줍니다. 배도 이와 같이 작업을 해 주세요.
   빨간 “Point"를 선택 후, 모디파이어에 와서 ”Custom Attribute”의 치수를 바꿔 봅시다. 재밌죠!
   척추 작업에 마무리를 합시다. 허리에 있는 도넛을 “Hierarchy“에 ”Link info"로 가서 “Rotate"를 제외한 "Move"와 “Scale"의 "Lock"을 다 걸어줍니다. 애니메이션 작업 시 복잡하게 작업을 하다보면 생길 수 있는 실수를 막기 위해서입니다.

   머리로 사용될 본은 “Hierarchy“가서 ”Link info"에 있는"inherit"에 "Rotate"부분에 체크를 다 제거 하세요. 여기까지가 척추의 작업입니다. 허리에 있는 도넛을 방향별로 이리저리 돌려봅시다.


◦ 다리에서 발까지~
   다리와 발 부위에 먼저 "IK Chain"을 심도록 하죠. <그림 25>를 참조하면서, 1번을 선택한 상태에서 메뉴바에 "Animation" → "IK Solvers" → "HI Solver"를 클릭하고 2번을 선택하여 줍니다.



<그림 25>


    <그림 25>처럼 “A"라는 “"IK Chain"이 생깁니다.
   ”IK Limb Solver"를 사용하면 속도는 "HI Solver"보다 조금 빠르긴 하나, 회전 값이 없어 사용 할수가 없습니다. 2번과 3번을 사용하여 “B"라는 "IK Chain"이 생기고, 3번과 4번을 사용하여 “C"라는 "IK Chain"을 만듭니다. 척추 작업에서 했던 것처럼 도넛을 만들어 주세요. 크기는 작게 하고 한쪽의 3개씩 총 6개를 만들어 주세요. 이 부분에는 “Add Custom Attribute" 일부러 적용하지 않았습니다.

   필자가 작업해본 결과 이 방법이 더 직관적 이였습니다.



<그림 26-A >

<그림 26-B>


   <그림 26-A >처럼 도넛의 중심과 "IK Chain" 의 중심을 각각 배치 해 주세요. “C"라는 뒷굽 쪽에 있는 도넛은 실제 모델의 신발 끝에 맞추어 주시면 좋습니다. 링크 작업을 하기 전에 발 쪽에 있는 6개의 “IK Chain"을 <그림 26-B>와 같이 셋팅을 해주세요.




<그림 27>

    1번과 2번의 “IK Chain"을 "A"라는 도넛에 링크를 시켜 줍니다. ”A"와 3번 “IK Chain"을 ”B"에 링크를 시켜줍니다. "B"도넛을 “C"도넛에 링크를 시켜 줌으로써 링크 작업은 끝입니다. 이제 다리의 마지막 작업입니다. “IK Solver Properties"에 "Swivel Angle"을 셋팅을 합시다. <그림 27> 먼저 툴바에 있는 "Manipulate"를 활성화시킵니다.

   그러면 <그림 27>처럼 “Plane Angle"이 뜹니다. “Point"를 만들고 난 후에 양쪽 다리 모두를 참고 그림처럼 배치를 시킵니다. 그리고 발목에 있는 "IK Chain"을 하나 선택해서 <그림 27>에 왼쪽 노란칸에 “Pick Target" 아래를 클릭해서 "Point"를 찍어 줌으로서 다리의 작업이 끝났습니다. 나머지 한쪽도 작업을 해 주세요. 발에 있는 도넛을 이리저리 돌려봅시다. 어때요 마음에 드나요. ^^ 헥헥헥~

◦ 쇄골에서 손가락까지~


<그림 28>

   이제 팔에 “IK Chain"을 심도록 하겠습니다. <그림 28> 참조하면서 1번을 선택한 상태에 메뉴바에 "Animation" → "IK Solvers" → "HI Solver"를 클릭하고 2번을 선택하여 줍니다. <그림 28>처럼 “A"라는 “"IK Chain"이 생깁니다. 2번과 4번을 사용하여 ”B"라는 “IK Chain" 생성합니다.



<그림 29>

   <그림 29>에서 보듯이 한쪽이 찌그러진 도넛이 필요합니다. 방향성을 쉽게 구분하기 위해서 찌그린 것입니다. 기존의 것을 수정해서 사용하시고, 도넛의 축을 <그림 28>과 같이 “Pivot" → "Affect Piv
   ot Only"를 사용해서 옮겨주세요. 도넛의 위치도 <그림 29>와 같이 맞추어 주세요. "Dummy"를 하나 만들어서 손몬에 있는 "IK Chain"에 정렬 시켜주세요.

   방금 만든 "Dummy"는 “Add Custom Attribute"를 적용시키기 위해서입니다. “Dummy"는 손목에 있는 빨간색 본에 링크를 시키세요. 손목으로 사용하는 본에 “Add Custom Attribute"를 적용할 수도 있지만, 본을 움직이다 보면 예상치 못한 오류를 발생해서 “Dummy"를 사용하게 되었습니다.

   다리에서 작업했듯이 "Manipulate"를 활성화시킵니다. 그리고 “Point"를 만들어서 <그림 29>의 참고와 같이 정렬을 시킨 뒤에 다리에서 한 것처럼 손목에 있는 "IK Chain"을 선택해서 “IK Solver Properties" → “Pick Target"을 적용 시켜줍니다. <그림 27> 참고. 쇄골 부위에 있는 도넛을 목 바로 밑에 있는 본에다가 링크를 시키고 <그림 28>에 “A"라는 ”IK Chain"을 도넛에다 링크를 시켜주세요. “Link Info"에 가서 "Rotate"를 제외한 “Move" & "Scale"에 "Lock"을 걸어주세요.


   좀 전에 말씀드린 것처럼 작업 시 실수를 줄이기 위해서입니다. 자~ 이제 손가락 작업을 마지막으로 본의 셋팅을 마치기로 하겠습니다. 휴~


   손가락에 “Add Custom Attribute" 적용시켰을 때에 손가락이 각각 움직일 수 있는 컨트롤과 동시에 제어 할 수 있는 컨트롤이 필요합니다. 문제는 어떻게 적용하는지가 중요합니다.



<그림 30>

   <그림 30>을 보시면 "Assign Controller" 트리 구조가 있는데 작업자 자신에게 맞는 구조를 가지면 됩니다. 필자는 “A"가 편해서 ”A"를 적용시키겠습니다. 시간이 나시면 "B"로도 한번 해보시길 바랍니다.



<그림 31>


먼저 <그림 28>에 4번 본을 선택해서 <그림 31>과 같은 구조를 만들어 줍니다. 그런 다음 “Dummy"를 선택하여 “Add Custom Attribute"를 추가시킵니다. 일단은 샘플로 9개만 만들겠습니다.

   <그림 23>과 같이 “Add Custom Attribute" 창을 띄우신 다음에 “UI Type"에 ”Spinner"로 선택해 주시고 “Name"은 영문으로 적어주세요. 지금은 왼손을 작업하고 있으니 “Left_xxx"라는 식으로 나가겠습니다. 밑에 있는 “Range" 값을 ”From -1.25“, ”To 1.25“, ”Default 0"으로 넣어 주시면 됩니다.



<그림 32>


   <그림 32>과 같이 작업을 해주세요.


<그림 33>


<그림 34>


   설정이 다 되었으면 <그림 33>과 같이 흰 선으로 선택되어 있는 본만 <그림 34>와 같이 일일이 작업을 해주세요.

   참고로 Free 스크립트 중에 “ http://www.geocities.com/maxresources/Macro_QuickAssign.txt “을 하드 디스크로 저장해서 파일 확장자를 “*.ms“로 교체한 다음 맥스에서 스크립트를 실행시켜 ”Customize User interface" → "ToolBars" → "Category"에서 “QucikAssign....."선택하여 Position, Rotation, Scale등을 툴바로 만들 수 있습니다. 필요한 만큼의 오브젝트를 선택하여 한번에 클릭으로 쉽게 제어 방법을 교체할 수가 있습니다. 단 <그림 34>의 작업은 트리 구조를 갖기 때문에 직접 작업을 해야만 합니다. ^^;



<그림 35>

   마지막으로 “Wire Parameters"만 남았습니다.
   <그림 35>와 같이 각각의 손가락을 "Wire Parameter"시켜 줍니다. <그림 35>에 "A"는 각각의 손가락 제어를 하기 위한 것이며, 아래 “B"는 전체 손가락 제어를 위한 것입니다. "Wire Parameter"를 두 번씩이나 작업을 할 필요가 없고 한번에 작업으로 각각의 손가락 제어와 손가락 전체 제어를 연결할 수가 있습니다. 그리고 “Add Custom Attribute"를 적용시킨 "Dummy"를 손목에 있는 "IK Chain"에 링크를 시켜 줍니다.

   여기까지 오셨다면 기념으로 하나 더~




<그림 36>


   <그림 36>참고하면서 골반 부위에 빨간 본을 선택하시고, 노란색 네모 칸에 “Position"을 그림과 같이 바꾸어주세요. 주의 할 것은 순서를 무시하지 마세요. 작업 방법은 기본적으로 되어 있는 “Bezier Position"을 "Position Constraint"로 바꾸어 주시고 그 다음에“Position List"로 바꾸고 ”Available"을 사용해 “Bezier Position"을 추가시키시면 됩니다. “Bezier Position" 상위에 있으면 움직일 수가 없기 때문이죠. <그림 36>에 제어 전환 창을 보시면 "Position Constraint"에서 "Add Position Target"을 눌러 발 쪽에 있는 도넛을 클릭 해 줍시다. 그러면 위치가 이상하게 바꿔져 버립니다. 그 상태에서 남은 도넛도 추가 해 주세요. <그림 36> 좌측 맨 밑쪽에 “Keep initial Offset"을 누르면 원 상태로 돌아옵니다. 뜻은 ”원래 상태를 유지“한다는 뜻입니다. 다른 방법으로는 제어 전환 창에서 ”Bezier Position"을 활성화 시켜서 움직여도 됩니다.


자~ 여기까지가 본 셋팅 이였습니다.


◈ 필자 : 이준엽
◇ 현, 넥슨 근무
'로그인' 후 이용 가능합니다.
글 수 36
List of Articles
번호 제목 날짜 조회 수 추천 수
21 렌더링 Twins3D의 Light 사용법은...(3/7) 스틸 이미지 제품에 맞는 조명들 file 2003-01-15 24,454 230
20 렌더링 Twins3D의 Light 사용법은...(2/7) 인테리어와 같은 내부 조명들 file 2003-01-15 30,202 235
19 렌더링 Twins3D의 Light 사용법은...(1/7) 라이팅연구의 필요성 file 2003-01-15 36,892 383
18 렌더링 매트리얼 ID로 분리된 오브젝트 그라데이션 시키기 file 2002-12-10 18,783 212
17 모델링 꼬마 얼굴만들기 file 2002-12-10 30,495 210
16 셋업 Assign Controller 활용 file 2002-12-08 16,140 196
15 셋업 Bone Setting & Skin (4/4) file 2002-12-08 19,489 198
» 셋업 Bone Setting & Skin (3/4) file 2002-12-07 14,589 218
13 셋업 Bone Setting & Skin (2/4) file 2002-12-06 17,748 218
12 셋업 Bone Setting & Skin (1/4) file 2002-12-06 27,672 227
11 렌더링 기초: 명령프롬프트에서의 Batch Render file [1] 2002-12-15 13,304 180
10 렌더링 기초: Batch Render (Animation Rendering) file [1] 2002-12-15 16,411 173
9 렌더링 물체를 어떻게 Array(배열) 하나요? file 2002-12-07 11,980 192
8 렌더링 MEL 스크립트를 "Shelf"메뉴에 등록하기 file 2002-12-07 11,529 191
7 렌더링 "In-Out Mesh" 를 이용한 편리한 Polygon모델링 file 2002-12-07 13,259 208
Board Search




XE Login

OpenID Login