Assign Controller 활용

셋업 조회 수 16200 추천 수 196 2002-12-08 11:46:24
SW : 3dsMax 

☺ 이번에는 맥스에 기본적으로 있는 Controller를 조합한 응용을 해 보겠습니다.

1) Position (Bezier + Noise)를 이용한 1인칭 시점의 카메라 움직임.


<그림 00>


   먼저 <그림 00>과 같이 여러 개의 박스를 만들고 적당한 위치에 "Free Camera"를 만듭니다.

   여기서 “Target Camera"가 아닌 ”Free Camera"를 만든 이유는 “Target Camera"일 때는 ”Target"과 "Camera"를 각각 제어하여야 하기 때문에 작업이 번거롭습니다. 응용을 한다면 "Dummy"를 사용해도 괜찮습니다. 일단은 예제를 따라 함으로써 이해를 하시고, 응용은 본 예제를 따라 한 후에 한번 해보시기를~


<그림 01>


   “Free Camera"를 선택 후 모션 패널로 가셔서 ”Position" 부분을 <그림 01>과 같이 바꾸어 줍니다. 바꾸는 방법은 다음과 같습니다.
   먼저 “Position"을 선택 후 ”Assign Controller" 버튼을 누르면 창이 하나 뜨는데, 여기에서 “Position List" 를 선택하여 줍니다. 그러면 “Position List"속에 "Bezier Position"이 포함되어 있고 밑에는 ”Available"있을 것입니다. 여기에서 ”Available"를 선택하여 “Assign Controller"버튼을 누릅니다.


<그림 02>


   아까와 같은 창이 뜨는데 여기서는 “Noise Position"을 선택하여 줍니다. "Noise Position"을 만들었을 때 <그림 02>와 같은 창이 뜰 것 입니다. 설명은 다음과 같습니다.

   Seed : 불규칙한 움직임의 형태를 바꿀 때.
   Frequency : 불규칙한 움직임의 간격을 좁히고 넓힐 때 사용.
   XYZ Strength : 축 방향으로 움직이는 힘을 조절 할 때. (양의 값일 때 움직임이 심함.)
   Fractal Noise : 움직임을 좀 더 불규칙적으로 할 때.
   Roughness : Fractal Noise가 체크 되었을 때 사용함. 0에서 1사이의 값을 사용함.
   Ramp in : 처음 시작 시 변화가 없다가 점점 갈수록 “Noise"의 값이 생김.
   Ramp out : 끝으로 가면서 점점 “Noise”의 값이 없어짐.

   "Position"의 값의 셋팅을 마쳤으면 이제는“Rotation"값도 바꾸어 봅시다.




<그림 03>


   “Free Camera"를 선택 후 모션 패널로 가셔서 ”Rotation" 부분을 <그림 03>과 같이 바꾸어 줍니다. 바꾸는 방법은 다음과 같습니다. "Rotation"부분에 “Noise"의 축은 "X"와 ”Z"축에만 값을 주고, “Y"축에는 값은 0으로 합니다.

   여기까지 하셨다면 “Play”를 시켜 본 다음 자기가 맞는 움직임이 나올 때 까지 값을 조절하시면 됩니다.


2) Spring


<그림 04>

   먼저 박스 하나와 본을 <그림 04>와 같이 만들고 배열 시킨 후, 각각의 본의 최상 위를 선택해서 박스에 링크를 시킵니다.


<그림 05>

  <그림 05>와 같이 각각의 본에 "IK Chain"(HI Slover)을 심습니다. 이제는 각각의 “IK Chain"에 스프링이라는 기능을 추가 하겠습니다. “IK Chain"을 하나 선택해서 모션 패널 이동합니다.


<그림 06>


   <그림 06>과 같이 “IK Chain"에 ”IK Goal"을 펼쳐서 "Position : Bezier Position"을 “Spring"으로 바꿔주세요. 바꾸게 되면 <그림 07>과 같은 창이 뜹니다.


<그림 07>


“Spring"에 대한 설명은 다음과 같습니다.

Point
      Mass : 치수가 클수록 흔들림이 큼.
      Drag : 치수가 높으면 반동이 줄어듦.
Spring ( 스프링이 적용된 오브젝트가 다른 오브젝트에 부딪히게 할 때 사용.)
      Add : 충도 반사 작용이 일어날 오브젝트를 지정할 수 있다.
      Remove : 적용한 오브젝트를 제거 할 때 사용.
Tension : 스프링이 적용된 오브젝트가 목록에 선택한 오브젝트와 충돌했을 때 얼마나 반동을 일으킬지를 정합니다. 수치가 낮을수록 목록에서 선택한 오브젝트 쪽으로 많이 다가가야 반동이 일어난다.
Dampening : 반동된 오브젝트가 얼마나 빨지 정지될지를 정한다. 치수가 높으면 빨리 정지함.
Relative/Absolute : Relative가 적용된 상태에서 치수를 입력하면 이미 입력된 치수에 새로운 치수를 더함.

External Forces
      Add/Remove : 스페이스 웝스를 추가하거나 제거 할 때 사용.
Calculation Parameters
      Start Frame : 몇 프레임부터 적용될지를 정함.
      Iterations : 치수가 높을수록 정교하세 나옴.
X/Y/Z Effect : 스프링 효과가 X, Y, Z 방향으로 얼마나 작용할지 정한다.



   일단은 디폴트 값으로 하시고 각각의 “IK Chain"을 박스에 링크를 시켜 주세요. (이론상 먼저 링크를 시켜도 되지만 맥스의 버그(?)때문인지... 이상하군요.)

   박스를 100프레임까지 이리저리 움직여 본 후, 플레이를 시켜 보세요. ^^v




3) Reactor

   맥스 기본 예제 중에 “Reactor-Door.max”를 보신 적이 있을 것 입니다. 손잡이만 회전을 시켜도 2중으로 된 문이 열리는 예제를 말입니다. “어떻게 해요?“라는 질문을 많이 받은 적이 있었죠. 그래서 이 기회에 설명을 한번 해 보려고 합니다. 참고로 맥스에서의 “Reactor"기능은 마야에서 ”Set Driven Key"와 같은 역할을 합니다.)


<그림 8>

   먼저 2개의 문으로 사용될 박스를 만든 후에 <그림 8>에 빨간색 원과 같이 “Pivot"을 설정하여 줍니다.
그리고, 링크를 시켜주세요.


<그림 9>

   <그림 9>와 같이 나머지도 만들어 주세요.
   자~ 그러면 <그림 9>에 왼쪽 문이 먼저 움직일 때 오른쪽 문이 반응하도록 만들어야 합니다.
   그렇다면 왼쪽문은 핸들에 움직임에 반응을 하도록 해야겠죠!
   왼쪽 문을 선택 후 모션패널로 가서 "Rotation : TCB Rotation"을 “Rotation : Rotation Reactor"으로 바꾸어줍니다. 그러면 <그림 10>과 같은 창인 뜹니다.


<그림 10>

   <그림 10> "A"에 보시면 새롭게 뜬 창에 "Reactor" 버튼이 있을 것입니다. 클릭해서 뷰포트 상에 있는 핸들(실린더)를 클릭하면 <그림 10>에 "B"와 같은 서브 메뉴가 뜰 것 입니다. “Rotation"항목에 클릭을 하세요. (여기서 참고로 지난 2000년10월 아티산에 나갔던 예제에 실린 내용인데, TCB가 아닌 XYZ 콘트롤러로 되어 있으면 적용이 되질 않습니다.)

   그러면 "Reactor"창에 뭔가가 추가가 되었을 것입니다. 다시 핸들을 선택해서 적당히 돌려줍니다.

   “Reactor"창에 "Create Reaction"을 눌러 추가를 해줍니다. 이때 ”Edit Reaction State"를 눌러 왼쪽 문이 열릴 만큼 회전을 시켜줍니다. “Reactor"창을 닫은 다음 핸들을 졸려 봅시다.

   작업자가 정한 범위 내에서 어때요~ 문이 움직이나요. 이제 오른쪽 문을 작업해 봅시다. 핸들을 돌려서 문을 닫은 상태로 되돌려 놓으세요. 오른쪽 문을 선택해서 왼쪽문과 같이 "Rotation : TCB Rotation"을 “Rotation : Rotation Reactor"으로 바꾸어 줍니다.




<그림 11>

   <그림 11>에 “A"를 클릭해서 오른쪽 문을 클릭하면 ”B"처럼 서브 메뉴에 “Rotation" 을 클릭해 줍니다. 다시 핸들을 돌려 문이 열리도록 한 다음에 "Create Reaction"을 눌러 새로운 값을 생성 후, ”Edit Reaction State"을 눌러 회전 시킬 만큼 돌린 후, “Reactor"창을 닫습니다.


   이제 완성이 되었습니다. 핸들을 이리 저리 돌려보세요.

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




XE Login

OpenID Login