XSI 1.5

Character Modeling

 

 

 

XSI를 이용한 단편 애니메이션 제작

- 단편 애니메이션 'BIRD'를 중심으로 -

 

이종정 / anikoleez@anikoleez.com

www.anikoleez.com

 

 

 

 

캐릭터 모델링

 

 

  이번 호에서는 SOFTIMAGE XSI의 Subdivision Surface Modeling 방식을 이용하여 만든 Animation 'BIRD'의 주인공 캐릭터의 모델링 과정을 소개하고자 한다. 사용된 Software의 Version은 SOFTIMAE XSI 1.5로 작업하였다.

 

  Animation 'BIRD'에서 나오는 캐릭터는 총 4명(선생님, 아이 1, 2, 3)으로 구성되어 있다. 모두 같은 부족의 캐릭터로 그 형태나 외모가 유사하다. 다만 선생님은 어른이므로 다소 무서운 이미지가 강조되었고 아이들은 귀엽고 순진한 면이 부각되도록 하였다. 이번에 소개되는 캐릭터 모델링 과정은 4명의 캐릭터 중에서 가장 특징적인 선생님 캐릭터의 모델링 과정을 예제로 하여 독자 여러분들이 이해하기 쉽도록 단계적으로 설명하도록 하겠다.

 

 

 

모델링

 

  모델링(Modeling) 과정이란 스케치를 통하여 선별된 캐릭터를 3D software에서 입체적으로 구성하는 작업이다. 따라서 아무리 좋은 아이디어와 스케치된 캐릭터 디자인이 있다 하더라도 이 과정에서 그것을 소화해내지 못한다면 좋은 작품을 기대할 수 없게 된다.

  SOFTIMAGE XSI 1.5에서 지원하는 모델링 방식은 대체적으로 다음 3가지로 요약된다.

 

 Polygon Modeling - Vertex(정점), Edge(변), Face(면)로 구성된 전통적 모델링 방식.

 NURBS(Non-Uniform Rational B Spline) Modeling - CV와 Hull로 구성되었으며 적은 양의 데이터로 부드러운 곡선, 곡면을 얻을 수 있다.

 Subdivision Surface Modeling - Polygon과 유사한 구조를 가졌으나 메쉬 분할기법을 이용하여 매끄럽고 부드러운 곡면을 만들어 낼 수 있다. NURBS와 Polygon의 장점만을 살린 모델링 방식이라고 할 수 있다.

 

  Animation 'BIRD'의 제작에 쓰여진 캐릭터 모델링은 대부분 Subdivision Surface Modeling 방식을 사용하였다.[그림1] 이 모델링 방식은 캐릭터와 같은 복잡한 형태의 모델링에 가장 효과적이다. 데생을 하듯이 큰 덩어리로부터 조금씩 다듬어 세밀한 부위까지 표현해 나가는 것이 특징이며, Subdivision Level을 조절하여 모델의 디테일 강도를 원하는 데로 얻어낼 수 있다. 물론 Subdivision Level 값은 언제든지 변경이 가능하다.

[그림1]

 

 

 

얼굴 모델링

 

  얼굴 모델링에 들어가기 전, [그림2]와 같이 캐릭터의 정면과 측면을 스케치하여 스캐너를 이용해 이미지 파일로 준비를 한다. 파일 포맷은 tga, bmp, jpg, gif, tif, pic(softimage format), sgi 등 어떤것도 상관이 없으나 파일명은 영문으로 하길 바란다. 한글명의 파일은 SOFTIMAGE XSI에서 읽어들이지 못하는 경우가 생길 수 있다.

[그림2]

 

1. XSI를 실행하고 Front 뷰포트의 우측 상단 메뉴에서 Rotoscope를 클릭한다.[그림3] 그러면 Camera Rotoscopy 프로퍼티 창이 열릴 것이다. 여기서 New 버튼과 New Form File...을 눌러서 위에서 언급한 캐릭터 스케치 파일을 불러들인다.

 

[그림3]

 

  [그림4]와 같이 불러들인 이미지가 정면과 측면이 한 장의 그림(하나의 이미지 파일)으로 되어 있을 경우에는 커서를 그림 위에 놓고 키보드의 'B'를 눌러 이미지를 Crop 한다.(혹은 그림 위에 커서를 위치하고 마우스 오른쪽 버튼을 눌러 Crop Tool을 선택한다.) Front 뷰포트에서의 작업이므로 정면 그림만 남겨놓고 나머지는 잘라낸다.

 

[그림4]

 

  그리고 나서, Edit...버튼을 누른 뒤 FX 탭의 Color Correction/Gain 값을 50으로 낮춘다. 이것은 모델링 작업시 Point와 Object가 잘 보이게 하기 위해서 이미지의 배경색을 조금 어둡게 하는 것이다.

 

  Camera Rotoscopy 프로퍼티 창을 닫고 Front 뷰포트 상단의 Zoom Rock 버튼[그림5]을 누른다. 이렇게 하면 로토스코프 된 이미지가 뷰포트의 Zoom In, Zoom Out의 영향을 받으므로 모델링시 편리하다.

 

[그림5]

 

  이상과 같은 방법으로 Right 뷰포트에도 측면 스케치 그림을 로토스코핑 한다. 그러면 뷰포트는 [그림6]과 같이 될 것이다.

 

[그림6]

 

 

 

2. MODEL Primitive Polygon Mesh Cube를 실행하여 폴리곤 큐브를 만든다. 그리고 Cube의 프로퍼티 창에서 Subdivisions의 Base 값을 5로 설정한다.[그림7] 그리고 나서 'T'를 눌러 태그모드로 전환한다. 그리고 [그림8]과 같이 Front 뷰포트 상의 왼쪽 태그를 모두 선택하여 중심축을 아주 조금 지날 정도로 이동시킨다. 그런 다음, 'U'를 눌러 Polygon Select(Raycast) 모드로 전환한다. 그리고 [그림9]와 같이 Camera 뷰포트에서 Cube의 안쪽 면을 모두 선택하여 Delete한다.

 

[그림7]

 

 

[그림8]

 

[그림9]

 

  그 뒤, Space Bar를 눌러 다시 Cube를 선택한다. 일단 우측 하단 Edit 메뉴 아래의 Immed 버튼이 꺼져 있는 것을 확인한 다음, 좌측 툴바의 MODEL Create Poly.Mesh Subdivision 명령을 실행시켜 서브디비젼 모델을 만든다. 서브디비젼 프로퍼티 창에서 Subdivision Level 값을 적당히 설정한다.[그림10] 지금은 2정도가 적당할 것이다.

 

[그림10]

 

  그리고 나서 생성된 서브디비젼 모델을 선택한다. 우측 하단의 Edit 메뉴를 눌러 Duplicate Instantiate/Instantiate Single을 실행한다.[그림11] 그리하여 서브디비젼 모델의 인스턴트 오브젝트를 만든 뒤, 인스턴트 오브젝트의 스케일 X값을 -1로 설정한다.

 

[그림11]

 

  이렇게 하여 기존의 Cube 오브젝트의 포인트를 움직이면, 서브디비젼 모델과 X축으로 대칭된 인스턴트 서브디비젼 모델의 형태가 똑같이 변형될 것이다. 이것은 캐릭터의 형태가 좌우 대칭되므로 반쪽만 모델링 하여 나중에 Merge시킬 계획이나, 모델링시 형태를 더욱 정확하게 보기 위해서 반대편에 인스턴트 오브젝트를 만들어 두는 것이다.

 

  다음으로 서브디비젼 모델과 인스턴트 서브디비젼 모델을 둘다 선택한다. 그리고 우측 메뉴의 Select Selectability Toggle Selected Objects를 실행시켜 서브디비젼 모델과 인스턴트 서브디비젼 모델이 뷰포트 상에서 선택할 수 없도록 만든다.[그림12] 이것은 나중에 Cube의 포인트 작업시 서브디비젼 모델을 뷰포트 상에서 선택할 경우가 거의 없기 때문에 본의 아니게 선택되는 것을 막아준다.

[그림12]

 

 

 

3. 이제부터 Cube의 포인트를 하나 하나 움직이면서 로토스코핑 된 캐릭터 이미지를 바탕으로 점점 디테일 하게 캐릭터 모델링을 하게 된다. 이 과정에서 필요에 따라 Polygon의 면을 더욱 세밀하게 나누고 Edge와 Vertex를 추가하게 될 것이다.

 

  먼저 우측 하단에 위치한 Edit 메뉴의 Immed 버튼을 눌러 활성화시킨다. 이것을 켜면 모든 작업에 History를 만들지 않는다. 앞으로 Cube의 포인트를 하나씩 움직이며 작업을 해야하는데, 한번 움직일 때마다 생기는 History의 수가 쌓이게 되면 컴퓨터의 속도가 느려져 작업에 지장을 줄 수도 있다. 그러므로 포인트 작업 시에는 History를 만들지 않는 것이 좋다.

 

  만약 Immed 버튼을 켜지 않고 포인트 작업을 하여 위에서 말한 것처럼 컴퓨터의 속도가 저하되었다면 쌓여있는 History를 지워주어야 한다. 방법은 Explorer 뷰에서 Cube의 Polygon Mesh아래에 있는 MoveComponent를 선택한 다음, 우측 하단 Edit 메뉴의 Freeze를 클릭 하거나 혹은 Freeze Operator Stack을 실행시키면 된다.

 

  [그림13]과 같이 로토스코핑 된 이미지를 참고하여 Cube의 포인트를 하나하나 움직인다.

 

[그림13]

 

  그리고, 목 뒷부분을 막고 있는 폴리곤 한 면을 선택하여 지운다.[그림14]

 

[그림14]

 

 그런 다음, 키보드의 'E'를 눌러 [그림15]와 같이 두 개의 Edge를 선택하고, MODEL Modify Poly.Mesh Subdivide Polygons/Edges 명령을 실행시킨다. (혹은 단축키 Shift+D를 누른다.) 그러면 Subdivide Op 프로퍼티 창이 열리는데, 여기서 Parallel Edge Loop 기능을 On 시키고 Subdivisions 수치를 4정도로 설정한다.

 

[그림15]

 

  면이 좀 더 세분화되었을 것이다. 이렇게 하여 생겨난 새로운 포인트들을 조금 전과 마찬가지로 로토스코핑 된 이미지를 참고하여 또 다시 원하는 위치로 이동시킨다.

 

 

 

4. Subdivision 모델을 Wire가 아니라 Shade된 형태로 보면서 작업하기를 원한다면 다음과 같이 한다. Explorer 창에서 Polymsh와 Polymsh1(Subdivision 모델과 인스턴트 Subdivision 모델)을 선택한 다음, [그림16]과 같이 우측 Select 메뉴의 Selection 버튼을 눌러 Multiple Selection 아래의 Display 부분을 더블클릭 한다.

 

[그림16]

 

  "Do you want to make a local copy first?" 라는 질문에 Yes를 클릭하고 나면 Display 프로퍼티 창이 열릴 것이다. 여기서 Selected의 Static 부분에 Automatic을 Shaded로 바꾼다. 마찬가지로 Unselected,Near와 Unselected,Far의 Static 부분에도 Shaded로 바꾼다.

  그런 다음, 우측 상단의 Camera 뷰포트에서 Override Object Properties 명령을 한번 더 선택함으로써 그 기능을 Off 시킨다.[그림17] 그러면 Camera 뷰포트 내에서 Subdivision 모델들이 Shade된 상태로 보일 것이다. 다른 뷰포터에서도 이들 오브젝트가 Shade된 상태로 보이기를 원한다면 각 뷰포터의 Override Object Properties 부분을 Off 시키면 된다.

  또한 Camera 뷰포트에서 시점을 변형시키는 동안(Camera Pan, Zoom, Orbit 등등)에도 Shade된 형태로 보이기를 원한다면, Display 프로퍼티 창에서 각 부분의 Inter. 부분을 모두 Shaded로 바꾸면 된다.

 

[그림17]

 

 

 

5. 이번에는 Add Edge Tool을 이용하여 자신이 원하는 위치에 Edge를 추가시켜 면을 나누어 보겠다. 먼저 Cube를 선택한 다음, MODEL Modify Poly.Mesh Add Edge Tool 명령을 실행시킨다. (혹은 단축키 ₩를 누른다.) Camera 뷰포트에서 Orbit Tool로 시점을 바꿔가면서, 면을 나누기를 희망하는 Edge의 원하는 지점을 클릭하여 Edge를 추가시킨다.[그림18] 펜 모양의 커서가 지나갈 때 빨간색으로 변하는 Edge만을 선택할 수 있다. Edge의 추가가 끝이 났으면 마우스 오른쪽 버튼을 눌러 명령을 종료한다.

 

 [그림18]

 

  이러한 방법으로, 원하는 곳에 Edge를 추가시켜 면을 나누고, 그 추가된 포인트들을 이동시켜 점점 디테일하게 캐릭터의 얼굴을 만들어 나간다. 특히 눈과 같은 부위는 다른 부위와는 달리 굴곡이 심하고 작은 면들이 많이 필요한 곳이므로 더욱 세밀하게 면을 나누어야 한다.[그림19]

 

[그림19]

 

 

 

6. 이번에는 귀를 만들어 보자. 먼저 귀가 위치할 곳의 폴리곤 면을 선택한다. 그리고 나서 MODEL Modify Poly.Mesh Extrude Along Axis 명령을 실행시킨다. 그러면 Extrude Op 프로퍼티 창이 열리는데 이곳에서 [그림20]과 같이 설정한다. Subdivs 값은 1로 설정한다.

 

[그림20]

 

  그런 다음, [그림21]과 같이 MODEL Create Curve Draw CV NURBS 명령을 이용하여 귀가 지나갈 경로를 만든다.

 

[그림21]

 

  그리고 나서, 생성된 Curve를 따라 Extrude 되고자 하는 귀의 윗면(폴리곤)을 선택한다. 이번에는 MODEL Modify Poly.Mesh Extrude Along Curve 명령을 실행하고, 조금 전 만든 위쪽 Curve를 선택해 준다. 그러면 또 Extrude Op 프로퍼티 창이 열리는데 [그림22]와 같이 설정한다. Subdivs 값은 5정도로 설정해 준다.

 

[그림22]

  

  마찬가지로 귀의 아래 부분도 이와 같이 Curve를 따라 Extrude되게 한다. 이런 방법으로 생성된 면의 포인트를 하나하나 움직여 원하는 귀의 형태를 완성한다. 면을 더 세분하여 디테일하게 작업을 해야 한다면 Add Edge Tool이나 Subdivide Polygons/Edges 등의 기능을 이용하면 된다.

  그리고 볼을 감싸고 있는 4개의 날카로운 뼈는 따로 만들어서 제 자리에 위치시킨다.

  이렇게 하여 일단 얼굴 모델링을 완성한다.

 

 

 

Body 모델링

 

7. 위와 같은 방법으로 얼굴을 완성하였다면 몸통과 팔, 다리 등의 모델링은 큰 무리 없이 할 수 있을 것이다.

  먼저 Front 뷰포트와 Right 뷰포트에서 얼굴 모델링에 사용된 Rotoscope를 Off 시킨다. 그리고 나서, 귀를 만들 때와 같이 몸통이 지나갈 경로를 MODEL Create Curve Draw CV NURBS 기능을 이용하여 [그림23]과 같이 만든다.

 

[그림23]

  

그런 다음, 얼굴 모델(Cube)에서 목 뒷 부분의 마지막 Edge를 [그림24]와 같이 모두 선택한다. (빨간색 부분이 선택된 Edge)

 

[그림24]

 

  MODEL Modify Poly.Mesh Extrude Along Curve 명령을 실행하고, 조금 전 만든 Curve를 선택해 준다. 그러면 Extrude Op 프로퍼티 창이 열리는데 여기서 [그림25]와 같이 설정한다. Subdivs 값은 10정도로 설정한다.

 

[그림25]

 

  그러면 새로운 면들이 Curve를 따라 Extrude 된 것을 볼 수 있다. 이 새로운 면들의 포인트를 또 다시 하나하나 움직여 몸통의 형태를 만들어 간다.[그림26]

 

[그림26]

 

 

 

8. Camera 뷰포트에서 작업시, Shade 모드로 인해 포인트가 보이지 않는 부분이 생길 수 있다. 그것은 포인트가 Shade된 Subdivision 모델 안으로 들어가 있기 때문이다. 이런 경우에는 Camera 뷰포트 우측 상단의 Wireframe이란 곳을 눌러 Display Options...를 실행한다. 그러면 [그림27]과 같이 Camera Display 프로퍼티 창이 열리는데, 이곳의 Display Mode 탭에서 XRay Shading을 On 시켜주면 뒷부분의 가려진 포인트를 볼 수 있다.

 

[그림27]

 

 

 

9. 다리 부분도 몸통과 같은 방법으로 만들 수 있다. 먼저 몸통에서 다리가 나올 폴리곤 면을 선택하고, MODEL Modify Poly.Mesh Extrude Along Axis 명령을 실행하여 Extrude Op 프로퍼티 창에서 [그림28]과 같이 설정한다.

 

[그림28]

  

  이렇게 하여 생성된 면의 포인트를 전과 같은 방법으로 하나하나 움직여 원하는 다리의 형태를 만들어 간다. Add Edge Tool이나 Subdivide Polygons/Edges 등의 기능을 이용하여 면을 더 나누어 가면서 작업을 하면 된다.

  

  다리와 마찬가지로 팔과 손, 발, 손가락 등도 위와 같은 방법으로 모델링을 할 수 있다.[그림29]

 

[그림29]

 

  전체적으로 모델링이 완성되었다고 생각하면 그동안 참고로 보아왔던 Subdivision 모델과 그 인스턴트 모델을 지운다. 그런 다음 Cube 모델을 하단 Edit 메뉴의 Duplicate Single 기능을 이용하여 복사를 하고, Scale X에 -1 값을 주어 그 반대편에 위치시킨다. 그리고 나서 Cube 모델과 복사한 모델 둘 다 선택을 한 채 MODEL Create Poly.Mesh Merge 명령을 실행시킨다. 그러면 [그림30]과 같이 Merge Meshes 프로퍼티 창이 열리는데, 그냥 Ok하고 창을 빠져나오면 양쪽 오브젝트가 서로 붙은 하나의 폴리곤 메쉬가 생성된다.

 

 

[그림30]

 

  Cube 모델과 그를 복사한 모델은 모두 Hide 시키고 조금 전 생성된 폴리곤 메쉬를 선택한다. 그런 다음, MODEL Create Poly.Mesh Subdivision 명령을 실행하여 Subdivision 모델을 만들고 모델링을 완성한다.[그림31]

 

[그림31]

 

   이상으로 Animation 'BIRD'에서 나오는 선생님 캐릭터의 모델링 과정에 대해서 알아보았다. 그다지 어려운 부분이 없으므로 독자 여러분들도 쉽게 따라해 볼 수 있으리라 생각한다. 다음 호에서는 Animation 'BIRD'에 사용된 Character Setup 과정에 대해서 알아보겠다.

 

 

 


copyright 2002, anikoleez. All rights reserved.