A Benchmarking on Polygon Modeling System for Character Animation
이충환(
C.H. Lee
) 김만수(M.S. Kim
) 장덕호(D.H. Chang
)시각정보연구팀선임연구원 시각정보연구팀연구원 시각정보연구팀책임연구원, 팀장
본 고에서는 캐릭터 애니메이션을 위한 다면체 모델링 시스템에 대한 기술동향을 분석한다. 이를 위해 다 면체 모델링을 지원하는 상용 캐릭터 애니메이션 소프트웨어들에 대한 최신 동향 및 이들 중 현재 고가와 중저가 시장을 주도하고 있는
Alias/Wavefront Maya
tm1 . 0
과Kinetix 3D Studio Max
tm2 . 5
를 중심으로 다면체 모델링 기능들을 분석하고 성능평가를 한다. 특히 기능분석에 앞서 두 시스템의 구현 개념을 살펴 봄으로써 두 시스템의 다면체 모델링 기능과 더불어 전체적인 성능에 대해서도 분석한다. 이는 다면체 모 델링 기능이 단순히 독립되어 구현될 수 있는 것이 아니라 전체 캐릭터 애니메이션 소프트웨어의 구조적 인 구성과 밀접한 관련을 가지기 때문이다. 마지막으로 본 고는 두 상용 시스템에 대한 다면체 모델링 기 능별 분류 및 그 성능평가에 대해서 벤치마킹 표로 요약・제시하며 끝을 맺는다.I . 서 론
컴퓨터그래픽스는인간의 무한한 상상력을사 실적인 영상으로 표현할 수 있는 기술로 영상산
업의 발달과 더불어 갈수록 그 중요성이 증대되 고있다. 산업적인측면에서는다가오는2 1세기에 성장 잠재력이 가장 큰 분야로 기대되고 있는 멀 티미디어와가상현실의기초를이루는기술이컴 컴퓨터・소프트웨어연구소가상현실연구개발센터에서는금년1월부터2년간의계획으로“통합형디지털T V 컨텐트제작시스템" 사업이수행중이다. “캐릭터 애니메이션을위한다면체모델링시스템동향분석"을비롯 한5편의원고는이사업에서중요핵심기술의하나인애니메이션컨텐트제작도구개발과관련한연구결과물 로서, 현시장을선점하고있는대표적인애니메이션제작도구들을비교・분석한내용이다. 비교대상소프트 웨어도구들은Alias Wave Front사의 M a y a ,
t mA v i d사의 S o f t I m a g e ,
t mK i n e t i x사의3D Studio Max,
t mRobert McNeel
& Associates사의 R h i n o
t m이며, 이도구들을다면체모델링, 자유곡면모델링, 렌더링, 애니메이션, 전체적인사용 자 인터페이스 관점에서 비교・분석하였다. 분석은 성능, 경제성을 제외하고 기능적인 측면에만 초점을 맞췄 고, 다소주관적인판단기준을따른점도있어독자에따라서는저자들과의견을달리하는부분도있을것이다.
미흡한 점은연구팀에서계속 보완해나갈 예정이며, 이러한 벤치마킹결과가 외국산 애니메이션도구가 국내
시장전부를차지하는현실을극복하는데초석이될수있기를기대한다.
스 기술을 이용한 응용 중 캐릭터 애니메이션 분 야는 최근 각광 받고 있는 디지털 영상물의 호황 과게임, CF 등광범위한응용성으로인해그중요 성과상품성이급속히증대되고있다.
캐릭터 애니메이션 분야는 먼저 인간의 상상 속의캐릭터를삼차원물체의기하학적인구조를 가진컴퓨터내부의자료구조로표현하는모델링 ( m o d e l i n g )과 이에 동작을 입혀 실제의 존재처럼 행동하게하는애니메이션과이처럼생성된캐릭 터가 실물과 같이 보이도록 영상을 생성해 내는 렌더링(rendering) 분야로 나누어 볼 수 있다. 본 고에서는 이러한 여러 분야 중 캐릭터를 모델링 하고 이의 다양한 응용을 위한 변형 및 편집이 가 능한 시스템들에 대한 분석 및 구현 방법론에 대 해서 소개하고자 한다. 모델링 분야는 크게 삼차 원 기하학적인 물체를 표현하는 방법에 있어서 NURBS(Non Uniform Rational B-Spline) 곡선과곡 면을 이용한 방법과 단순히 물체를 꼭지점과, 모 서리, 면으로이루어진다면체( p o l y g o n )로표현하 는 방법으로 크게 나누어 볼 수 있다. NURBS를 이용한방법은물체를부드럽고유연하게표현할 수 있는 장점이 있지만 변형 및 구현의 어려움과 기존의그래픽스하드웨어를이용하는데따르는 제약으로인해일부고기능의시스템에서이용되 어 왔다. 다면체를 이용한 방법은 그래픽스 하드 웨어를 충분히 이용할 수 있는 장점과 더불어 물 체를 삼차원 입력장치와
같은장비를 통해 바로 다면체모델로입력이가능하므로널리이용되어 왔지만 N U R B S에 비해 모델링에 한계를 가지고 있다. 한편 최근의 캐릭터 애니메이션을 위한 모 델링 시스템은 각각의 방법의 장단점을 인식하 고, 두방법에 대해똑같은비중을두고각각독립 적인 부분으로 지원하려고 하는 추세이다. 따라
링을 지원하는 시스템에 대한 구현 개념 및 성능 비교를 통하여 최신 다면체 모델링 기술에 대한 동향을분석하고자한다.
캐릭터애니메이션을 위한모델링 상용 시스템 들로는 중저가의 Windows NT를 기반으로 하는 NewTeK LightWave, Kinetix 3D Studio Max[1, 2]
와최근발표된Robert McNeel & Associates의R h i - no[3] 등이 있으며, 고가의 캐릭터 애니메이션을 위한통합환경을제공하는Avid Softimage[4, 5]와 Alias/Wavefront Maya[6-9] 등이있다. 3D Studio M a x는 캐릭터 애니메이션 소프트웨어의 중저가 시대를도입한선두주자로서가격에비해제공되 는기능의다양함과개발자를위한plug-in 구조의 제공으로 인해 인기를 끌었다. Rhino는 최근 SIGGRAPH '98에서처음으로상용버전의제품으 로출시되었으며, 기존의중저가시장의모델링소 프트웨어에서찾아보기힘들었던 N U R B S를기반 으로 한 모델링에 초점을 맞춰 개발된 제품이다.
A l i a s / W a v e f r o n t의 M a y a [ 9 ]는기존의Power An-
i m a t o r
t m의 모델링, 렌더링, 애니메이션, 사용자인
터페이스에Advanced Visualizer,
t mD y n a m a t i o n
t m의
스크립팅과 커맨드 언어, 개방형 A P I와 P l u g - i n
구조지원을위해 P o w e r A n i m a t o r
t m의 O p e n M o d e l /
OpenAlias 기능 등을 도입한 제품이다. 이외에도
E x p l o r e
t m와 3D Design
t m의 3D Widget(Manipula-
t o r )와Popup Menu, 3D Design
t m의다면체구축및
texturing tool, Mould/Sculpt deformer, Kinemation
t m의forward/inverse kinematics, Flexor deformer, Dy-
n a m a t i o n
t m의Soft-body dynamics, Rulebased particle
behavior, Hardware particle 렌더링, Explore
t m의 P r o -
cedural shading language, Software particle render-
ing, Shadermake 등의 기존의 A l i a s / W a v e f r o n t의
제품군들중시장을선점하고있는다양한제품들
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
의 기능들을 하나의 단일 시스템으로 통합한 시 스템으로 R h i n o와 마찬가지로 SIGGRAPH '98에 처음으로출시되었다. 또한 M a y a는기존의 A l i a s / W a v e f r o n t의제품군들이고수해오고있던 S G I의 그래픽스 워크스테이션 환경을 탈피해서 W i n - dow NT 환경의 제품을 출시함으로써 주목을 끌 고 있다. 한편 기존의 P o w e r A n i m a t o r
t m와 더불어 고가의 시스템으로서 주목을 끌었던 S o f t I m a g e
t m는 마이크로 소프트에 의해 인수된 후 W i n d o w s NT 기반의 시스템 발표로 Windows 기반 고기능 제품으로 인기를 끌었으며, 현재 A v i d사에 인수 된 후“S u m a t r a” [ 5 ]라는 차세대 제품개발에 주력 하고있다.
본 고에서는 다면체모델링을지원하는시스템 과 또한 그 기능에 대한 분석에 초점을 맞추고 있 으므로R h i n o
t m는본고의분석대상에서제외하였 으며, 고가의 시스템 중 S o f t I m a g e
t m의 경우는 간 단화( s i m p l i f i c a t i o n )와같은타시스템에없는우수 한 기능을 제공하지만 M a y a에 비해 진보된 모델 링인터페이스를제공하지못하므로자세한분석 을 수행하지는 않았다. 따라서 중저가 시장의 대 표주자인3D Studio Max와현재캐릭터애니메이 션을 위한 제작 시스템으로 최고의 고기능 기술 을 보유하고 있는 M a y a를 주요 분석대상으로 하 였다. 또한 다면체 모델링 기능의 성능분석을 위 해먼저두시스템의구조적인(architectural) 관점 에서의 차이점을 비교하여 살펴보기로 한다. 한 편다면체모델링은시스템이제공하는기능적인 (functional) 측면에서 각 기능의 유무 및 성능의 좋고 나쁨을 비교・판단할 수 있지만, 모델링이 라는 작업 자체가 전체 캐릭터 애니메이션을 위 한시스템이제공하는환경하에서수행되는일련 의 작업이므로 이의 기능 외적인 면에서의 성능 평가도 중요하다. 작업을 수행하기 위한 적절한
환경의 제공 및 모델링 시 사용자와의 상호작용 을 편리하고 쉽게 해주는 기능을 얼마나 풍부하 게 제공하는가가 전체 시스템의 좋고 나쁨을 판 단하는 데 중요한 척도로 작용하는 것이다. 이러 한사용자와의상호작용의편리성은실제시스템 의 구현 시 구조적인 구현 개념과 밀접한 관련이 있으며, 전체 시스템 구조가 이러한 상호작용의 편리성을염두에두고구현되었는가가실제이러 한 기능을 시스템이 제공할 수 있는가와 커다란 관련성을가지고있다. 따라서본고에서는제I I장 에서 먼저 이러한 구조적인 다면체 모델링 시스 템의 평가 및 모델링 편리성을 위해 제공되는 기 능들에대해서먼저분석하기로한다.
제I I I장에서는 두 시스템의 기능적인 측면에서 비교・분석한다. 이를 위해 다면체 모델링을 위 한 기능을 제공되는 p r i m i t i v e들이 어떠한 것들이 있는가와 제공되는 p r i m i t i v e들을 변형하기 위해 제공되는 방법들, 다면체로 표현된 기본 구성 요 소들에 대한 편집 및 변형 방법들, 마지막으로 모 델링 된 다면체 모델들을 변형하기 위한 방법들 로 크게 나누어 보고 기능적인 측면에서 두 시스 템의 차이점 및 성능에 대해서 분석하기로 한다.
제I V장에서는 실제 두 시스템의 수행과 비교를 통해얻어진벤치마킹결과를토대로제I I I장에언 급된 비교・분석의 결과를 요약・정리하고 마지 막으로제V장에서결론을맺는다.
I I . 다면체 모델링 시스템 설계 개념
및 지원도구 분석
본장에서는 캐릭터 애니메이션 시스템의다면
체 모델링을 지원하기 위한 구조적인 구현 개념
과 직접적인 모델링 기능에는 포함되지 않지만
다면체모델링을수행하기위해시스템이지원하
는다양한모델링 A i d s에대해서설명한다.
1 . 3 D Studio Max
3D Studio Max(이후M a x로약칭)는 s c e n e을구 성하는 구조적인 최소단위의 객체가 비교적 큰 추상화 단계로 구분되어 있다. 이는 s c e n e을 구성 하는 물체들이 각 최소단위의 객체로 구성되어 모델링 된 객체와 여타의 다른 객체(예; 카메라, light 등)와더불어 전체scene 계층구조를 형성하 도록 구성되어 있다. 따라서 각 객체는 객체에 관 련된 최대한의 정보를 각 객체에 캡슐화하고 있 다. 따라서M a x는(그림 1 )과같이 primitive 단계 에서 가능한 모든 객체를 추상화하여, 모델링에 필요한 가능한 많은 p r i m i t i v e를 지원하려는 개념 하에서구현되었다. 이같은 p r i m i t i v e들은그림에 서와같이모델링에기본이되는기본 p r i m i t i v e들 과이를이용한좀더복잡하고확장된 p r i m i t i v e들 과, 이렇게생성된모델 p r i m i t i v e들을변형하고조 작하기 위한 변형으로 제공된다. Max는 이렇게 많은수의큰추상화단위의 p r i m i t i v e들을제공함
으로써캐릭터모델링의개념이희박한초심자들 이쉽게원하는 p r i m i t i v e를골라서사용할수있도 록 하자는 구현 개념을 가지고 있으며, 이는 개발 자들이 분산되어 있는 환경에서 개발된 M a x의 개발배경과무관하지않다.
한편M a x의모델은그것이다면체모델인지, 곡 선과 곡면을 이용한 모델인지를명확히 구분하지 않고 있으며, 이들을 조작하거나 변형하기 위한 변형 p r i m i t i v e의 일종이라고 할 수 있는“E d i t Mesh", “Edit Spline" 조작이적용가능한가에따라 서실제로모델이다면체인지곡면모델인지를구 분할수있게된다. 일부의 p r i m i t i v e들에대해서는 두가지형태의표현을모두지원하고있고, prim- i t i v e들의 생성 당시파라미터들을 조작할수 있는 변형 primitive 인터페이스를 제공하며, 또한 이들 변형 p r i m i t i v e들을 스택(stack) 형태로관리할 수 있는 인터페이스를 제공한다. 따라서 M a x에서의 일련의다면체모델링과정은제공되는많은수의 기본 혹은 확장 p r i m i t i v e 모델들을이용하여모델 을생성한 후이들의 변형을위해Edit Parameter, (그림 1 ) 3D Studio Max 의기본구현개념
Edit Parameters
Rich Modeling Primitives(functionalities)
Edit Meshes Edit Spline Modeling Aids
Extended Primitives:
Hedra, Torus Knot, Tetra/Octa/
Icosa/Decoda Hedra, Chamfer cylinder, Chamfer Box, OilTank, Capsule, Spindle, L-Ext, Gengon, C-Ext, etc…
Deformation Primitives:
Taper, Gizmo, XForm, Linked XForm, Extrude, Face Extrude, Smoth, UVW Xform, Bend, Bevel (profile), Cap Holes, Displace, Mirror, Lathe(revolution), Wave Noise, Optimize(simplify), Preserve, Relax, Ripple, Skew, Slice, Spherify, Tessellate, Twist, Vol Select, Affect Region, etc…
Basic Primitives:
Box, Cone, Sphere, Cylinder, Torus, Plane, Tube, Geosphere, Pylamid, Prism, Line, Circle, Arc, Ellipse, Ngon, Text, Donuts, Star, Helix, etc…
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
Edit Meshes, 그리고여타의변형 p r i m i t i v e들을계 속해서적용해가는과정으로요약해볼수있다.
그러나이과정에서 M a x가간과하고있는것은 실제 모델링 작업은 정형화되어 제공되는 p r i m i - t i v e들을 이용해서 실제 원하는 모델을 얻어내는 것보다는 이들간의 관계를 여하히 사용자가 원 하는 방식대로 조작할 수 있느냐 하는 측면과, 모 델링 시 사용자와의 상호작용을 가능한 줄여줄 수 있는“Modeling Aids"를 어떻게, 얼마나 많이 제공해줄 수 있느냐 하는 측면이다. 전자와 관련 해서많은수의 p r i m i t i v e를제공한다는 M a x의장 점은 실제 어떤 p r i m i t i v e들이 있는가와 이들 p r i m i t i v e들간에 어떤 조합이 가능한가에 대한 직 관적인 사용자 인터페이스의 결여로 인하여, 이 들간의 조합을 통해 원하는 모델을 얻고자 하는 사용자의욕구를충분히만족시키지못하는원인 으로도 작용할 수 있다. 이는 실제 변형과정이 각 변형 p r i m i t i v e마다 일관적인 방식에 의해 수행되 지 못하는 것과 이를 일일이 사용자가 많은 수의 p r i m i t i v e에대해서숙지해야한다는데있다. 또한 이는 실제 구현 개념상 각 p r i m i t i v e를 상당히 큰 추상화 단계로 구현한 데서 기인하는 단점이라 고 할 수 있다. 일 예로 M a x의 경우 각 변형 p r i m i t i v e들에대한작업의경우작업의조합에따 라 U n d o / R e d o가 불가능한 경우가 있을 수 있다.
후자와 관련해서는 M a x는 모델링을 하기 위한 행위와 이를 디스플레이하기 위한 뷰( v i e w )조작 인터페이스, 혹은물체조작인터페이스가분리되 어있다고할수있다. 따라서사용자는모델링과 정에서 수시로 원하는 변형 혹은 작업의 확인을 위하여 인터페이스를 찾아 다녀야 하는 불편함 을격게된다. 또한 s c e n e의계층구조와관련한인 터페이스를 제공하지 않으므로 계층구조를 조 작・편집함으로써 얻을 수 있는 모델링의 편리
함을 제공하지 않는다. 이와 같은 인터페이스는 모델이복잡해질수록그중요도가증가하게된다.
2 . Alias/Wavefront Maya
M a y a의기본구현개념은(그림 2 )와같이기본 적인 모델링 p r i m i t i v e들만을 제공하지만 이들의 변형 및 조작을 통해 사용자가 원하는 모델을 생 성하는데용이한효과적인기능과Modeling Aids 들을 제공하는 개념하에 구현되어 있다( S m a l l - and-Effective-Functionality Only). 기본 p r i m i t i v e의 경우cube, cone, cylinder, plane, torus, sphere만을제 공하고있으며, Max와같이복잡한형태의 p r i m i - t i v e를 제공하지 않고 있다. 그렇지만 M a y a는 실 제로 이들 기본적인 p r i m i t i v e를 이용해 복잡한 p r i m i t i v e를효과적으로생성해낼수있는메커니 즘을 제공함과 동시에 우수한 plug-in 구조를 제 공함으로써 이러한 필요에 부응하고 있다. 또한 캐릭터 모델링 및 애니메이션이라는 원래의 응 용분야에 맞게 이에 필요치 않은 모델링 기능 (예; boolean 연산)은 삭제했으며, 캐릭터모델링 에 필요한 고기능의 진보된 변형 p r i m i t i v e들로서
(그림 2 ) M a y a 의기본구현개념 Small Modeling
F u n c t i o n a l i t y
Basic primitives:
cube, cone, cylinder, plane, torus, sphere
Basic deform:
attribute editing, extrude, smooth
Abvanced deform:
lattice, wire, others
Rich Modeling Aids
Scene graph editing Selection constraints
3D WIDGETS
( M a n i p u l a t o r s )
sculpt, wire[12], cluster 등을제공한다. 또한 M a x에 비해 적은 p r i m i t i v e들과 효과적이고 필수적인 변 형 p r i m i t i v e들만을가지고, 생산성이높은모델링 결과를내게하는진보된구현개념으로다양한모 델링 A i d s를 들 수 있다. 이는 타 제품들에 비해 M a y a만이 가지는 우수한 디자인 개념으로서 A l i a s / W a v e f r o n t의 E x p l o r e
t m와 3D Design
t m과같은 다양한제품의개발과이를통한지식의축적에서 기인한다. 이를 통해 M a y a에서의 모델링 작업은 사용자가모델링을하기위한기능들을사용자인 터페이스에서찾아다니지않고, 오히려사용자인 터페이스가모델링하는사용자를 g u i d e하는형태 로모델링작업을수행할수있다.
한편M a y a는s c e n e을구성하는구조적인최소단 위의객체를노드로추상화하여구현하였으며, 노 드간의 관계를 위해 종속 그래프( D e p e n d e n c y Graph: DG)[6, 8]를유지하여전체를관리하는구 조로되어있다. 또한실제기본적인primitive 모델 에대해서모델의transform matrix등을관리하는
“transform 노드"와 모델의 실제 기하( g e o m e t r y ) 정보를관리하기위한“shape 노드," 모델을생성 하기위한입력 파라미터들을관리하기위한“i n - put 노드"로 M a x에비해서훨씬세분화된추상화 단계로 구현되어 있다. 실제로 이러한 형태의 구 현을 통해 M a y a는 보다 객체 지향적이며, 모듈화 ( m o d u l a r )한형태로전체구조를유지・조작할수 있으며, 모든 조작에 있어도 정형화된 패턴을 유 지할수있다. 이는(그림2 )의“Rich Modeling Aids"
에해당하는기능들의구현을염두에둔구조설계 로 볼수 있으며, 또한 속성을편집하기 위한인터 페이스를 노드단위로 균일하게 제공할 수 있다는 이점을 가지고 있다. 이 같은 구조하에서 M a y a의 다면체모델링의생산성을높여줄수있는모델링 A i d s는다음과같은것들을들수있다.
●
Template: 모델링 혹은 다른 작업 시 필요없는 부분에 대해서볼 수는있으나 선택되지 않도록 설정하는 기능으로 3D Studio Max, Maya 모두 지원되는기능이다.
(그림 3 ) M a y a 의 O u t l i n e r 와 H y p e r G r a p h
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
●
Snapping: Grid, Point, Curve, View Plane, Axis 등 에 s n a p p i n g을 지원하며, Max에 비해 사용자의 움직임을 제약함으로써 모델링 시 정확한 사용 자조작을가능하게한다.
●
Selection Limiting: Type, Naming, Component, Hierarchy 등 M a x에비해다양한구성요소에대 한 선택이 가능하도록 되어 있으며, 다면체의 경우 다양한 Polygon Selection Constraint(예;
Planar face 등)를줄수있다.
●
Layers: 모델링 시 일정 부분에 대한 객체들에 대해서 개별적인 작업공간을 제공하는 기능으 로 M a x에는 제공되지않는다. 계층적인 모델링 시 유용한 기능이며, layer를 편집할 수 있는 기 능까지제공된다.
●
Locking Manipulators: 하나의3D Widget 혹은여 타의 M a n i p u l a t o r를오래사용할때다른툴( t o o l ) 의 선택을 방지하기 위한 locking 메커니즘이 제 공된다.
●
Scene Graph Managing: Max에서는 제공되지 않는 다양하고 강력한 형태의 scene 계층구조 viewer 및graph editor가지원된다. (그림3 )에는 이들 중 s c e n e의 계층구조를 보여주는“O u t - l i n e r "와노드구조및이들간의상호관계편집등 에사용될 수있는“H y p e r g r a p h "를보여주고있 다. 이 같은 편집기들은 복잡한 모델, 혹은 다관 절의계층을갖는다면체모델의생성및조작에 유용하게 사용될수 있으며, 모델링의 생산성을 높이는데효과적으로사용될수있다.
●
3D Widgets(Manipulators): Rotation/Transfor- mation/Scale Manipulator, Extrude/Bevel/Fillet Blend Manipulator 등다양한 M a n i p u l a t o r가있으 며, Transform Manipulator의경우는다양한처리 (예; deformation, texturing)에동반될수있으므 로사용자의모델링작업을손쉽게해주는역할 을한다.
III. 다면체 모델링 기능분석
본 장에서는 다면체 모델링을 위해서 모델링 시스템들에서 제공되는 각 기능들에 대해서 비 교・분석하고 기능의 특징점들에 대해서 언급한 다. 본 장에서 언급되는 내용은 주로 3D Studio Max 2.5와Alias/Wavefront Maya 1.0의다면체모 델링 관련 기능의 수행 및 비교에 의해서 얻어진 분석내용을 요약한 것이며, 이에 대한 상세분류 및기능비교는제I V장의시스템벤치마킹결과표 에정리되어있다.
1 . P r i m i t i v e s
제I I장에서설명했던바와같이 M a y a와 M a x는 기본적인구현개념의차이로인해지원되는다면 체 p r i m i t i v e의수에서는커다란차이를보이고있 다. (그림4 )와(그림 5 )에는각각 M a y a와 M a x의 다면체p r i m i t i v e들을보여주고있다. Maya의경우 비록6개의 p r i m i t i v e만을지원하지만앞에서설명 (그림 4 ) M a y a 의기본다면체 P r i m i t i v e s (왼쪽부터 Cube, Sphere, Cylinder, Cone, Plane, Torus )
y z
x
y z
x
z y x
z y x
z y x
y z
x
된바와같이제공되는모델링 A i d s와진보된변형 기능을 통해 실제로 생성해낼 수 있는 다면체 모 델의 질은 M a x에 비해서 우수하다고 할 수 있다.
또한 새로운 p r i m i t i v e를 사용자가 직접 제작해서 추가할 수 있는 우수한 plug-in 구조, 즉 M E L (Maya Embedded Language)과같은스크립트언 어를가지고있다. 비록M a y a에비해 M a x의 f l e x i - b l e한 구조적인 지원이 부족하다고 하지만, Max 또한 s c r i p t i n g을 통한 plug-in 구조를 가지고 있으 며, (그림 5 )와 제I V장에서 볼 수 있는 바와 같이 많은 다양한 p r i m i t i v e의 지원은 분명 다면체 모델 링개념이부족한사용자가이러한모델을일일이 만들어내야 하는 수고를 덜어주는 편리한 점이라 할수있다.
한편, 다면체모델링의기본이되는다면체를생
성하는 기능에서 두 시스템에 있어서 큰 차이를 보이는 기능으로는 M a y a에서 지원되는“폴리곤 툴"을들수있다. 이는M a x에서는 p o l y l i n e을이어 서 닫힌 다면체를 생성해내는 기능에 해당할 수 있지만, Maya에서는 이외에도 편리한 사용자 상 호작용을통해다양한형태(예; 구멍(h o l e)을가진 다면체등)의2차원적인다면체를생성해낼수있 다. (그림 6 )은이러한폴리곤툴의동작모습을보 여주고 있다. P o l y l i n e을 통해 닫힌 형태의 다면체 를 생성한후 그 다면체에 구멍을 만든 모습을 보 여주고있다. 이때p o l y l i n e을따라제I I장에설명된 3D Widget(Manipulator)이 함께 유지됨으로써 사용자가 직관적으로 p o l y l i n e의 변형을 줄 수 있 도록 되어 있다. 이렇게 생성된 임의의 다면체는 다음에 설명될 다양한 변형방법에 의해 다면체 (그림 6 ) M a y a 의폴리곤툴동작모습
z y x
z y x
z y x
z y x z y
x
(그림 5 ) M a x 의기본및확장다면체 P r i m i t i v e s (왼쪽위부터 Pyramid, Tube, Teapot, Helix, Chamferbox, Genon,
Capsule, Hedra, OilTabk, ChamferCylinder, Torus Knot, Spindle,L-Ext)
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
표면모델로바꾸어사용될수있다.
2 . 기본P r i m i t i v e s 변형
P r i m i t i v e의 파라미터 조작, naming, coloring 등 기본적인 p r i m i t i v e의 속성을 바꾸기 위한 메커니 즘으로 M a x에서는 (그림 7 )과 같은“c o m m a n d p a n e l "을 제공한다. 이는 p r i m i t i v e의 형태를 조정 하는파라미터들을조작하기위한Parameter dia- l o g와생성된 p r i m i t i v e에변형 p r i m i t i v e들을적용하 기위한Modifier dialog로구성되어있다. 이에해당 하는부분으로M a y a에서는(그림8 )과같은채널 박스(channel box)와Attribute editor를제공한다.
M a y a의경우는 M a x와달리변형 p r i m i t i v e들을따 로객체로유지하지않고m a n i p u l a t o r 혹은de f o r m - er를자유롭게가할수있으므로이들에대한 M o d- ifier dialog를따로유지하지않는다. 또한 채널 박 스는spin control 혹은키보드입력을통해조작을
하는 M a x와는달리마우스와핫키( h o t - k e y )를사 용한유연한인터페이스를제공하고있다. A t t r i b - ute editor의경우는 M a x의경우 p r i m i t i v e의 s h a p e 파라미터만을유지하는것과는달리노드와관련 된 일련의 속성들을 에디터에서 한꺼번에 접근 해 볼 수 있는 인터페이스를 제공한다. 이에 따라 M a y a는 다른 속성을 접근하기 위해 시스템을 찾 아 다녀야 하는 M a x에 비해 사용자의 상호작용 을 최소화해 주며, 모든 노드에 대해서 일관되게 이러한 인터페이스를 제공한다는 장점을 지니고 있다.
기본 p r i m i t i v e를 변형하기 위한 기능들로는 선 택된 영역에 대한 조작 및 Unite, Separate와 같은 기능을들수있다. 선택된영역의조작은두시스 템모두다면체의기본원소인꼭지점(vertex), 모 서리, 면에대한조작기능을제공하지만3D Wid- g e t의지원을받는 M a y a가훨씬더유연한인터페 (그림 7 ) 3D Studio Max 의 Command Panel
(a) Parameter Dialog (b) Modifier Dialog
이스를 제공한다고할 수 있다. 또한두 다면체 모 델을 하나의 객체로 그룹화하는 U n i t e와 이를 다 시분리시키는S e p a r a t e의기능을보면, Maya의경 우는 U n i t e된 후에도 각자의 객체에 대한 개별적 인조작을hypergraph 등을통한선택작업과채널 박스, 혹은 attribute editing을 통해 조작을 가능케 하며, 노드g r a p h의재구성을통한Separate 기능을 지원하고있다. 반면M a x의경우는단순한다면체 객체간의 그룹화에 해당하는 Attach 기능을 제공 하며, 이의분리를위한기능은제공하지않는다.
3 . 메쉬(Polygonal Elements) 에디팅
다면체 모델의 기본 요소인 꼭지점, 모서리, 면 에대한편집기능은각각에대해요소별로기능을
분류해 볼 수 있다. 먼저 꼭지점의 경우, Maya에 비해서 M a x는 두 꼭지점을 결합시키는 w e l d i n g , create, delete, collapse, detach와같은다양한기능을 제공한다. 반면 M a y a의경우는primitive 다면체인 경우는 꼭지점들에 대해 3D Widget을 통한 변형 및sculpt deformer 등을통한affected region 조작과 같은기능을제공할뿐이를없앤다든지하는꼭지 점연산등을제공하지않는다. 이는 M a y a의 경우 실제 캐릭터를 모델링 할 경우 필요한 기능들에 대해서만 제공한다는 구현 개념에 따라, 꼭지점 에 대한 첨가 및 삭제와 같은 일련의 기능들이 불 필요하다고본것으로보인다.
면에대한기능으로는선택된면에대한 e xt r u d e ,
explode, tessellate, subdivide, detach, collapse, n o r m a l
flip/unify, delete, duplicate 등두시스템모두유사
(그림 8 ) M a y a 의 Channel Box 및 Attribute Editor
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
한 기능을 제공한다. Max의 경우는 선택된 면들 에대해평면을만드는기능을제공하며, Maya는 선택된 면들에 대해 삼각형, 사각형화를 위한 연 산과 첫번째 면 위에 두번째 면에 대해 구멍을 만 들기위한Trimming 기능을제공한다.
모서리의 경우는 M a x에서만제공되는 e x t r u d e , turning 기능, Maya에서제공되는 N o r m a l의각도 를기준으로면을분할/병합하여부드럽게렌더링 되도록 해주는 soften/harden 기능, close/merge edge, 선택된모서리의주변면들에대한 B e v e l i n g 기능 등이 있으며, 두 시스템 모두 공통으로 제공 되는 선택된 e d g e를 두 개의 e d g e로 나누기 위한 subdividing 기능, delete, 모서리를 꼭지점으로 만 드는collapsing 등의기능이제공된다.
4 . 변형( D e f o r m a t i o n )
여기서는먼저 변형기능들에대해서살펴보기 전에 지금까지 설명된 다면체 p r i m i t i v e들과 이들 의기본조작및 다면체 요소의 편집, 변형을통한 일련의모델링의연동성에대해서먼저언급하기 로 한다. 이는 모델링 시스템의 생산성이 단순하 게 제공되는 모델링 기능의 높고 낮음에만 좌우
되지 않고 전체 모델링 기능이 실제 모델링 작업 에얼마나효율적으로사용되느냐와밀접한관련 이있기때문이다. 이점에있어서 M a y a는 M a x에 비해Alias/Wavefront 내에서축적된노하우를바 탕으로 캐릭터 모델링, 애니메이션 기능의 유연 한 연동성을 보이고 있다. 특히 다면체 모델링의 경우 생성( c r e a t e ) 변환( t r a n s f o r m a t i o n ) 변형 (split, extrude) 곡면화( s m o o t h ) 확장, 공간변형 (lattice, sculpt, wire[12]) 등의일련의 과정이제I I 장에서설명된적절한모델링 A i d s들의도움을받 아직관적으로수행되게되어있다.
(그림9 )와(그림 1 0 )은 M a y a에서의이러한다 면체모델링작업의예를보여주고있다. (그림4 ) 의경우는(그림 4 )의폴리곤툴에의해생성된다 면체 기본 모델을 scale 등의 변환후 면에 대한 extrude 변형을 가한 모델을 보여주고 있다. 이에 두 번의 곡면화 처리를 통해 다면체 모델에 대한 Subdivision Surface[10, 11]를얻은결과를보여주 고있다. Maya에서이와같은작업은초심자라도 단시간 내에 결과를 얻을 수 있도록 되어 있지만, 반면 M a x에서 똑같은 결과를 얻기 위해서는 많 은 기본 p r i m i t i v e들과 변형 p r i m i t i v e를 번갈아 사 용하며, 복잡한 상호작용을 통해야만 한다. 또한 (그림 9 ) (그림 6 )의폴리곤툴에의해생성된다면체모델의 E x t r u d e 후 S m o o t h 처리후모습
z y x
z y x
y z
x
y z
x
곡면화에대해서M a x에서도어느정도의기능을 지원하지만, 진정한Subdivision Surface를지원하 지는 않는다. (그림 1 0 )의 경우는 위에서 언급된 M a y a의 일련의 모델링 과정의 훌륭한 연동성을 보여주는 좋은 예이다. 단지 하나의 다면체인 cube primitive에서 일련의 변환과 split, extrude를 반복하여 비행선의 윤곽을 형성한 후 곡면화 처 리를 하여 부드러운 비행선 모델을 만든 후 다음 에설명될lattice 변형을통해비행선전체에대한
변형을가한후텍스처매핑과Bump 매핑을통해 최종의렌더링된모델을보여주고있다.
생성된 다면체에 대한 변형은 M a x에서는 일부 의m o d i f i e r들로, Maya에서는d e f o r m e r들에의해서 수행된다. 다면체의변형에사용되는M a x의 m o d i - f i e r에는 L a t t i c e에의한FFD(Free-Form Deform a - t i o n) 외에도Bend, Twist, Wave, Stretch, Taper 등이 있으며, Maya의 d e f o r m e r에는 Lattice, Sculpt, Cluster, Wire 등이 있다. (그림 1 1 )은 M a x에서 제 (그림 1 1 ) M a x 다면체모델링변형도구(왼쪽위부터 F F D ( B o x ) , Wave, Stretch, Taper, Twist, Bend)
(그림 1 0 ) M a y a 의모델링과정[ 8 ]
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
공되는 다면체 모델의 변형과 관련된 modifier 들 을 보여준다. 하지만, Max의 경우 L a t t i c e를 이용 한 FFD 이외의 나머지 변형도구들은 단지 사용 자의 편의를 위해서 특정 형태로의 변형을 위해 미리 F F D를 정의하고 몇 개의 인자로서 변형을 할 수 있도록만들어 놓은 것이다. Max의 변형도 구가 F F D를기반으로한 L a t t i c e의다양한형태를 미리정의하여(그림1 1 )과같이제공해주는반면, M a -y a는 변형도구 자체를 쉽게 다른 모양으로 변형할수있는유연성을제공해주고 있다. (그림 1 2 )는Lattice 변형도구를Wire 변형도구를이용하 여 변형하는 작업을 보여주고 있다. 왼쪽은 W ir e 에의한변형전그림이고, 오른쪽은 변형후의결 과이다. 여기에 사용된 W i re 변형도구는 c u r v e를 W i re 변형도구로지정하여다면체모델뿐만아니 라, NURBS나다른 변형도구들을변형할수 있는 수단을 제공해주는 것으로 M a y a에서 새롭게 추 가된기술이다.
M a y a는 L a t t i c e, W i re 이외에도C l u s t e r 와Sc u l p t 변형도구를 지원한다. Cluster 변형도구는 기하모 델의 점 집합, 다시 말해, NURBS 의 C V ( C o n t r o l V e r t e x )들이나다면체모델의꼭지점들을하나의 cluster 집합으로만들어 각점들에 대해 가중치를 두어한꺼번에변환을쉽게해준다. 그리고, Sculpt 변형도구는 곡면형태의 다양한 변형을 지원해준 다. (그림 1 3 )은각각 C l u s t e r와 S c u l p t에의한변형 을보여준다.
I V . 시스템 벤치마킹 결과
본 절에서는 위에서 언급된 기능들에 대한 분 류 및 그 기능에 대한 벤치마킹 결과를 기술한다.
성능의 평가를 위해서는 시스템의 수행 결과에 대해서 그기능의 사용 편이도 및지원 가능한 기
술정도를가지고high, middle, low의세단계로분 류해 보았으며, 각 기능들에 대한 특징들을 기술 해보았다( <표1> 참조) .
V . 결 론
본고에서는현재캐릭터애니메이션시스템으 로 널리 사용되고 있는 소프트웨어 중 3D Studio M a x와Alias/Wavefront Maya을중심으로다면체 모델링을 위한 시스템의 구현 개념 및 기능에 대 해서 분석하고 성능평가를 하였다. 이를 바탕으 로 앞으로의 다면체 모델링을 위한 시스템이 가 져야 할 요구조건을 생각해 본다면 다음과 같은 것을 들 수 있다. 먼저 다면체 모델링은 사용자와 의 상호작용을 통해 원하는 모델을 얻어가는 과 정이므로 이를 뒷받침할 수 있는 시스템의 전체
(그림 1 3 ) Cluster, Sculpt 변형도구 (그림 1 2 ) W i r e 변형도구에의한 Lattice 변형
y
z x y
z x
대기능
P r i m i t i v e s
소기능 세부내용
(기능정의)
특기사항
Max Maya
Max Maya B o x ( C u b e )
C o n e S p h e r e C y l i n d e r T o r u s
Plane or Patch Grid T u b e
G e o S p h e r e P y r a m i d P r i s m T e a p o t
Create/Append/Split Polygon Tool Line(Polylin, Curves) C i r c l e
A r c N g o n T e x t R e c t a n g l e E l l i p s e D o n u t S t a r H e l i x H e d r a Trous Knot
T e t r a / O c t a / I c o s a / D e c o d a H e d r o n
C h a m f e r C y l C h a m f e r B o x O i l T a n k C a p s u l e S p i n d l e L - E x t S t a n d a r d
P r i m i t i v e ( s o l i d )
S t a n d a r d P r i m i t i v e ( c u r v e d p r i m i t i v e와 동시에지원)
E x t e n d e d P r i m i t i v e
X X X X X
X
X X
X X X X X X X X X X X X X
・다양한형태의많은 p r i m i t i v e를지원.
・M a x에 비해 적은 수의 기본적인 p r i m i t i v e만을 지원.
・임의다면체primitive 생 성도구 지원. Max에비 해 다양한 형태의 다면 체를생성가능.
・T e x t의 경우 p o l y g o n과 curved 모델이 동시 지 원되며, 일부p r i m i t i v e는 nurbse curves에 의해서 만 지원.
・M a x와 달리 지원 하지 않지만기본 p r i m i t i v e의 변형을통해지원가능.
・P o l y l i n e을 이용해 닫힌 다면체와 같은 물체를 생성할수는있음.
・M a x의 경우 p r i m i t i v e 의 t y p e을 구분하지 않 고 parameter, polygon, s p l i n e에의한모델을동 시에지원.
・다양한형태의많은 p r i m i t i v e들을지원.
○
기능평가
( :h i g h , : m i d d l e ,
○:low, X:없음)
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
P r i m i t i v e 변형
G e n g o n C - E x t
Parameter Spin Control Parameter Keyboard C o n t r o l
S l i c i n g N a m i n g C o l o r i n g
Unite, Attach S e p a r a t e T a p e r G i z m o X F o r m Linked XForm Extrude, Face Extrude S m o o t h
UVW XForm B e n d B e v e l ( P r o f i l e ) Cap Holes D i s p l a c e M i r r o r
L a t h e ( R e v o l u t i o n ) W a v e
N o i s e
O p t i m i z e ( S i m p l i f y ) P r e s e r v e
R e l a x R i p p l e S k e w S l i c e
S c u l p t 기본변형
Extended 변형
X X
X
X X X X X X X X X X X X X X
○
○ O
○
○
X
<표 1 > 다면체모델링기능별분류및성능평가(계속)
대기능 소기능 세부 내용
(기능 정의)
특기 사항
Max Maya
Max Maya 기능평가
( :h i g h , : m i d d l e ,
○:low, X:없음)
・Attribute editor로 일관 된인터페이스지원.
・사용자 편의를 위한 일 관되고 다양한 입력 방 법 및 모델링 A i d s들을 가지고있음.
・적은 수의 변형 방법을 제공하지만 3D Widget 과각변형방법의조합 을 통해 실제로는 다양 한변형효과를제공함.
・사용편의성 측면에서 직관적인 우수한 인터 페이스제공.
・실제 개별적인 변형기 능(smooth, wire de- former 등) 측면에서도 M a x에 비해 우수한 성 능을보임.
・키보드, 다이알로그에 의한파라미터조작. 사 용편의성에서 M a y a에 비해불편하며, 구조적으 로도일관성이떨어짐.
・많은수의변형방법제공.
・너무 많은 수의 변형이 제공되므로 실제 사용 자가 원하는 변형을 하 기 위해 사용법을 익히 기가쉽지않음.
・P r i m i t i v e마다 적용 가 능범위가각변형에따 라달라일관성이없음.
・많은 수의 변형법들이 사용편의성 측면에서 인터페이스가 직관적 이지못함.
Vertex Selected Edge Selected Face Selected S e l e c t e d
P r i m i t i v e s E x t e n d e d
P r i m i t i v e
P r i m i t i v e (s o l i d /
curved s h a p e ) M e s h E d i t i n g
S p h e r i f y T e s s e l l a t e T w i s t Vol Select Affect Region W i r e / W r i n k l e L o f t ( S w e e p i n g ) Morph(Blend Shape) S c a t t e r
C o n n e c t C o n f o r m S h a p e M e r g e B o o l e a n연산(Union, Intersection, Difference) FFD 2×2×2, 3×3×3, 4×4×4 ( L a t t i c e ) FFD Select, Box, Cyl C l u s t e r
Camera Map Map Scaler Path Deform Surf Deform
Welding(target, selected) 두버텍스M e r g i n g Affected Region Control C r e a t e
D e l e t e C o l l a p s e
D e t a c h (다른 o b j e c t로) Hide(selected marking) Unhide All
Extrude Selected Face Explode(make subobject), E x t r a c t
V e r t e x 공간/물체간 변형
대기능 소기능 세부 내용
(기능 정의)
특기 사항
Max Maya
Max Maya
X
X X X X X X
X
X X X X X
X
X X X X
○
X X X X
・기능적측면에서는 M a - y a보다 많은 기능을 제 공하고 있음(예; Boo- lean 연산, extened FFD 등) .
・Vertex 대한 많은 에디 팅기능에비해, 실제모 델링에 적용되는 효용 성 측면에서는 불필요 한 o p e r a t i o n이많음.
・M a y a에서는공간및물 체간 변형을 다면체 모 델링 기능보다는 애니 메이션 기능으로 분류 하고있음.
・변형에 대한 애니메이 션제어가용이함.
・V e r t e x에 대한 o p e r a - t i o n이없는편임.
기능평가
( :h i g h , : m i d d l e ,
○:low, X:없음)
P r i m i t i v e 변형
Extended 변형
F a c e
X
X
X X X X
X X X X
캐릭터 애니메이션을 위한 다면체 모델링 시스템 동향분석
대기능 소기능 세부 내용
(기능 정의)
특기 사항
Max Maya
Max Maya Tessellate, Subdivide
D e t a c h C o l l a p s e Make Planar D e l e t e
Hide(selected faces) Unhide All Normal Flip/Unify D u p l i c a t e
Build Face, Append Faces Triangulate Facets Quadrangulate Facets Trim Facet
E x t r u d e
Dividing, Subdividing D e l e t e
C o l l a p s i n g T u r n i n g S o f t e n / H a r d e n Close Edge Merge Edge B e v e l i n g
구조적인 설계 및 지원이 뒤따라야 하겠다. 이를 위해 제공되어야 할 기능들로는 M a y a와 같은 다 양한manipulation 툴, 즉3D Widget 형태의모델링 지원 도구들, 일관된 사용자 인터페이스, 다양한 Scene Graph 편집기등을들수있다. 또한기능적 인 측면에서도 특히 캐릭터 모델링에 적절히 사 용될수있는곡면화도구, Wire[12], Sculpt와같은 진보된 형태의 변형 도구들이 있어야 하겠다. 마 지막으로 다면체 모델링 도구를 위한 기능으로
텍스처 매핑, 혹은 사용자와의 상호작용을 통한 삼차원 페인팅과 같은 렌더링 기능들은 단순히 렌더링기능으로만떼어놓고생각하기힘든부분 이므로, 모델러에 이들 기능을 지원하기 위한 기 능들도추가되어야하겠다.
참 고 문 헌
[ 1 ] KINETIX, Concepts and Modeling, 3D Studio Max User’ s
・M a y a와비슷한기능성 제공.
・M a y a와비슷한기능성 제공.
・기능면에서 M a x와 비 슷하지만 실제 모델링 을 위한 사용자의 사용 편의성을 위한 다양한 3D Widget과 결합되어 있음.
・M a x에비해 M a y a가 더 나은기능과사용편의성 을제공.
<표 1 > 다면체모델링기능별분류및성능평가(계속)
기능평가
( :h i g h , : m i d d l e ,
○:low, X:없음)