I. 서론
1. 연구배경 및 목적
모델링 기법에는 첨가 모델링(Additive Modeling)과 서브트랙티브 모델링(Subtractive Modeling) 두 종류가 있다. 첨가 모델링은 ‘박스 모델링’이라고도 불리며, 이는 간단한 폴리곤(Polygon)부터 점차 세부 사항을 추가하여 메시(Mesh)를 만드는 것이다. 서브트랙티브 모델링은 고해상도(High-resolution) 모델링에서 시작하여 고해상도 스컬프(High-resolution Sculpt), 레이저 스캔 (Laser Scan), 구조화 라이트(Structured-Light) 및 사진측정법(Photogrammetry)을 통해 메시를 획득한 다음에 세부 사항을 점차 줄여 새 메시를 만드는 것이다[1]. 오늘날, 첨가 모델링 기법은 예전의 방식으로 여겨지고 있고, 서브트랙티브 모델링 기법은 트렌드에 맞게 발전되고 있다. 그래서 서브트랙티브 모델링 기법이 앞으로의 모델링을 위한 주요 파이프라인이 될 것이라고 예상된다.
서브트랙티브 모델링 파이프라인에서 획득한 고해상도 모델링은 알려진 점(Vertex) 순서나 상응관계가 없고, 지오메트리에 대한 의미론적인 연관성 및 토폴로지 흐름도 없다[2]. 또한 수백만 개의 폴리곤 그 이상이 밀집한 메시로서 간소화하지 않고는 사용하기 어렵다[3]. 특히 게임엔진은 실시간 렌더링 때문에 지오메트리가 저해상도를 가진 로우폴리 메시로 제한된다. 따라서 이러한 단점들을 해결하고 영화나 게임 업계에 사용 가능한 에셋(Asset)을 창출하기 위해서는 리토폴로지(Retopology)가 필요하다. 리토폴로지의 역할을 과소평가해서는 안되며, 이를 사용하면 폴리곤 수가 매우 낮아질 뿐만 아니라 UV 맵, 텍스처 투영, 애니메이션과 같은 3차원 모델링 파이프라인의 모든 후속 작업에도 도움이 된다[4].
업계에서는 ‘수동식’, ‘자동식’, ‘래핑(Wrapping)식’의 리토폴로지 툴을 주로 사용한다. 대표적인 수동식 리토폴로지 소프트웨어로는 ‘RetopoFlow’, ‘TopoGun’등이 있으며, 이 소프트웨어들은 유저가 표면에 점(Vertex)과 에지(Edge)를 수동으로 만들 수 있도록 한다. 자동식 소프트웨어로는 ‘ZBrush’, ‘3DCoat’등이 있어 유저가 최종 메시의 토폴로지 흐름을 제어하기 위해 표면에 유도 곡선을 그릴 수 있게 한다[4]. 래핑식 소프트웨어로는 ‘Wrap’, ‘SoftWrap’등이 있으며, 이는 저해상도 메시를 고해상도 메시에 감싸는 것이다.
이 세 가지 방식은 다른 유형의 3D 모델링 리토폴로지 작업에 사용된다. 3D 모델링은 주로 두 가지 분류 방법이 있다. 첫 번째 분류 방법은 생명을 기반으로 하는 캐릭터 모델링과 생명이 없는 모델링으로 구분된다. 애니메이션에서 책상과 같은 비 캐릭터 모델링의 경우 움직임이 있더라도 책상 전체가 움직이고, 모델링의 구성요소인 점(Vertex)이 움직이지는 않는다. 그러나 캐릭터 모델링의 경우 개개의 점들이 움직이며 형태를 만들어 낸다[5]. 게임 엔진에서 생명이 없는 모델링은 점에 애니메이션을 설치할 수 없는 ‘스태틱메시(Static Mesh)’ 라고 불리며, 생명을 기반으로 하는 모델링은 바로 ‘스켈레탈메시(Skeletal Mesh)’ 라고 하는 표면을 구성하는 폴리곤이다. 두 번째 분류 방법은 ‘하드서페이스 모델링(Hard Surface Modeling)’과 ‘오개닉 모델링(Organic Modeling)’으로 구분된다. 이렇게 분류된 두 종류 모델링 사이의 경계는 종종 논란이 되고 있으며, 아티스트마다 다른 정의를 가지고 있다. 그 중 어떤 것은 명칭이 함축하는 의미에 따라 구분되는데, 오개닉 모델은 보통 사람, 동물, 식물과 같은 생물에 집중된다. 하드서페이스 모델링은 보통 무기물체와 단단한 표면에 중점을 둔다. 하드서페이스의 예로는 건물이나 가구 등이 있다[6].
본 연구에서는 첫 번째 분류 방법을 이용하여 스태틱메시와 스켈레탈메시로 구분한다. 동시에 날카로운 에지와 모서리 전환과 같은 모델링의 리토폴로지 효율을 탐구하기 위해 하드서페이스 모델링도 연구한다. 즉, 본 연구에서는 스태틱메시, 스켈레탈메시 및 하드서페이스 모델링의 리토폴로지 효율성을 연구한다.
현재 대부분의 연구는 새로운 알고리즘을 제안하거나 새로운 소프트웨어를 개발하여 리토폴리지의 효율성을 높이는 것이다. 예를 들면, Wenzel Jakob 등이 제시한 즉석 필드 정렬 메쉬 알고리즘(instant field-aligned Meshes algorithm)은 구현이 간단하고, 견실하며, 지배 가능하고, 효율적인 로컬 스무딩 연산자(local smoothing operator)를 기반으로 한 새로운 방법이다[7]. Jingwei Huang 등이 개발한 QuadriFlow는 확장 가능하며 견실한 자동 메시의 사각형화 알고리즘 중 하나로 즉석 메시(Instant Meshes)에 기반하지만 전역 메소드(global method)를 사용하여 필드 위치의 모든 특이점들을 삭제할 수 있다[8]. 그러나 그 중 일부 알고리즘이나 소프트웨어는 업계 내 아티스트들에게 실용적이지 못하며 또 다른 실용적인 알고리즘이나 소프트웨어의 효율성에도 차이가 있다. 아티스트의 실제 작업에 용이하기 위해 아티스트의 입장에서 현존하는 각종 관련 소프트웨어를 비교 분석하며 그 효율성에 대하여 평가할 필요가 있다.
본 연구는 시장에 나타나는 수동식, 자동식, 래핑식의 리토폴리지 방식에 근거하여 이 세 가지 방식과 관련된 소프트웨어의 특징을 살펴보고 분석하였다. 이를 기반으로 스태틱메시, 스켈레탈메시와 하드서페이스 모델링에 대해 사례 제작을 한다. 비교 분석을 통해 아티스트가 다른 유형의 모델에 대한 가장 적합한 리토폴리지 방식과 소프트웨어를 선택할 수 있도록 지원한다. 최종적으로 예술의(비공학적) 방향에서 아티스트의 실제 작업에서의 리토폴리지 효율성을 향상시킨다.
2. 연구방법 및 범위
본 연구는 각 유형의 3D 모델링에 가장 적합한 리토폴로지 방식과 각 리토폴로지 방식 중 가장 효율적인 리토폴로지 소프트웨어를 찾기 위해 4가지 연구 단계로 진행되었다. 첫째, 리토폴로지의 정의와 역할에 대해 설명한다. 둘째, 업계에서 자주 볼 수 있는 수동식, 자동식과 래핑식의 리토폴로지 방식, 그리고 각 방식에 포함된 소프트웨어의 기능적 특징을 고찰한다. 셋째, 사례제작의 방식으로 스태틱메시, 스켈레탈메시, 하드서페이스 모델링을 리토폴로지 한다. 사례제작을 근거로 서로 다른 유형의 3D 모델에 어떤 리토폴로지 방식을 사용하는 것이 가장 효율적이고 CG 제작 요구 사항을 충족할 수 있을 지를 비교 분석한다. 마지막으로, 리토폴로지 기술의 현재와 미래의 추세, 극복해야 할 기술상의 어려움을 분석하고 리토폴로지 기술의 진보가 3D 아티스트와 모델링 기술에 미칠 잠재적 영향을 추측한다.
Ⅱ. 리토폴로지의 방식 고찰
1. 리토폴로지의 정의 및 역할
고해상도 메시를 기반으로 단순화 시키고, 생산 준비가 된 새로운 사각형(Quad)의 메시를 생성하는 프로세스를 “리토폴로지” 라고 한다. 이 기술은 본질적으로 토폴로지 구조가 가지런한 로우 폴리곤 메시를 토폴로지구조가 혼란한 하이 폴리곤 메시에 뒤덮는 것이다. 그것은 보편적으로 사용되는 기술이며 빠르게 발전하고 있다[2][9][10].
그림 1. (a)비구조적 고해상도 모델링, (b) 구조화된 저해상도 모델링
모델링 아티스트는 서브트랙티브 모델링 워크플로우에 리토폴로지 기술을 사용한다. 먼저, 3차원 스캔 또는 디지털 스컬프팅 소프트웨어를 사용하여 고해상도의 3차원 메시를 작성한다. 이 고해상도 메시는 많이 디테일하지만 토폴로지 구조가 번거롭고 어수선하다. 그래서 토폴로지 구조가 못 쓰게된 고해상도 메시를 새로운 저해상도 메시로 만드는 작업이 필요하다(즉 리토롤로지 프로세스). [그림 1]에서 (a)는 비구조적 고해상도 모델링이고 (b)는 구조화된 저해상도 모델링이다[11]. 새로운 메시의 디테일은 손실되지만 고해상도 메시의 실루엣에 가깝게 된다. 마지막으로, 3차원 텍스처 소프트웨어인 베이킹 메쉬 텍스쳐(Baking Mesh Texture)를 이용하여 고해상도 메시의 디테일을 이미지 텍스처를 통해 리폴로지된 저해상도 메시에 적용하여 디테일을 위조한다.
리토폴로지는 서브트랙티브 모델링 워크 플로우의 중요한 구성 부분이며 그 역할은 다각적이다. 첫째, 리토폴로지의 메시는 사람의 근육 구조에 부합하기 때문에 캐릭터 리깅의 생성을 돕고 애니메이션의 변형을 보다 사실적으로 만든다. 둘째, 부드러운 메시 와이어는UV 언 래핑(UV Unwrapping) 및 가지런한 레이아웃(Layout)에 도움을 주고, 나아가 고퀄리티의 머티리얼맵(Material Map)을 만들 수 있게 한다. 셋째, 과도하게 밀집된 메시를 폴리곤수가 적은 메시로 간소화시키고, 더 적은 데이터의 모델링은 후속 프로세스에서 더 가볍고 쉽게 사용할 수 있으며, 특히 영화나 게임의 렌더링 속도를 높인다[2]. 넷째, 디지털 스컬핑을 할 때 혼란스러운 메시 토폴로지는 디테일의 제작에 적합하지 않으며 빗질된 메시 토폴로지는 스컬핑이 더 잘 될 수 있다. 다섯째, 리토폴로지의 메시는 하나의 대체물로서, 고해상도 메시의 모든 디테일은 리토폴로지 후 로우폴리 메시에 베이크(Bake) 할 수 있다. 메시 맵 베이킹 방식을 통해 고해상도 메시의 디데일을 그대로 유지하면서 애니메이션에 적합하고 렌더링이 유창하게 실행될 수 있는 모델을 생성한다. 여섯째, 캐릭터를 위한 옷(갑옷 등)을 만들 때, 리토폴로지를 하면 옷(갑옷 등)을 더 자연스럽게 3차원 모델의 표면에 붙이는 것이 가능하고 이는 매우 사실적으로 보인다. 다시 말하자면, 이러한 역할들 때문에 CG작품 제작에 적합하지 않은 상황이 발생했을 때 리토폴로지를 필요로 한다.
2. 리토폴로지의 방식 소개
시중에 나와 있는 리토폴로지 툴의 작업 방식에 따라 수동식, 자동식 및 래핑식의 3가지로 나눌 수 있다.
2.1 수동식 리토폴로지
수동식 리토폴로지(Retopology)는 소프트웨어를 사용하여 고해상도 메시(High-resolution Mesh) 표면에서 수동식으로 점, 에지(Edge), 폴리곤(Polygons)을 배치 및 편집하여, 토폴로지의 흐름(Topology Flow)을 보기가 깔끔하고 면수가 적은 새 메시(Mesh)를 구축한다. 대부분의 수동 토폴로지 소프트웨어는 다른 소프트웨어에서 가져온 삼각형 메시(Triangulated Meshes)를 포함하는 고해상도 메시에 자동으로 캡처할 수 있다. 수동식 리토폴로지의 장점은 높은 최적화 및 맞춤형 결과를 얻을 수 있다는 것이다. 고해상도 메시의 특징을 유지할 뿐만 아니라 폴리곤의 수와 토폴로지 흐름의 위치를 정확하게 제어한다. 그리고 이 토폴로지 흐름은 게임, 고급 VFX, 상업 광고 등 다양한 분야의 제작 요건을 충족시켜 리깅(Rigging)과 애니메이션 제작에 적합하다. 단점은 제작 시간이 많이 걸린다는 것이다. 현재 많은 3D 소프트웨어는 수동 리토폴로지를 지원하는 기능을 가지고 있다. 단, 내장 툴의 수와 각 툴이 토폴로지 흐름을 구축하는 방식(툴의 기능을 통해 구현됨)에는 차이가 있으므로 보유하고 있는 리토폴로지 툴의 수와 기능을 검토할 필요가 있다.
수동 리토폴로지를 탑재한 소프트웨어는 3dsmax 플러그인 ‘Topologik’ (현재 버전 1.11), Blender 플러그인 ‘RetopoFlow’ (3.0), ‘TopoGun’ (2.0), ‘3DCoat’ (4.9), ‘Modo’ (13.2), Maya (2019) 내장 툴 ‘QuadDraw’, ZBrush (2019) 내장 툴 ‘ZSphere’ 및 ‘Topology Brush’를 포함한다. [표 1] 에는 각 소프트웨어의 명칭, 토폴로지 흐름을 수동식으로 제작 및 편집하는 기능(숫자가 있음), 및 각 소프트웨어에서 대응하는 툴의 이름 및 특징 등 내용을 서술한다. 이 13개의 비교 항목은 시중에 나와 있는 7개의 수동 리토폴로지 소프트웨어가 아티스트에게 제공되는 수동 리토폴로지 기능에 대한 전반적인 통계이다. 각각의 기능은 다르지만, 그것들은 사용가치를 제공한다는 측면에서 중요한 정도는 동일하다. 숫자는 각 기능의 코드이며, ‘╳’는 소프트웨어의 현재 버전에서 이 기능을 위한 툴이 없음을 나타낸다.
표 1. 수동식 리토폴로지 소프트웨어 및 각 소프트웨어에 포함된 툴의 기능적 특징
TopoLogik과 RetopoFlow는 일련의 폴리곤을 만들 수 있는 몇 가지 기능을 가지고 있다. 예를 들면, ① 은 폴리곤 스트립(Strips of Polyguns)을 연속적으로 그리고 폴리곤을 만든 후에는 세그먼트의 수, 사이즈, 위치를 쉽게 조절할 수 있다. QuadDraw도 폴리곤 스트립 만들 수 있지만, 생성 전에 만들 수 있는 사각형의 사이즈를 조절해야 되고, 생성 후 세그먼트 수를 수정하는 것은 쉽지 않다. ②은 고해상도 메시에 선(선에는 파라미터 포인트가 있음)을 긋고, 일정한 거리에 다른 선을 긋고, 두 선 사이의 영역은 일련의 폴리곤으로 채워진다. 툴이 활동 상태가 되어 있으면 폴리곤의 밀도와 위치를 변경할 수 있다. ③은 토폴로지 표면이 닫힌 에지(둘러쌓인 코일에 기초한다는 뜻)에 기반하여 ‘홀(Hole)’이 채워진다. 이 기능은 각 소프트웨어에 있는 툴마다 차이가 있다. TopoLogik의 Cap 툴은 구멍의 에지수가 짝수가 아니더라도 툴이 활성화되어 있는 한 원하는 토폴로지 흐름을 정의하기 위해 새 폴리곤을 회전시킬 수 있다. RetopoFlow의 Patches 툴은 구멍의 에지수가 짝수이어야만 채울 수 있다. 반면 3D Coat의 RFillCap 툴은 여러 에지가 한 점씩 교차하는 표면(대량 삼각형 있음)을 채운다. ④은 선택한 연속된 에지 사이에 일련의 폴리곤을 연결할 수 있으며 이러한 폴리곤의 밀도를 편리하게 조절할 수 있다. 3D Coat가 이 두 소프트웨어와 비슷한 기능을 하는 경우를 제외하고는, Modo에서는 브리지된 후 연결된 폴리곤의 밀도를 미리 설정해야 한다. 다른 소프트웨어는 한 번에 한 면 또는 한 에지만 브리지로 연결할 수 있다. 이러한 기능들은 더 이상 한 곡면에서 다른 곡면으로 폴리곤을 창조하는 것이 아니라 한 번에 일련의 폴리곤을 만들어내는 것으로서, 폴리곤의 창조를 위한 많은 새로운 가능성을 제공한다.
⑤은 차례대로 점을 배치하여 폴리곤을 제작하는 것과 ⑥선택된 에지를 끌어 폴리곤을 제작하는 것이 수동적인 작업이 제일 많이 필요로 하는 기능이다. 거의 모든 수동 리토폴로지 소프트웨어는 이러한 두 가지 기본 리토폴로지 기능을 가지고 있다. ⑤차례대로 점을 배치하여 폴리곤을 제작하는 것은 느리지만, 각 점의 위치를 정확하게 제어할 수 있다. ⑥은 선택된 에지(토폴로지 중 가장 외곽에 있는 에지)를 끌어서 하나씩 또는 여러 개의 폴리곤을 밀어낸다. Topologik, Modo, QuadDraw에서 이 기능을 대응하는 툴은 점을 선택한 다음 대각 방향으로 끌어서 폴리곤을 생성하게 할 수 있다. ⑦은 원기둥체를 빠르게 리토폴로지 하고 일반적으로 고해상도 메시 표면에 첫 번째 에지 루프가 그려진 후에 거리에 다른 에지 루프를 그리면 현재 선택된 에지가 돌출된다. 이 기능은 팔과 다리 같은 원기둥체를 리토폴로지 할 때 매우 효율적이다. RetopoFlow의 Contours 툴은 중첩된 곡면이 생기지 않도록 어떤 방향에서, 어떤 순서로든 그리기는 것을 허용한다. ⑧은 수직과 수평으로 교차하는 선을 긋고, 네 개의 교차점에 대해 한 사각형을 형성한다. ⑦과 ⑧도 한 번에 일련의 폴리곤을 생성한다. ⑨는 기존 연속 에지 사이에 연속 에지를 삽입한다. TopoLogik의 Split과 TopoGun의 Connect 툴은 에지가 연속된 표면을 통과하거나 경로를 선택했을 경우에만 연속적인 선을 추가할 수 있다. 이러한 툴은 전체 연속면에 분할선을 추가할 필요가 없을 때 역할을 하며, 전체 연속면을 관통하는 선을 추가한 다음 필요하지 않은 선을 삭제하는 작업을 생략한다. ⑩은 기존 토폴로지에 점, 에지를 삽입하며, 부분적 토폴로지를 수정할 때 매우 유용한다. ⑪은 점 사이거리를 기준으로 점을 결합하여 거의 동일한 점의 평균적인 거리로 토폴로지 흐름을 제작한다. ⑫는 점, 에지 및 폴리곤 같은 구성요소를 이동하여 토폴로지 흐름을 조정한다. 다양한 고속 폴리곤 생성 기능을 사용한 후에 이동 기능을 사용하여 불만족스러운 위치를 가진 구성요소(점, 에지, 폴리곤)를 최적의 위치로 이동하여 최적의 토폴로지 흐름을 달성할 수 있다. ⑬은 구성 요소가 동결된 후에는 동결된 부분은 편집할 수 없다. 예를들면 스무스(Smooth) 토폴로지 흐름에서는 이동이 필요하지 않은 구성 요소를 동결하여 변경을 방지할 수 있다.
TopoLogik과 RetopoFlow는 가지고 있는 수동토폴로지 툴이 많다. TopoGun은 앞서 출시된 독립 소프트웨어로, 특히 리토폴로지를 위해 사용된다. 이 소프트웨어는 대용량 데이터의 3D 모델링 파일을 실행할 수 있다는 장점이 있다. 3D Coat가 보유한 툴의 수와 기능적 특징이 TopoGun과 가장 유사하다. Modo에는 토폴로지 툴(Topology Tools)과 모델링 툴(Modeling Tools)이 통합되어 있어 리토폴로지 할 때 혼합하여 사용할 수 있다. QuadDraw는 리토폴로지 메시를 위한 간소화된 ‘단일 툴’ 워크플로우를 제공하는 것이 특징이며, 리토폴로지 조작은 키보드 키 ‘Ctil’, ‘shift’, ‘Tab’및 마우스 키를 주로 쓴다. 일반적으로 Maya의 모델링 툴과 함께 사용되고 리토폴로지 워크플로우와 일반적인 모델링 워크플로우를 혼합한다. ZBrush의 ZSphere도 하나의 툴이지만, 먼저 Topology Brush를 사용하여 토폴로지 흐름을 빠르게 만든 다음 ZSphere를 사용하여 토폴로지 흐름을 편집할 수 있다. 이러한 소프트웨어들은 모두 리토폴로지 작업을 수동식으로 수행하기 때문에 고도로 최적화되고 자체 정의된 결과를 얻을 수 있다. 단지 소프트웨어 기능의 수로는 어느 소프트웨어를 사용하여 수동식으로 리토폴로지하는 것이 가장 효율적인지 판단하지 못한다. 수동 리토폴로지의 효율성은 사용자가 소프트웨어에 얼마나 능숙한가에 따라 영향을 받기 때문이다. 그러나 툴의 다양성은 무시할 수 없다. 충분히 숙련된 상태에서 빠른 수동 리토폴로지 기능이 있는 소프트웨어를 사용하면 효율성을 높일 수 있다.
2.2 자동식 리토폴로지
자동식 리토폴로지는 소프트웨어를 사용하여 고해상도 메시 표면에서 새 메시를 자동으로 생성하는 것이다. 새로운 메시는 자동 리토폴로지 알고리즘에 따라 생성되며, 이 알고리즘은 사용자가 지정한 밀도에 맞춰, 모델링 표면의 곡률을 따라 좋은 토폴로지 구조가 있는 깨끗한 메시로 생성 된다. 알고리즘의 실행 시간과 입력 메시의 데이터 크기가 정비례 하며, 데이터가 클수록 실행 시간이 더 오래 걸린다. 밀도는 대상 폴리곤 수를 통해 제어할 수 있다. 또한 대부분의 자동 리토폴로지 소프트웨어는 메시 표면에 안내 곡선을 그려냄으로써 메시 흐름을 제어한다. 주의할 점은 안내 곡선이 있더라도 자동 계산은 여전히 메시에 강력한 영향력을 준다는 것이다. 안내 곡선을 그리는 것은 폴리곤의 자동 계산을 강제적으로 낮출 수 있는데, 이것의 의미는 변형하려는 토폴로지 흐름의 영역이 클수록 더 많은 안내 곡선이 필요하게 된다는 것이다[12]. 자동 리토폴로지된 메시는 일반적으로 폴리곤 세분화(Subdivision)후 시각적으로 좋지 않은 ‘아티팩트(Artifact)’가 나타나지 않게 하고, 또한 모델링을 정리하여 더 나은 스컬프팅용 모델링을 얻기 위한 것이다. 자동 리토폴로지의 메시 흐름은 직접 리깅 및 애니메이션 제작에 사용하기 적합하지 않다. 그러나 돌멩이처럼 점 애니메이션의 설치가 필요하지 않은 ‘스태틱 메시(Static Mesh)’는 자동 리토폴로지를 한 후에 ‘에샛(Asset)’으로 사용할 수 있어 제작 시간이 크게 단축 될 수 있다. 자동식 리토폴로지를 지원하는 소프트웨어로는 ZBrush(2019)의 ‘ZRmesher’, 3DCoat(4.9)의 ‘Autopo’, ‘QuadRemesher’, ‘Instant Mesher’, ‘Quadriflow’, Blender플러그인 ‘DynRemesh’과 ‘Tesselator’, ‘Mudbox(2019)’이 있다.
ZBrush의 ZRmesher 툴은 완전히 자동으로 모델링에 폴리곤 메시를 재생성 할 수 있다. 불과 몇 초 만에 20만 개 면의 메시를 정렬된 사각형 흐름을 가진 만 개 면의 리토폴로지 메시로 전환 할 수 있다. 원본 모델링에 그려지는 곡선을 통해 폴리곤 흐름과 ‘에지 루프(Edge Loop)’를 제어함으로써 국부적으로 폴리곤의 방향을 제어할 수 있다. ZRmesher는 또한 상당한 폴리곤 밀도 제어 기능을 제공하여 폴리곤 수를 줄이거나 늘리는 데 사용할 수 있다. 알아둬야 할 점은 ZBrush 2019가 ZRemesher에 대한 업데이트를 실시했고, 새로운 알고리즘이 ‘하드서피스(Hard Surface)’모델링에서 좋은 결과를 낼 수 있게 되었다는 것이다. 그러나 ‘유기적인(Organic)’ 모델링의 경우 이전 알고리즘(Legacy2018)이 더 나은 결과를 얻을 수도 있다. 동시에 ZRemesher는 대칭 메시를 계산하기 위한 두 가지 옵션을 제공하며, 이러한 알고리즘들은 모델링의 분석 방식을 변경하고 리토폴로지 결과에 영향을 미친다. 기본 대칭 설정은 일종의 대칭 알고리즘이며, ZRemesher 버튼을 클릭하면서 Alt 키를 누르면 또 다른 대칭 알고리즘을 사용할 수 있다[12].
현재, 3D Coat의 Autopo는 ZBrush의 ZRmesher와 기능 및 결과 측면에서 유사한 자동 리토폴로지 툴이라고 할 수 있다. Autopo는 리토폴로지 결과에 영향을 미치기 위해 많은 강력한 옵션이 제공되어 있다. 예를 들어 최종 폴리곤 수 제어, 밀도 제어 및 토폴로지 흐름을 안내하는 곡선 그리기 등의 기능이 있다[13]. Metin Seven은 Autopo와 ZRemesher를 사용하여 테스트를 수행했고, 비교적 유사한 리토폴로지 결과를 얻었다[그림 2]. 테스트에서 Metin Seven은 두 소프트웨어 대칭성을 활성화했으며, 동일한 최종 폴리곤 수를 확보하기 위해 설정을 변경하는 것을 제외하면 모두 기본으로 설정했다. Metin Seven은 밀도가 다른 폴리곤 구역을 나누는 것과 곡선을 그리며 토폴로지 흐름을 유도하는 것을 신중하게 해야 한다고 제안하는데, 이 사항들이 자동 리토폴로지 알고리즘의 임무를 복잡하게 만들기 때문이다. 이러한 곡선을 그리는 지시는 알고리즘이 지정된 구역에서 사각형 토폴로지 흐름을 해결하기 위해 새로운 알고리즘을 찾도록 하게 되면서, 다른 구역의 자동 리토폴로지 능력을 퇴화시킬 수 있다. 그래서 그는 우선 기본 설정을 사용하여 자동으로 리토폴로지를 시도해야 하며(어떠한 인공적인 간섭 없이), 확실히 필요한 경우에만 안내선을 그려야 한다고 주장한다[14].
그림 2. Metin Seven의 테스트:세 가지 알고리즘 의 리토폴로지 결과
Quad Remesher는 ZBrush ZRemesher의 개발자인 Maxime Rouca가 제공하는 자동 리토폴로지 플러그인이다. 현재 Maya, 3ds Max, Blender 그리고 Modo와 같은 소프트웨어에 설치 할 수 있다. Quad Remesher는 세분화 후 아티팩트가 없는 부드러운 표면을 생성할 수 있고, UV 언래핑에 적합하며, 쉽게 리깅할수 있으며, 고해상도 조각에 사용되는 최적의 사각형 메시를 생성할 수 있도록 묘사되어 있다[15]. 그러나 정교한 애니메이션 제작에 사용되는 모델링에 대해서는, 예를 들어, 풍부한 표정 애니메이션을 제작 해야 얼굴 모델링의 경우 Quad Remesher사용하여 자동으로 생성된 메시는 애니메이션 제작 요구 사항을 충족하기 위해 여전히 수동으로 수정해야 한다. Quad Remesher는 오목, 볼록, 분기와 같은 곡면적 특징을 계산한 다음 전략적으로 에지 루프와 최대한 적은 수의 ‘특이점(Singularities)’을 생성한다[16]. 특이점이란 메시에 있는 점이 규칙의 궤도를 벗어나고 그 다음에 리토폴로지 알고리즘에 따라 메시에 생성한 연결된 에지수가 4가 아닌 정점이다. 이러한 특이점들은 에지 루프 / 사각형 폴리곤 루프의 흐름을 방해하여, 메시가 세분화된 후에 시각적 아티팩트가 나타난다[7][8][17]. 현재 버전에는 아직 에지 흐름을 정의하는 브러시(brush) 툴이 없지만 리토폴로지의 결과에 영항을 미치기 위해 4가지 제어 옵션이 제공한다.
Wenzel Jakob등이 개발한 Instant Meshes는 ‘즉각적인 필드 정렬(Instant Field-Aligned)’의 메시 생성기이며, 이것은 부분적 스무딩을 기반으로하는 알고리즘이다. ‘글로벌 파라미터화’를 기반으로하는 최신 리토폴로지 알고리즘에 비해 부분적 알고리즘은 많은 특이점이 나타난다. 표준적인 워크플로는 먼저 ‘방향 필드(Orientation Field)’를 결정하는 것이다. 방향 필드는 표면을 덮고 있는 작은 십자가이며 위쪽에 컬러 유선으로 나타난다. 그런 다음 ‘위치 필드(Position Field)’가 결정되고, 즉 최종 메시의 토폴로지 흐름 구조가 지정된다는 것이다. 마지막으로 ‘메시를 추출(Extracted Mesh)’하면 리토폴로지의 모델링이 생성된다. Instant Meshes는 벡터 필드를 안내하는 브러시 툴을 제공하여 최종 메시에 있는 에지의 정확한 위치, 그리고 특이점의 위치 및 개수를 제어할 수 있다. 이를 통해 사용자가 키 영역의 토폴로지 흐름의 위치를 제어하는 동시에 자동 알고리즘에 의존하여 나머지 표면을 생성할 수 있다[7]. 독립적인 데스크탑 소프트웨어로 출시 외에도 3D Coat, Modo의 플러그인으로 사용된다.
Jingwei Huang 등이 개발한 QuadriFlow는 Instant Mesher 알고리즘을 기반으로하는 사각형 메시 생성소프트웨어 이다. 이는 특이점이 더 적은 메시를 생성할 수 있도록 원래 알고리즘을 수정해 준다. QuadriFlow는 특이점을 제거하는 전반적인 문제를 해결하지만 속도가 순수한 부분적 알고리즘의 Instant Mesh만큼 빠르지 않으며, 대부분의 자동 리토폴로지 소프트웨어와 비교해도 실행 시간이 길다. QuadriFlow는 대칭 기능이 없으며, 생성된 최종 리토폴로지 결과도 좋지 않다. 이 소프트웨어는 완전 자동이며, 사용자와 인터액티브 하려면 MCF에 대한 추가적인 제약 조건이 필요하다[8]. 독립적인 데스크탑 소프트웨어로 출시 외에도 Blander, Cinema 4D의 플러그인으로 사용된다.
Blender는 두 개의 자동 리토폴로지 플러그인 DynRemesh와 Tesselator(Particle Remesh라고도 함)를 출시했다. 두 플러그인 모두 특이점을 생성하고 메시를 세분화하면 특이점 위치에 가시적인 아티팩트가 나타난다. Metin Seven은 이 두 플러그인에서 테스트를 수행했는데[그림 3], 그는 이것들이 3D Coat Autopo 또는 ZBrush ZRemesher처럼 정교한 결과를 생성 할 수 없다고 생각한다[17]. Tesselator는 순수한 사각형, 순수한 삼각형, 사각형 및 삼각형이 결합된 메시를 생성할 수 있다. Tesselator는 Instant Meshes를 기반으로하는 알고리즘이다. 이 소프트웨어는 하나의 파티클 시스템(Particle System)의 자동 리토폴로지 알고리즘을 시뮬레이션하고, 또한 브러시의 안내선에 따라 메시의 흐름을 제어 할 수 있다[18]. DynRemesh가 생성한 것은 사각형의 메시이며, 플러그인에서 QuadriFlow(Autoflow라고 함) 알고리즘에 기반한 명령 옵션을 사용한다. DynRemesh에서는 메시의 밀도를 제어할 수 있고, ‘릴렉스(Relax)’ 및 ‘스무스(Smooth)’메시를 할 수 있다. 하지만 브러시툴을 톻해 안내선을 그리는 기능이 없다. DynRemesh는 본질적으로 Blender가 자체적으로 가지고 있는 수정기능과 툴의 조합이다[19].
그림 3. Metin Seven의 리토폴로지 : DynRemesh와 Tesselator를 사용해 생성된 메시
Mudbox의 Retopologize는 자동으로 메시를 리토폴로지 가능하게 하며, 또한 곡선을 그려서 메시 흐름을 안내해준다. 메시 표면에 곡선을 그린 후에 곡선이 에지 흐름의 기본 방향을 정의하는 ‘소프트 제약 조건(Soft Constraints)’ 인지, 또는 에지를 생성하는 ‘하드 제약 조건(Hard Constraints)’ 인지를 추가로 지정할 수 있다[20].
위의 자동 리토폴로지 소프트웨어 중에서 ZBrush의 ZRemesher, 3D Coat의 Autopo 및 Quad Remesher는 고퀄리티의 자동 리토폴로지 결과를 얻을 수 있다. Metin Seven은 이미 ZBrush의 ZRemesher와 3D Coat의Autopo를 사용하여 테스트를 했고 두 방법에서 거의 같은 퀄리티의 리토폴로지 결과를 얻었다. 그래서 본문에서는 ZBrush의 ZRemesher 및 Quad Remesher를 자동 리토폴리지의 대표적인 소프트웨어로 간주하고 사례제작을 진행한다.
2.3 래핑(Wrapping)식 리토폴로지
래핑(Wrapping)식 리토폴로지는 기존의 저해상도 메시(Low-resolution Mesh)를 소프트웨어로 3D 스캔 모델 또는 고해상도 메시에 매칭(Matching)하는 것이다. 합리적이고 매끄러운 토폴로지 흐름을 가진 저해상도 메시를 고해상도 메시에 흡착하여 감싼다. 따라서 래핑을 통해 고해상도 메시 특징을 가진 새로운 메시를 얻을 수 있다. 래핑식은 수동식 또는 자동식처럼 고해상도 메시 표면에 새 메시를 만드는 것과 다르고, 이미 존재하는 낮은 해상도 메시가 있어야 리토폴로지 작업을 수행할 수 있다. 매칭 과정은 수동식으로 점을 지정하거나 모델을 끄는 것이다. 베이스 메시가 고해상도 메시에 흡착하고 감싸는 과정은 자동 연산이다. 래핑식 리토폴로지를 지원하는 소프트웨어로는 Wrap(현재 버전 3.4), ZBrush의 플러그인 ZWrap(1.1.5), Blender의 플로그인 SoftWrap(1.5.1)이 있다.
Wrap3와 ZWrap은 ‘Russian3DScanner’회사가 출시한 소프트웨어이다. Wrap3은 노드 그래프(Node-graph)를 통해 고해상도 및 저해상도 메시의 해당 좌표에 대한 제어점(Control Points)을 지정하고, 기존의 저해상도 메시를 고해상도 메시에 자동 포장하여, 고해상도 메시의 텍스처(Texture)과 점 좌표를 저해상도 메시로 전송할 수 있는 독립적인 소프트웨어이다. 이 소프트웨어는 인체 및 부품의 3D 스캐닝 모델링과 베이스 메시(Base Mesh)를 제공한다. 이런 토폴로지 구조가 합리적인 인체 베이스 모델은 인체 스캔 데이터에 대한 리토폴로지를 처리하기에 매우 적합하다. 이 소프트웨어는 두 가지 매우 유용한 기능을 가지고 있다. 하나는 베이스 메시 물체에 부분적으로 가려진 스캐닝 모델링을 감쌀 수 있다. 예를 들면, 손가락이 공을 쥐고 있는 스캐닝 모델의 경우, 손가락이 공에 맞는 부분이 커버되어 있으며, 베이스 손 모델은 여전히 덮인 부분을 감쌀 수 있다. 두 번째로는 ‘FixSymmetry’ 노드를 통해 비대칭 스캐닝 모델을 기반으로 대칭 모델을 만들 수 있다는 것이다. Wrap3은 3D 스캐닝 데이터를 처리하거나 리토폴로지하는 방식을 변경했다. 또한 일단 한번씩 스캐닝 모델이 처리되면, 같은 처리방법으로 다른 스캐닝 모델에 무한적으로 적용될 수 있으며 일괄적으로 처리할 수도 있다. ZWrap은 ZBrush의 플러그인으로 Wrap에 기반하여 설계되었다. 작업 원리는 Wrap과 동일하다. 고해상도 메시와 베이스 메시에 각각 제어점을 지정하고 나서 다음에 ‘Start Wrapping’버튼을 클릭하여 리토폴로지를 완성할 수 있다. 이것은 쉬운 인터페이스를 사용해서 하이모델링 캐릭터와 3D 스캐닝 데이터를 생산이 준비된 리토폴로지 메시로 전환하는 과정을 가속화한다. ‘Ztextransfer’옵션은 ZBrush에서 저해상도 메시에 하이모델링 텍스처를 투사할 수 있다.
SoftWrap은 Blender의 다이나믹한 리토폴로지 플러그인이다. 우선 수동으로 기존에 있는 저해상도 메시를 고해상도 메시 형체의 비율에 일치를 시키고, 다음에는 연산기능을 사용하여 저해상도 메시를 고해상도 메시에 맞춘 후 감싸서 새로운 토폴로지 메시를 얻는다. SoftWrap의 소프트웨어 시뮬레이션 엔진은 물리학에 기반을 두지 않고, 리토폴로지를 위해 맞춤화 된 역학을 포함하여 특별히 설계되었다. 이 시뮬레이션의 목적은 사용자가 저해상도 메시를 자유롭게 끌 수 있도록(부드러운 옷 한 벌을 끌듯이) 하고, 동시에 고해상도 메시를 자동으로 맞추는 것이다. 그래서 SoftWrap은 고해상도 메시와 저해상도 메시의 비율이 동일하고 일치하도록 요구해야 좋은 리토폴로지 결과를 얻을 수 있다. 현재 버전에는 텍스쳐를 전달할 수 있는 기능이 없다.
Ⅲ. 사례제작 및 연구
서론에서 3D 모델링은 스켈레탈메시와 스태틱메시로 나눌 수 있다고 언급한 바 있다. 또한 날카로운 에지와 모서리 전환면과 같은 모델링의 리토폴로지 효율성을 탐구하기 위해 ‘하드 서페이스 모델링’ 이라는 개념을 추가적으로 연구한다. 스켈레탈메시, 스태틱메시, 하드 서페이스 모델링의 리토폴로지를 통해 각 유형 모델링의 가장 적절한 리토폴로지 방식을 찾을 수 있다.
1. 스켈레탈메시
캐릭터의 얼굴은 보통 표정 애니메이션을 많이 제작해야 한다. 이를 위해서는 캐릭터의 헤드 토폴로지 흐름이 표정 애니메이션의 제작 요건을 충족해야 한다. 본 논문에서 캐릭터 중 가장 중요한 헤드를 선택하여 스켈레탈메시의 대표 모델링으로 연구한다.
[그림 4]는 Maya의 Quad Draw, TopoGun, Blender의 RetopoFlow, 3ds Max의 Toplogik 등의 소프트웨어를 이용하며, 수동 리토폴로지를 통해서 흐름이 좋은 여성 캐릭터의 헤드 메시를 얻는다. 오리지널(Original) 고해상도 메시는 157122개의 폴리곤을 가지고 있는데, ZBrush에서는 ‘데시메이션 마스터(Decimation Master)’기능을 사용해 이 메시를 추출한다. 데시메이션 마스터는 폴리곤의 수를 대폭 줄일 수 있는 동시에 고퀄리티의 디테일을 비교적으로 많이 유지할 수 있다. 전환 모델링으로서 이 정도의 디테일함을 가진 고해상도 메시는 리토폴로지용으로 충분하다. 고해상도 메시는 폴리곤 수가 너무 높으면 리토폴로지 속도에 심각한 영향을 미치며, 심지어는 소프트웨어가 실행되지 않을 수도 있다. 소프트웨어의 실행 속도를 늦추지 않으려면 데시메이션하고 나서 리토폴로지를 진행할 필요가 있다.
그림 4. 수동식 리토폴로지 소프트웨어를 사용하여 얻은 여성 캐릭터의 헤드 메시
위에서 언급한 소프트웨어들을 통해 리토폴로지한 폴리곤의 수가 1725개로 동일할 뿐만 아니라 메시의 토폴로지 흐름도 동일하다. 이러한 토폴로지 배치는 움직임 방향으로 얼굴의 주요근육을 효과적으로 변형시킬 수 있으며, 리깅(Rigging)및 표정 애니메이션 제작요구 사항을 충족하는 것이다. [그림 4]의 실례 제작 결과를 보면 수동식 리토폴로지는 속도가 느리지만 리토폴로지 후 메시의 폴리곤 수를 정확하게 제어할 수 있으며, 이 메시는 UV 언래핑(UV Unwrapping), 리깅, 애니메이션, 렌더링 등 기타 후속 CG 프로세스의 제작 요구사항을 충족한다. 수동식 리토폴로지는 점 애니메이션을 제작할 수 있는 스켈레탈 메시의 리토폴로지 작업에 적합하다. 물론, 제작 요구 사항에 맞는 메시를 얻으려면 아티스트들이 캐릭터근육의 운동지식을 숙달하고 소프트웨어를 능숙하게 사용할 수 있는 능력을 갖추어야 한다.
2장에서 자동 리토폴로지 소프트웨어에 대한 고찰을 통해 ZBrush의 ZRmesher, Quad Remesher, 3D Coat의 Autopo는 고퀄리티 리토폴로지 결과를 낼 수 있다는 것을 알 수 있었고, ZRemesher와 Autopo는 같은 리토폴로지 퀄리티를 생성한다는 것이 확인되었다. 그래서 여기서는 대표적인 두 사례로 ZRemesher와 QuadRemesher만 사용하여 실례를 제작한다. [그림 5]는 ZRmesher, QuadRemesher(Maya) 등의 툴을 활용하여 자동 리토폴로지 적용할 시 생성된 여성 캐릭터의 헤드 메시와 관련된 파라미터 설정이다. 자동 리토폴로지에 사용되는 고해상도 메시는 [그림 4]에서 폴리곤 수가 157122인 메시이다. ZRemesher와 ZRmesher+Alt는 두 가지의 다른 연산 방식이다. ‘폴리곤 그룹(PolyGroup)’을 나누기는 토폴로지 흐름을 가장 엄격하게 제어하는 방법이다. 여기서는 ZBrush에서 ZRmesher, ZRmesher+Alt, Polygroup+ZRmesher의 세 가지 다른 자동 리토폴로지의 실례를 제작했다.
그림 5. 자동식 리토폴로지를 통해 생성된 여성 캐릭터의 헤드 메시와 관련된 파라미터 설정
여성 헤드 모델은 자동 리토폴로지 파라미터 설정에 있어, ①네 번의 자동 리토폴로지 과정을 거치는데, 각 과정에서 적응(Adapt) 옵션이 활성화 되고 적응하는 사이즈(Adaptive Size)는 기본값 50으로 설정된다. 이 설정은 사각형 사이즈를 제어하여 고해상도 메시의 곡률에 따라 적용이 되게 하고, 값이 높을수록 굽은 구역의 사각형이 작아진다. 일반적으로 큰 사각형은 평평한 구역에 나타나야 하고, 작은 사각형은 높은 구부러진 구역에 나타나야 한다. 값이 ‘0’일 때는 모든 메시에서 생성된 사각형의 사이즈가 동일하다. 기본값이 50이면 인물 헤드의 리토폴로지에 적합한 설정이다. ②대칭의 연산 결과를 얻기 위해 네 번의 자동 리토폴로지 과정에 대칭 기능이 켜진다. ③고해상도 메시를 기반으로 한 폴리곤 수는 157122이며, ZRmesher, ZRmesher+Alt, QuadRemesher 를 통해 자동적으로 연산 생성된 메시의 폴리곤 수가 2,000개 정도로 되기 위해서는, ‘타겟 폴리곤수(Target Polygons Count)’의 설정이 각각 0.7, 1.4, 2200이 되어야 한다. 이렇게 하면 약 2000개의 폴리곤 메시의 밀도와 [그림 4]의 1725개의 폴리곤 메시의 밀도가 유사해진다. 이와 같이 스켈레탈메시의 수동및 자동 리토폴로지 결과를 비교하는 것이 더 직관적일 수 있다. Polygroup+ZRemesher의 실례 제작중에는 높은 퀄리티의 결과를 얻기 위해 높은 수치5를 사용한다. ④헤드는 오개닉모델링(OrganicModeling)에 속하기 때문에 ZBrush에서는 모두 Legacy(2018) 연산방법을 사용한다. ⑤Polygroup+ZRemesher는 실례 제작중에 자동 연산을 수행하기 전 ‘키프그룹(KeepGroups)’옵션이 켜진다.
[그림 4]과 [그림 5]의 결과를 비교해 보면 자동으로 생성된 여성 캐릭터의 헤드 메시는 폴리곤의 수가 수동식으로 얻은 메시의 수보다 약간 더 많더라도 그 토폴로지 흐름이 리깅 및 표정 애니메이션 제작 요구 사항을 충족하지 못한다. Polygroup+ZRmesher의 결과를 자세히 보면, 눈가, 입가, 콧날개 등 중요한 부위에 생성되는 토폴로지 흐름이 잘못 되었음을 알 수 있다. [그림 5]의 실례 제작 결과를 통해 다음 내용을 설명할 수 있다(연산 테스트가 여러 번 수행 되었으나 공간적 제한으로 인해 전부 올리진 못 함). 자동식 리토폴로지는 빠르지만 정확히 폴리곤 수를 조절할 수 없고 대략적인 폴리곤 수만 생성할 수 있다. 스켈레탈 메시의 경우, 자동식 리토폴로지를 통해 생성된 메시는 캐릭터 리깅과 애니메이션 제작에 직접 사용할 수 없다.
2장에서 래핑(Wrapping)식 리토폴로지 소프트웨어에 대한 고찰을 통해 Wrap과 ZWrap이 거의 같은 리토폴로지툴 라는 것을 발견할 수 있다. 그래서 여기서는 Wrap과 Blender의 플러그인인 SoftWrap만을 사용하여 실례를 제작한다. [그림 6]은 Wrap과 SoftWrap을 이용해서 래핑(Wrapping)식 리토폴로지로 남성의 헤드 메시를 얻는다. 그림의 위쪽 부분에는 Wrap 소프트웨어를 사용하여 리토폴로지하는 과정, 결과, 그리고 노드 프레임이 나와 있다. 노드 프레임을 통해서 제작 과정을 알 수 있다. ①기존에 있는 메시(Wrap 소프트웨어에 내장됨)와 고해상도 메시를 임포트한다. ②기존에 있는 매시와 고해상도 메시의 같은 위치에 점을 지정한다. ③기존에 있는 메시를 고해상도 메시에 감싼다. ④새롭게 생성된 메시를 저장한다. 그림의 밑 쪽 부분에는 SoftWrap 플러그인을 사용하여 리토폴로지 메시를 하는 과정과 결과가 나와 있다. 제작 과정 ① Blender의 조각 툴을 사용하여 베이스 메시의 형체와 고해상도 메시를 수동적으로 맞춤화한다. 베이스 메시는 Wrap에서 사용하는 것과 동일하지만, SoftWarp에서 래핑 연산 전에 형체를 수동적으로 수정해야 좋은 래핑 결과를 얻을 수 있다. ②베이스 메시를 ‘소스(Source)’모델링으로 설정하고, 고해상도 메시를 ‘타겟(target)’모델링으로 설정한 후 '스타트 (Start)' 를 클릭하여 래핑 연산을 수행한다. ③Snapping과 Smoothing의 값을 높여 래핑 퀄리티를 개선한다. ④ ‘핀(Pin)’을 추가하고 이동하여 눈가, 입가, 귀, 콧날개 등의 위치에 있는 래핑의 결과를 수정한다. ⑤새롭게 생성된 메시가 도출되고 저장된다.
그림 6. 래핑식 리토폴로지를 통해 얻은 남성 캐릭터의 헤드
두 소프트웨어의 리토폴로지 프로세스를 비교하여 SoftWrap이 래핑 연산 전에 저해상도 메시에 대한 형체가 고해상도 메시와 일치하는지의 여부는 Wrap보다 요구 사항이 더 까다롭다는 사실을 발견할 수 있다. 앞의 사항을 적용해 보면 구조가 복잡하고 작은 형체를 리토폴로지할 때 점을 지정하는 방식과 일일히 조정해야 하는 모델링 방식 중에 후자가 더 번거롭다. 또한 SoftWrap을 통해서 얻은 저해상도 메시와 고해상도 메시의 일치 정도는 Wrap보다 결과물이 밀착되지 않기 때문에 더 많은 후속 수정이 필요하다. 대조적으로, 동일한 퀄리티의 결과를 얻는 것은 SoftWrap에 더 많은 수동 작업이 필요하다.
[그림 6]의 실례 제작에서 알 수 있듯이 래핑식은 좋은 리토폴로지 구조를 얻을 수 있지만 베이스 메시가 고해상도 메시와 형체가 비슷해야만 한다. 그러나 아티스트가 창조한 독특한 형태의 생물 모델링이나 하드서페이스 모델은 대부분 좋은 토폴로지 흐름을 가진 베이스 메시가 없다. 현재 래핑식 적용을 가장 많이 사용하는 것은 인체모델링 리토폴로지이다. 다른 형체들은 토폴로지 흐름이 좋은 메시를 베이스 메시 라이브러리로 저장한 다음에 비슷한 형체의 모델링에 래핑식 토폴로지를 사용하게 되면 작업 효율을 크게 향상시킬 수 있다.
2. 스태틱 메시
스태틱 메시는 점(Vertex) 애니메이션을 설정하지 않는 특성 때문에 본 논문에서 조각 모델링을 선택하여 스태틱 메시의 대표 모델링으로 연구한다. [그림 7]은 QuadRemesher(maya)와 ZBrush의 ZRemesher 툴을 이용하여 자동 리토폴로지를 통해 생성된 조각 ‘사고자’ 메시와 관련된 파라미터 설정이다. [그림 7]의 오리지널(Original) 고해상도 메시는 원래의 스캔된 데이터를 ZBrush의 ‘데시메이션 마스터’기능을 사용해 231996개의 폴리곤으로 줄인 것이다. 텍스처를 새로 제작하지 않아도 되는 스태틱 메시는 폴리곤의 수량을 간단하게 데시메이션(Decimation)하여 에셋(Assets)으로 후속 제작 프로세스에 활용할 수 있다. 메시 데시메이션(Mesh Decimation)과 리토폴로지는 모두 메시 데이터 축소 방법으로 간주되지만, 리토폴로지 툴은 메시 데시메이션(Mesh Decimation) 툴에 비해 큰 장점을 가지고 있다. 리토폴로지 툴은 토폴로지 흐름이 있고 보통 ‘사각형(Quads)’이라고 하는 메시를 생성할 수 있다. 그에 비해 대부분의 데시메이션 툴은 생성되는 것이 차선의(Suboptimal) 토폴로지 구조이며 심지어 혼란스러운 삼각형 서페이스다[1]. 흐름이 있는 사각형의 토폴로지는 UV 언래핑과 텍스처 (Texture) 제작에 더욱 적합하다. 그래서 스태틱 메시도 리토폴로지가 필요하다.
그림 7. 자동식 리토폴로지를 통해 생성한 ’사고자’ 메시와 관련된 파라미터 설정
‘사고자’ 모델은 리토폴로지의 파라미터 설정에 있어 ①두 소프트웨어(Maya, ZBush)의 자동 리토폴로지 프로세스 파라미터에서 적응(Adapt) 옵션이 활성화 되고 각자 적응 크기(Adaptive Size)가 기본 값 50으로 설정되었다. ②고해상도 메시를 기반으로 폴리곤 수는 231996개이다. 폴리곤의 외형을 유지하면서 타켓 폴리곤 수를 7000개 정도로 하기 위해 Maya의 Target Quad Count를 7000으로, ZBrush의 Target Polygons Count를 2.5로 설정한다. ③이 조각 모델링은 날카로운 에지와 모서리 전환면이 없기 때문에 ZBrush에서는 Legacy(2018)라는 알고리즘을 사용한다. QuadRemesher와 ZRemesher에서 자동 연산으로 얻는 새로운 사고자 메시는 폴리곤의 수량이 정확히 7000개는 아니지만 토폴로지 흐름이 있는 사각형 폴리곤이 생성됐다. 또한 새로운 메시의 토폴로지 흐름은 UV 언래핑과 텍스쳐 제작의 요건을 충족한다. 그래서 속도가 빠른 자동 리토폴로지 방식이 스태틱 메시의 리토폴로지 작업에 적합하다. 하지만 수동식 리토폴로지는 점 애니메이션이 만들어지지 않는 스태틱 메시에게는 경제적인 제작 방식이 아니다. 수동식 리토폴로지는 최적의 리토폴로지 결과를 얻을 수 있지만 시간이 많이 걸린다. 고해상도 메시와 비슷한 형체가 있고 이미 존재하는 저해상도 메시가 있다면 래핑식도 스태틱메시의 리토폴로지 작업에 적합하다.
3. 하드서페이스 모델링
[그림 8]은 QuadRemesher(Maya)와 ZBrush의 ZRemesher 툴를 이용해서 자동 리토폴로지 되는 하드서페이스 모델링과 관련된 파라미터 설정이다. 그림에서 고해상도 메시는 날카로운 에지와 모서리 전환면을 가지고 있으며, 아래쪽에는 뾰족한 형태의 구조를 가지고 있다. 본 논문에서는 이를 이용하여 하드서페이스 모델링의 대표적인 모델링으로 연구한다. 고해상도 메시에서 전환 에지는 싱글 라인이며 다중 라인의 매끄러운 전환이 아니다. 싱글 라인의 날카로운 전환 에지는 다중라인의 매끄러운 전환 에지와 비교하여 더 나은 자동 리토폴로지 결과를 얻을 수 있다. 고해상도 메시는 네 개의 개별 메시로 구성되어 있으며, 각 메시는 독립적인 리토폴로지 연산을 수행한다. 그러나 리토폴로지의 파라미터 설정에 있어 각각의 소프트웨어에서 메시마다는 동일한 설정을 사용한다. ①두 소프트웨어(Maya, ZBush)의 자동 리토폴로지 프로세스 파라미터에서 적응(Adapt) 옵션이 활성화 되고 각자 적응 크기(Adaptive Size)가 기본 값 50으로 설정되었다. ②두 소프트웨어 모두 대칭 기능이 활성화 되었다. ③Maya의 Target Quad Count를 400으로, ZBrush의 Target Polygons Count를 0.2로 설정한다. ④하드서페이스 모델링이기 때문에 ZBrush에서 사용되는 것은 2019년 버전의 ZRemesher 알고리즘이다. ⑤전환 에지 유지와 모델링의 하드에지를 자동 감지하기 위해 ZBrush 소프트웨어에서 ‘크리즈유지(Keep Creases)’, ‘디텍트엣지(Detect Edges)’를 활성화 하였다. 이 두가지 옵션이 활성화 되면 ZBrush에서 더 나은 하드서페이스 모델링의 리토폴로지 결과를 얻을 수 있다. ⑥ Maya에서 자동 리토폴로지를 할 때, Maya에 내장된 기능 ‘Harden Edge’를 사용하여 전환 에지를 하드에지로 지정한다. 나머지 에지는 ‘Soften Edge’를 사용하여 소프트 에지로 지정하고 ‘Use Existing Harden/Soften Edges’옵션을 활성화한다. 이렇게 하면 Maya에서 더 나은 하드서페이스 모델링의 자동 리토폴로지 결과를 얻을 수 있다. [그림 8]에서 나와 있는 두 개의 실제 제작 결과를 비교하면, 가장 아래쪽에 세 개 첨각 구조는 QuadRemesher를 사용한 것이 더욱 깔끔한 결과를 얻는다는 것을 알 수 있다. 그 위의 원뿔형 모델링은 ZRemesher+Alt 를 사용하여 더 간결한 결과를 얻는다. 현재의 자동식 리토폴로지 알고리즘은 복잡한 하드서페이스 모델링보다는 간단한 형태의 하드서페이스 모델링의 토폴로지 흐름이 좋은 결과를 얻을 수 있도록 한다. 수동식 리토폴로지는 형체가 복잡한 하드서페이스 모델링의 리토폴로지 작업에 적합하다. 아주 간단한 형태의 하드서페이스 모델링의 경우 수동으로 ‘리모델링’하는 것이 가장 효율적인 방식일 수도 있다. 고해상도 메시와 비슷한 형체가 있고 이미 존재하는 저해상도 메시가 있다면 래핑식 또한 수행할 수 있다.
그림 8. 자동식 리토폴로지를 통해 생성된 하드서페이스 모델링과 관련된 파라미터 설정
Ⅳ. 논의
시중에 있는 수동식, 자동식, 래핑식 리토폴로지 소프트웨어에 대해 고찰하고 각 방식에 포함된 소프트웨어의 특징을 비교한다. 첫째, 수동식 리토폴로지는 3dsMax의 Topologik, Blender의 RetopoFlow, TopoGun, 3DCoat, Modo, Maya의 QuadDraw, ZBrush의 ZSphere와 TopologyBrush 소프트웨어가 있다. 고찰을 통해 수동식 리토폴로지 소프트웨어를 사용하면 완벽한 토폴로지 흐름을 가진 메시를 얻을 수 있다는 것을 알 수 있었다. 그러나 소프트웨어 사용의 난이도, 리토폴로지 기능의 수량 그리고 특성이 큰 차이가 있다. 그 중에서 Topologik와 RetopoFlow는 가진 리토폴로지 기능의 수량이 가장 많고, 한 번에 하나의 폴리곤을 만드는 기능뿐만 아니라, 일련의 폴리곤을 빠르게 만드는 기능도 가지고 있다. 그래서 이 두 소프트웨어는 사용하기가 상대적으로 어렵다. QuadDraw, ZSphere, TopologyBrush는 단일 툴이며, QuadDraw, ZSphere는 느린 속도로 한 번에 하나의 폴리곤을 만드는 기능만 가지고 있다. 그리고 소프트웨어 사용의 어려움이 비교적 낮다. TopoGun, 3DCoat, Modo의 기능 수량과 사용 난이도는 앞의 소프트웨어들에 비해 중간 정도의 수준이다. 그리고 이 소프트웨어들은 한 번에 하나의 폴리곤을 만드는 기능을 가지고 있다. 그 중에 TopoGun과 3Dcoat는 선을 긋기를 통해서 일련의 폴리곤을 빠르게 만드는 기능을 가지고 있다. 각각의 아티스트는 자신의 사용 습관과 소프트웨어에 대한 숙련도 때문에 이미 사용 중인 수동 리토폴로지 소프트웨어의 교체를 꺼리는 경우가 많지만, 3dsMax의 Topologik, Blender의 RetopoFlow 및 TopoGun을 사용할 것을 권장한다. 왜냐하면 숙련도가 동일한 상황에서 일련의 폴리곤을 한 번에 만들 수있는 이들 세 개 수동 리토폴로지 소프트웨어를 사용하면 더 효율적이다.
둘째, 자동식 리토폴로지의 주요 소프트웨어는 ZBrsuh의 ZRmesher, 3DCoat의 Autopo, Quad Remesher, Instant Meshes, Quadriflow, MudBox 및 Blender의 DnRemesh와 Tesselator가 있다. 자동식 리토폴로지 소프트웨어는 모두 쉽게 사용할 수 있지만 이를 통해 자동으로 연산되는 결과는 큰 차이가 있다. ZBrsuh의 ZRmesher, 3DCoat의 Autopo, Quad Remesher만이 고퀄리티의 결과를 얻을 수 있기 때문에 자동식 리토폴로지 소프트웨어를 사용하는 경우 ZRemesher, Autopo 및 Quad Remesher를 선택할 것을 제안한다.
마지막으로, 래핑식 리토폴로지의 주요 소프트웨어 Wrap, ZBrush의 Zwrap, Blender의 SoftWrap가 있다. 래핑식은 수동 지정과 자동 연산 작업이 결합되어 있다. 3가지의 소프트웨어는 사용 난이도가 모두 낮다. 그러나 같은 퀄리티의 결과를 얻으려고 한다면 Wrap과 Zwrap이 SoftWrap보다 수동 작업량이 적기 때문에 Wrap과 Zwrap을 사용하는 것이 제안한다.
이 세 가지 방식에포함된 소프트웨어를 채용해서 스켈레탈 메시, 스태틱 메시, 하드서페이스 모델링에 대한 각각의 실례를 제작했다. 이 세 가지 리토폴로지 방식중에 자동식은 속도가 가장 빠르고, 래핑식은 그 다음이며, 수동식은 가장 느리다는 것을 발견할 수 있었다. 수동식은 모든 모델링의 리토폴로지 작업을 수행할 수 있으며, 좋은 토폴로지 흐름을 얻고 난 후 후속 제작 프로세스로 완벽하게 연결할 수 있다는 장점이 있다. 그러나 스태틱 메시의 경우 수동식 리토폴로지는 경제적인 제작 방식이 아니다. 현재 존재하는 자동 리토폴로지 방식은 스태틱 메시와 좀 간단한 하드서페이스 모델링의 제작 요구를 충족할 수 있다. 하지만 복잡한 애니메이션을 제작하는 스켈레탈 메시의 제작 요구까지는 부응하지 못한다. 래핑식은 저해상도의 메시가 좋은 토폴로지의 흐름을 가지고 있어야 하고, 그리고 이것이 고해상도 메시의 형체와 유사해야 리토폴로지의 작업을 수행할 수 있다. 현재 가장 많이 사용되는 것은 인체 스갠 모델링의 리토폴로지이다.
Ⅴ. 결론
점점 더 많은 스튜디오가 고해상도 스컬프, 레이저 스캔, 구조화 라이트, 사진측정법과 같은 서브트랙티브의 모델링 제작 프로세스를 채택하고 있으니, 리토폴로지는 모델링 제작 프로세스에서 중요한 고리가 되어 모델링의 퀄리티에 영향을 미치게 될 것이다.
본 연구에서는 아티스트의 관점에서 현재에 있는 세 가지 리토폴로지 방식과 각 방식에 포함된 소프트웨어를 상세하게 비교 분석한다. 우선 수동식 리토폴로지는 제작 시간이 오래 걸리지만 고도로 최적화되고 맞춤화 된 결과를 얻을 수 있다. 수동식 리토폴로지에서는 일련의 폴리곤을 빠르게 만들 수 있는 3dsMax의 Topologik, Blender의 RetopoFlow 및 TopoGun을 사용할 것을 제안한다. 다음에 자동식 리토폴로지는 애니메이션 제작 요구를 충족하는 토폴로지 흐름을 얻을 수 없지만 제작 속도는 빠르다. 자동식 리토폴로지에서는 고퀄리티의 결과를 얻을 수 있는 ZBrsuh의 ZRmesher, 3DCoat의 Autopo, Quad Remesher를 제안한다. 마지막으로, 래핑식 리토폴로지는 좋은 토폴로지 구조를 가진 기존의 메시가 있어야 작업이 완성될 수 있다. 래핑식 리토폴로지 소프트웨어에서는 수동 작업량이 적은 Wrap과 ZBrush의 Zwrap을 사용할 것을 제안한다.
각 방식에는 모두 장단점이 있다. 아티스트들은 다양한 유형의 모델링에 맞는 리토폴로지의 가장 적합한 방식을 골라서 작업을 완료해야 한다. 스겔레탈 메시의 경우, 토폴로지 구조가 좋은 베이스 메시가 미리 존재한다면 래핑식 리토폴로지 방식을 사용할 것을 추천한다. 토폴로지 구조가 좋은 베이스 메시가 없으면 수동식 리토폴로지 방식을 사용할 것을 추천한다. 스태틱 메시의 경우 자동 리토폴로지 방식을 사용하여 리토폴로지 작업의 시간을 절약할 것을 추천한다. 하드서페이스 모델링의 경우 수동식을 사용하거나 자동생성과 수동수정 결합된 리토폴로지 방식을 사용할 수 있다.
현재 각 리토폴로지 알고리즘 또는 소프트웨어가 완벽하지 않아 빠른 속도로(키보드 하나만 눌러서) 모든 제작 요구를 충족하는 토폴로지 흐름을 생성할 수 없다. 그러나 리토폴로지 소프트웨어에 대한 알고리즘 또는 소프트웨어의 개발은 지속적인 업데이트 중에 있다. 따라서 새로운 알고리즘과 소프트웨어의 출현에 수반하여 새로운 알고리즘이나 소프트웨어에 대한 비교 분석이 필요하다.
참고문헌
- Nataska Statham, "Use of Photogrammetry in Video Games: A Historical Overview," Games and Culture, published online, 2018.
- Eric Patterson, Jessica Baron, and Devin Simpson, "Landmark-Based Re-topology of Stereo-Pair Acquired Face Meshes," ICCVG 2018, LNCS, Vol.11114, pp.425-437, 2018.
- T. Lopez-Martínez, B. Calvo-Bartolome, and A. Garcia-Bueno, "Virtual Restitution of the Parietal Decoration in the Sala Del Mosaico De Los Amores, Castulo Archaeological Site(Linares, Spain)," International Archives of the Photogrammetry, Remote Sensing & Spatial Information Sciences, Vol.XLII-2/W11, 2019.
- Geert J. Verhoeven, "Computer graphics meets image fusion : the power of texture baking to simultaneously visualise 3D surface features and colour," ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol.IV-2/W2, pp.295-302, 2017. https://doi.org/10.5194/isprs-annals-IV-2-W2-295-2017
- 이영헌, "모델링에 있어 효과적 토폴로지(Topology)의 구성에 관한 연구: 얼굴 모델링을 중심으로," 한국애니메이션학회, 제7권, 제4호, pp.120-138, 2011.
- Thomas Denham, "What is 3D Hard Surface & Organic Modeling," https://conceptartempire.c om/hard-surface-organic-modeling/, 2020.1.15.
- Wenzel Jakob, Marco Tarini, Daniele Panozzo, and Olga Sorkine-Hornung, "Instant field-aligned meshes," ACM Transactions on Graphics (TOG), Vol.34, No.6, pp.1-15, 2015.
- Jingwei Huang, Yichao Zhou, Matthias Niessner, Jonathan Richard Shewchuk, and Leonidas J. Guibas, "QuadriFlow: A Scalable and Robust Method for Quadrangulation," Computer Graphics Forum, Vol.37, No.5, pp.147-160, 2018. https://doi.org/10.1111/cgf.13498
- Josh Petty, "What is Retopology? (A Complete Intro Guide For Beginners)," https://conceptartempire.com/retopology/, 2020.1.5.
- Danan, "What is Retopology in 3D Modeling," http://thilakanathanstudios.com/2016/09/what-is-retopology-in-3d-modeling/, 2020.1.5.
- Alessandro Merlo, Luca Dalco, and Filippo Fantini, "Game engine for Cultural Heritage: New opportunities in the relation between simplified models and database," 2012 18th International Conference on Virtual Systems and Multimedia, IEEE, pp.623-628, 2012.
- http://docs.pixologic.com/user-guide/3d-modeling/topology/zremesher/,2020.1.29.
- Javis Jones, "3DCoat Autopo," https://3dcoat.com/manual/retopo/248-autopo/, 2020,1,30.
- Metin Seven, "3D-Coat vs. ZBrush auto-retopology comparison," https://www.artstation.com/metinseven/blog/Ag4W/3d-coat-vs-zbrush-auto-retopology-comparison, 2020.2.2.
- Arti Sergeev, "Quad Remesher for Blender Released," https://80.lv/articles/quad-remesher-forblender-released/, 2020.2.4.
- Arti Sergeev, "Quad Remesher - New Automatic Retopology Plugin," https://80.lv/articles/quad-remesher-new-automatic-retopology-plugin/, 2020.2.4.
- Metin Seven, "Short review of two Blender auto-retopology add-ons," https://www.blendernation.com/2018/10/29/short-review-of-two-blender-auto-retopology-add-ons/, 2020.2.6.
- "Tesselator - Quadrilateral Remeshing," https://blendermarket.com/products/tesselator?ref=2, 2020.2.6.
- "Dynremesh/Autoflow- Retopology Toolset," https://blendermarket.com/products/dynremesh-2/docs, 2020.2.7.
- https://knowledge.autodesk.com/support/mudbox/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Mudbox/files/GUID-E793116B-EB11-4FB2-A533-03E02C94F5F2-htm.html, 2020.2.8.