DOI QR코드

DOI QR Code

물리 기반 메터리얼을 기반으로 하는 절차적 생성 방식의 텍스쳐링에 관한 연구

A Study on Texturing of Procedural Generation of based on Physically Based Materials

  • Younghun Lee (Department of Communication Design, Pyeongtaek University)
  • 투고 : 2023.11.20
  • 심사 : 2023.12.31
  • 발행 : 2023.12.31

초록

Procedural generation methods based on physical-based materials generate data by algorithms rather than manual through combinations with artist-generated assets based on computer-generated randomness algorithms. For this reason, the procedural generation method is mainly used to produce textures of 3D models in the field of computer graphics because it is easy to obtain the desired quality with little data. This study is a study on physical-based materials and procedural generation methods based on them. Physical-based materials are divided into Metallic/Roughness workflows and Specific/Glossiness workflows. These two methods produce the same results, which are more accurate based on the law of conservation of energy. The procedural generation method allows a natural texture to be obtained very quickly by texturing through a combination of a computer-generated random algorithm and an artist-generated asset based on various maps.

키워드

1. 서론

최근 들어 애니메이션, 게임, 메타버스와 같이 많은 미디어가 3차원을 기반으로 형성 및 발전을 거듭하고 있다. 본 연구에서는 이러한 3차원을 기반으로 하는 미디어들의 여러 가지 요소들 중에서 텍스쳐링에 집중하여 연구하고자 한다. 전통적인 방식의 텍스쳐링은 실제 사물의 표면을 사진기로 촬영한 후 보정을 통하여 사용하거나 아티스트가 직접 수동으로 텍스쳐를 그리거나 제작하여 사용한다. 이렇게 아티스트가 수동으로 텍스쳐를 제작하는 방법은 많은 시간이 소요되며 자연스럽게 표현하기 어려운 단점을 가지고 있고 아티스트의 직관에 의존하는 방식이기에 일관성을 유지하기 어렵다. 또한 조명환경이 바뀜에 따라 재조정 해 줘야 하기에 한 작품에서 일관성을 유지하기 어렵다는 단점을 동시에 가지고 있다. 이러한 여러 가지의 문제점을 해결하기 위하여 물리 기반 메터리얼(Physically Based Material) 및 절차적 생성 방식(Procedural Generation)을 기반으로 텍스쳐를 생성하는 소프트웨어가 개발되어 사용자가 급격히 증가하고 있다.

본 연구는 물리 기반 메토리얼을 기반으로 하는 절차적 생성 방식의 텍스쳐링에 관한 연구로서 이론적인 내용과 동시에 텍스쳐의 실질적 제작에 활용될 수 있도록 하는데 그 목적을 두고 연구자가 직접 제작한 텍스쳐를 연구에 포함 시켜서 절차적 생성 방식의 진행 과정을 면밀하게 살펴보고자 한다. 본 연구는 총 4장으로 구분하고 서론에서는 연구의 배경 및 목적에 관하여 서술할 것이다. 제2장에서는 물리 기반 메터리얼을 이해하기 위해 가장 중요한 3가지 채널인 금속성(Metallic), 기본 색상(Base Color) 그리고 거칠기(Roughness)에 관하여 알아볼 것이다. 제3장에서는 3가지 채널로 구성된 메터리얼을 기반으로 하는 절차적 생성 방식의 텍츠쳐링에 관하여 서술한 후 제4장에서는 절차적 생성 방식을 사용하여 아티스트가 원하는 텍스쳐들을 제작하기 위하여 필요한 앰비언트 오크루젼 맵(Ambient Occlusion Map), 노말 맵(Normal Map), 커버쳐 맵(Curvature Map), 위치 맵(Position Map), 두께 맵(Thickness Map)들에 대하여 연구할 것이며 절차적 생성 방식을 바탕으로 이러한 텍스쳐들이 구체적으로 어떻게 활용되어지는 지를 본 연구자가 직접 제작한 예제들을 중심으로 살펴볼 계획이다.

절차적 생성 방식의 텍스쳐링에 관한 연구를 위해서는 대표적인 소프트웨어인 어도비사(Adobe)의 서브스턴스 페인터(Substance Painter)를 이용할 것이고 3D 소프트웨어로는 오토데크사(Autodesk)의 마야(Maya)를 사용할 것이다.

2. 물리 기반 메터리얼

2.1 전통적인 메터리얼과 물리 기반 메터리얼

절차적 생성 방식을 사용하여 제작되는 텍스쳐들은 물리 기반 렌더링을 바탕으로 만들어지기에 이에 대한 이해가 필요하다. 물리 기반 렌더링(Physically Based Rendering, PBR)은 빛이 물체에 접촉하며 발생하는 반사, 굴절, 흡수의 과정을 정량화한 후 우리 눈이 관찰할 수 있는 색상으로 재현해주는 기술[Jin, 2016]을 말한다. 현재까지의 기술의 한계 안에서는 물리적으로 완벽하게 현실을 가상공간 안에 재현하는 건 불가능하다. 하지만 물리 기반이라는 용어를 사용하는 이유는 전통적인 렌더링 방식과 비교하여 물리적인 방식으로 비약적인 발전을 하였기 때문일 것이다. 본 논문에서 다루고 있는 물리 기반 렌더링과 전통적인 렌더링 방식을 구체적으로 비교해보자.

<Figure 1>은 전통적인 퐁(Phong) 메터리얼이 빛을 처리하는 방식을 보여주고 있다. 정반사가 일어나는 스페큘러(Specular)와 난반사가 발생하는 디퓨즈(Diffuse) 및 스페큘러가 조명 아래서 물체의 색을 결정하며 전체적으로 동일한 밝기로 보완해주는 엠비언트(Ambient)가 합쳐져 빛에 반응하는 퐁 메터리얼의 최종 아웃풋을 만들어 낸다.

DOTSBL_2023_v30n6_143_f0001.png 이미지

<Figure 1> Phong Material [Joey de Vries, 2023]

<Figure 1>의 퐁 메터리얼과 같이 전통적인 메터리얼은 에너지 보전 법칙을 따르지 못한다. 에너지 보전법칙은 동일한 빛의 환경에서는 반사되는 빛의 총합은 같다는 법칙으로 <Figure 2>의 왼쪽 그림을 보면 표면의 거칠기(Roughness)가 낮아 주변의 빛을 많이 반사하는 반면에 오른쪽 그림은 표면의 거칠기가 높아 전체적으로는 왼쪽 그림보다 빛을 반사하는 것이 적어 보이지만 하이라이트 부분에서 빛을 많이 반사하고 있어 결론적으로는 왼쪽과 오른쪽 그림에서 반사하는 총빛의 합은 같다.

DOTSBL_2023_v30n6_143_f0002.png 이미지

<Figure 2> Material According to the law of Conservation of Energy [Allegorithmic, 2018a]

2.2 물리 기반 메터리얼

물리 기반 메터리얼은 크게 금속성(Metallic)/거칠기(Roughness) 워크플로우와 스페큘러(Specular)/글로시니스(Glossiness)로 나뉜다. 금속성(Metallic)/거칠기(Roughness) 워크플로우는 <Figure 3>과 같이 기본 칼라(Base Color), 금속성(Metallic) 그리고 거칠기(Roughness)와 같이 3개의 맵을 기본으로 메터리얼을 구현한다.

DOTSBL_2023_v30n6_143_f0003.png 이미지

<Figure 3> Metallic/Roughness Workflow [Allegorithmic, 2018b]

기본 칼라(Base Color)는 RGB 채널로 메터리얼의 칼라를 결정한다. 거칠기(Roughness)는 Gray 채널로 머터리얼의 거칠기를 결정하며 금속성(Metallic) 또한 Gray 채널로 메터리얼의 금속성 여부를 결정한다. 이렇게 3개 맵의 조합을 통해 물리 기반 메터리얼이 전통적인 메터리얼과 구분되어 물리 기반의 메터리얼로 작동하는 데 있어 금속성 맵이 그 핵심적인 역할을 담당하고 있다.

<Figure 4>의 왼쪽 메터리얼은 금속성을 0.04으로 셋팅한 결과이고 동일한 조명 조건에서 오른쪽 메터리얼은 금속성을 1로 셋팅한 결과이다. 오른쪽 메터리얼의 스페큘러(Specular)는 왼쪽에 비해 상대적으로 넓은 영역을 차지하고 있는 것을 확인할 수 있다.

DOTSBL_2023_v30n6_143_f0004.png 이미지

<Figure 4> Consequences of Adjustment of Metallic

이와 같이 스페큘러 비교하여 디퓨즈(Diffuse)는 빛을 적게 반사하고 있는 것을 알 수 있다. 이렇게 물리 기반 메터리얼은 에너지 보존 법칙에 따라 메터리얼에 입사되는 빛의 양을 반사되는 빛의 양이 넘지 못하도록 구조화 되어 있다.

<Figure 5>은 물리 기반 메터리얼 중 스페큘러(Specular)/글로시니스(Glossiness) 워크플로우로서 금속성(Metallic)/거칠기(Roughness) 워크플로우와 똑같은 결과를 아웃풋 한다. 스페큘러(Specular)/글로시니스(Glossiness) 워크플로우의 경우 <Figure 5>와 같이 디퓨즈(Diffuse), 스페큘러(Specular), 글로시니스(Glossiness)의 3가지 채널을 기반으로 한다. 디뷰즈 채널의 경우 RGB 채널로서 알베도(Albedo)라고 지칭하기도 하는데 특정한 부분이 금속의 경우 색을 가지고 비금속의 경우 검정색(0)으로 표현한다. 디뷰즈 채널은 금속성(Metallic)/거칠기(Roughness) 워크플로우의 기본 칼라(Base Color)와 비교해 검정색이 많은데 이는 금속의 경우 검정색으로 표현하고 스페큘러(Specular) 맵에서 금속성을 표현하기 때문이다. 스페큘러(Specular)/글로시니스(Glossiness) 워크플로우에서 스페큘러(Specular)의 경우 금속성(Metallic)/거칠기(Roughness) 워크플로우의 금속성(Metallic) 채널과 다르게 RGB 채널을 사용하기에 금속의 고유한 색을 표현할 수 있는 것이다.

DOTSBL_2023_v30n6_143_f0005.png 이미지

<Figure 5> Specular/Glossiness Workflow[Allegorithmic, 2018b]

<Figure 6>은 금속성(Metallic)/거칠기(Roughness) 워크플로우와 스페큘러(Specular)/글로시니스(Glossiness) 워크플로우를 진행하며 발생하는 현상으로 텍스쳐 보간(Texture Interpolation)에 기인하며 비금속 재질과 금속 사이에 뚜렷한 대조가 있는 경계선에 발생한다. 금속성(Metallic)/거칠기(Roughness) 워크플로우는 왼쪽 그림처럼 흰색으로 나타나며 스페큘러(Specular)/글로시니스(Glossiness) 워크플로우는 오른쪽 그림처럼 검정색으로 나타난다. 흰색이 검정색과 비교하여 좀 더 두드러지게 보이게 된다. 이 현상은 저해상도에서 나타나는 현상이기에 고해상도로 이 문제를 해결할 수 있다.

DOTSBL_2023_v30n6_143_f0006.png 이미지

<Figure 6> Texel Density [Allegorithmic, 2018a]

3. 절차적 생성 방식의 텍스쳐링

3.1 모델링과 UV

<Figure 7>은 3D 소프트웨어인 마야(Maya)에서 로우 폴리곤(Low Polygon)1) 상태로 모델링과 UV 편집을 한 결과이다. <Figure 7>은 본 논문을 위해 제작한 모델링이며 총 3개의 메터리얼이 사용되었다. 볼을 감싸는 프레임은 여러 개의 UV를 하나의 메터리얼에 통합하는 유딤(UDIM)의 방식으로 제작하였고 3개의 UV 공간(왼쪽부터 3개)에 배치하였으며 가운데 공과 받침대는 각각 하나의 UV 공간을 사용하였다.

DOTSBL_2023_v30n6_143_f0007.png 이미지

<Figure 7> Modeling and UV

3.2 베이킹(Baking)

절차적 생성 방식의 텍스처링을 진행하기 위해서는 베이킹(Baking) 과정을 거쳐야 한다. 베이킹은 말 그대로 굽는다는 뜻으로 모델링 데이터에서 필요한 텍스쳐 맵들을 생성하는 과정을 뜻한다. 서브스턴스 페인터에서 베이킹을 하면 3D 소프트웨어에서 오브젝트에 할당한 메터리얼이 레이어로 전환된다. 즉, 3D 소프트웨어에서 사용된 메터리얼 개수가 서브스턴스 페인터의 레이어 개수가 되니 3D 소프트웨어에서 텍스쳐를 정확하게 계획하여 마무리하여야 한다. 베이킹 단계를 거치면 대표적으로 앰비언트 오크루젼 맵(Ambient Occlusion Map), 노말 맵(Normal Map), 커버쳐 맵(Curvature Map), 위치 맵(Position Map), 두께 맵(Thickness Map) 등이 생성 된다.

DOTSBL_2023_v30n6_143_f0008.png 이미지

<Figure 8> Befor Baking(left) and After Baking(right)

3.2.1 앰비언트 오크루젼 맵(Ambient Occlusion Map)

앰비언트 오크루젼(Ambient Occlusion)을 직역하면 ‘주변 차폐’ 인데 방의 구석이 어둡듯이 주변에 오브젝트가 있을 때 빛의 차폐 현상이 일어나는 것을 맵으로 작성하는 것을 말한다. 앰비언트 오크루젼은 원래 라이팅을 보완해주기 위해 나온 개념이다. 빛이 오브젝트를 비출 때 구석진 곳에 빛이 다다르기 위해서는 많은 반사를 해야 한다. 이런 많은 반사 속에서 빛이 소멸되거나 약화되기에 구석이 어둡게 보이는 것이다. 이런 상황을 3D 소프웨어에서 표현하기 위해서는 빛의 추적 개수를 많이 높여야 하는데 이는 상당한 부담으로 다가온다.

이에 <Figure 9>와 같이 흑백의 색상으로 주변에 오브젝트가 있으면 어둡게 표현하고 주변에 오브젝트가 없으면 밝게 처리하는 방식으로 맵을 만들어 사용한다. 이러한 맵을 최종 결과와 합성하면 구석진 곳이 마치 빛이 도달하지 못해 만들어진 어두운 부분으로 쉽게 보이도록 할 수 있다. 이러한 앰비언트 오크루젼 맵은 다양한 방법으로 사용되는데 그 중 하나로는 구석진 곳의 먼지를 표현할 때도 사용할 수 있다.

DOTSBL_2023_v30n6_143_f0009.png 이미지

<Figure 9> Ambient Occlusion Map

3.2.2 노말 맵(Normal Map)

노말 맵은 주로 게임에서 사용하기 위해 만들어진 개념이다. 게임의 경우 실시간으로 게임 사용자의 니즈에 맞춰 캐릭터를 실시간으로 렌더링 해주기 위해서는 최대한 데이터가 가벼워야 한다. 이러한 이유로 모델링의 경우 폴리곤 개수를 줄이기 위해 로우 폴리곤(Low Polygon)으로 제작을 한다. 하지만 캐릭터의 룩에 대한 사용자의 니즈가 점점 상승하고 있어 표면의 자세한 표현을 위해 하이 폴리곤(High Polygon)이 필요하다.

노말 맵은 일종에 범프 맵과 비슷한 개념으로 폴리곤 면의 방향을 시각적으로 조작하여 제작한다. <Figure 10>의 공은 <Figure 7>의 프레임 안에 있는 공으로 로우 폴리곤 모델링으로 제작되었다. 이렇게 낮은 폴리곤 개수를 가지고는 <Figure 10>처럼 작게 울퉁불퉁한 표면을 만드는 것은 불가능하다. 따라서 많은 면의 개수를 가진 하이 폴리곤으로 원하는 모델링을 진행하고 <Figure 11>과 같이 서브스턴스 페인터와 같이 베이킹이 가능한 환경에서 로우 폴리곤과 하이 폴리곤을 동시에 임포트하여 같은 위치에 배치한 후 베이킹을 하여 <Figure 10>과 같은 노말 맵을 추출한다.

DOTSBL_2023_v30n6_143_f0010.png 이미지

<Figure 10> Normal Map

DOTSBL_2023_v30n6_143_f0011.png 이미지

<Figure 11> Baking using Normal Map

이렇게 하면 하이 폴리곤의 노말 정보가 노말 맵으로 만들어지고 이를 로우 폴리곤에 적용하게 되어 사용자가 보는 것은 로우 폴리곤이지만 마치 하이 폴리곤을 보는 것과 같은 착각을 일으키게 하는 것이다. 노말 맵은 로우 폴리곤이 하이 폴리곤 상태처럼 보여야 할 때 필요한 것으로 절차적 생성 방식의 텍스쳐링을 위해 반드시 필요한 맵은 아니다. <Figure 8>을 보면 안에 있는 공만 노말맵이 적용되어있는 것을 확인할 수 있다.

3.2.3 커버쳐 맵(Curvature Map)

커버쳐(Curvature)는 곡률이라는 뜻을 가지고 있는데 여기서는 면의 곡률을 의미한다. 커버쳐 맵은 곡률이 많은 부분일수록 흰색에 가깝게 표현한다. <Figure 12>를 보면 오브젝트의 곡률이 심한 부분이 흰색으로 표현되고 있는 것을 알 수 있다. 커버쳐 맵은 세월의 흐름을 표현하는데 핵심적인 역할을 하는 맵으로 우리의 일상을 살펴보면 단단한 표면을 가진 물체의 경우 대부분 코팅이 되어 있다. 이러한 코팅이 세월이 지남에 따라 다른 물체들과 부딪히며 코팅이 벗겨지기 마련이다. 이때 가장 먼저 벗겨지기 시작하는 부분이 다른 물체들과의 마찰에 따른 모서리 부분(엣지, Edge)일 것이다.

DOTSBL_2023_v30n6_143_f0012.png 이미지

<Figure 12> Curvature Map

이러한 커버쳐 맵의 흰색 부분을 물체가 코팅되어 있는 색과 다른 색 혹은 메터리얼(물체가 코팅되기 전에 색 혹은 메터리얼)으로 채우면 세월이 지나 코팅이 벗겨진 것처럼 만들 수 있다. 이때 커버쳐 맵 하나만 사용하면 너무 일률적인 결과를 내어 자연스럽지 않게 보인다. 따라서 노이즈 맵과 같이 사용하거나 서브스턴스 페인터에서는 엣지 부분을 자연스럽게 처리해주는 효과를 통해 이 부분을 표현 할 수 있게 해준다.

3.2.4 위치 맵(Position Map)

위치 맵은 오브젝트의 위치값을 <Figure 13>과 같이 맵으로 추출하여 사용한다. 위치 맵은 다양한 방법으로 활용할 수 있다. 물체를 오랜 시간 공기 중에 놓아 두면 먼지가 쌓이게 되는데 이때 먼지가 쌓이는 곳은 물체를 기준으로 하늘을 바라보는 방향(월드축을 기준으로 Y축)의 부분일 것이다.

DOTSBL_2023_v30n6_143_f0013.png 이미지

<Figure 13> Posion Map

Y축은 녹색(Green)으로 표현하기에 <Figure 13>의 윗부분을 보면 녹색이 많이 나타나는 것이다. 녹색 부분을 이용하여 먼지가 쌓인 상태를 표현할 수 있다. 위치 맵은 다양한 축을 기준으로 다양한 방법으로 활용될 수 있기에 제작자의 응용력이 필요하다.

3.2.5 두께 맵(Thickness Map)

두께 맵은 말 그대로 오브젝트의 두께를 맵으로 추출한 것이다. 두께가 두꺼울수록 맵이 흰색으로 표현되어 <Figure 14> 같은 맵을 추출할 수 있다. 두께 맵은 캐릭터 같이 빛이 캐릭터 안으로 들어가 산란되는 현상을 표현하기 적절하다.

DOTSBL_2023_v30n6_143_f0014.png 이미지

<Figure 14> Thickness Map

두께 맵은 <Figure 14>에서처럼 세밀한 곳은 검정색으로 표현되고 비교적 평평한 곳은 흰색으로 표현하고 있어 세밀한 곳에 원하는 텍스쳐가 들어가지 않고 흰색 부분에 표현될 수 있게 할 수 있는 장점을 가지고 있다.

DOTSBL_2023_v30n6_143_f0015.png 이미지

<Figure 15> Thickness Map and Character

3.3 절차 생성 방식 텍스쳐링의 예

위와 같이 베이킹을 마치면 다양한 맵들을 추출하고 <Figure 8>과 같은 결과를 얻을 수 있다. 그다음 추출된 맵들을 기반으로 텍스쳐링을 진행한다. 본 연구를 위한 오브젝트 모델링 예제는 공과 이를 둘러싸고 있는 프레임 그리고 받침대 이렇게 총 3개의 부분으로 제작되어 있다. 3개의 부분은 각기 다른 방식으로 텍스쳐링을 진행하기에 분리하여 서술한다.

DOTSBL_2023_v30n6_143_f0016.png 이미지

<Figure 16> Final Result

3.3.1 프레임(Frame)

프레임은 <Figure 18>처럼 처음 출발이 금속 재질에 코팅된 표면으로 시작한다. 하지만 <Figure 17>과 같이 시간의 흐름에 따라 여러 물체들과 부딪히며 약간씩 찌그러지고 코딩이 벗겨져 표면이 거칠어진 것을 표현하고 있다. 코팅이 벗겨져 표면이 자연스럽게 거칠어지는 표현은 거칠기 맵(Roughness Map)을 이용하였다. 거칠기 맵은 Gray 채널로 다양한 맵이 있기에 제작자가 원하는 맵을 골라서 사용할 수 있다. 이후 필터를 통해 서브스턴스에서 제공하는 ‘MaFinish Galvanized’을 사용하였는데 이는 표면을 노말 맵을 이용하여 인위적으로 표면을 <Figure 18>과 같이 만들어 사용하는 필터를 사용한 결과이다.

DOTSBL_2023_v30n6_143_f0017.png 이미지

<Figure 17> Application of Roughness Map and Filter

DOTSBL_2023_v30n6_143_f0018.png 이미지

<Figure 18> Roughness Map and Filter

<Figure 19>는 <Figure 17>의 과정과는 다르게 마스크에 작업을 진행한 결과이다. <Figure 17>은 필레이어(Fill Layer)를 사용하고 있는데 필 레이어는 레이어 전체 영역에 메터리얼을 동일하게 적용한다. <Figure 19>는 이러한 필 레이어에 마스크를 부착하여 사용하였다. 마스크는 알파 채널(Gray 채널)의 개념으로 필 레이어에 직접적인 변화를 주지 않고 마스크를 컨트롤함으로서 원하는 결과를 이끌어 가는 방식을 사용한다.

DOTSBL_2023_v30n6_143_f0019.png 이미지

<Figure 19> Applying Generator to Mask

<Figure 19>는 코팅이 벗겨졌을 때의 금속성을 가지고 있는 메터리얼이 기본이 되는 필 레이어에 마스크를 붙인 후 제너레이터(Generator)를 사용하였다. 제너레이터란 서브스턴스 페이터에서 사용하는 개념으로 텍스쳐 세트 설정에서 추가 맵 설정을 사용하여 마스크 또는 재료를 생성하는 물질이다. <Figure 19>에서 사용한 제너레이터는 이용 빈도가 높은 제너레이터(Metal Edge Wear)로 커버쳐 맵(Curvature Map)과 유사한 기능을 가진다. 커버쳐 맵의 경우 곡률이 강한 부분이 일률적으로 처리되어 부자연스러운 단점을 가지고 있는데 Metal Edge Wear 제너레이터는 <Figure 19>와 같이 자연스러운 벗겨짐을 쉽게 제작할 수 있도록 도와준다.

<Figure 20>은 시간의 흐름에 따라 먼지가 자연스럽게 안착되어 있는 모습을 표현하고 있다. 이렇게 먼지가 쌓여 있는 모습을 표현하기 위해 마스크에 먼지(Dirt) 제너레이터를 추가하여 어렵지 않게 전체적으로 먼지가 쌓여 있는 것을 표현하였다. <Figure 20>을 보면 먼지 제너레이터는 구석진 곳에 먼지가 쌓이는 것과 같이 표현해주는 툴임을 알 수 있다. 하지만 이 먼지 제너레이터만 사용하면 너무 균일하게 먼지가 쌓여 보기기 때문에 부자연스럽게 보인다. 이러한 문제를 보완해주기 위하여 마스크에 필 레이어를 추가하고 이필 레이어에 ‘Grunge Dirt Scratched’라는 Gray 채널의 텍스쳐를 추가해주면 먼지가 쌓이는 것이 랜덤(Random)하게 처리하게 되어 보다 자연스러운 모습을 표현하기 좋다.

DOTSBL_2023_v30n6_143_f0020.png 이미지

<Figure 20> A Dusty Figure

<Figure 20>에서의 먼지 쌓인 표현은 프레임 전체적으로 고르게 퍼져있다. 여기에 조금 더 자연스러운 모습을 위해 <Figure 13>의 위치 맵 개념을 추가하면 위쪽 방향(월드축에서 Y축)으로 놓여 있는 면에 전체적으로 먼지가 쌓이는 현상을 표현할 수 있으며 위치맵은 위쪽은 흰색이고 밑으로 내려오면서 검정색으로 점진적으로 바뀌기에 먼지가 위에 많이 쌓여 있고 밑으로 내려오면서 <Figure 21>과 같이 서서히 약해지게 표현할 수 있도록 해준다.

DOTSBL_2023_v30n6_143_f0021.png 이미지

<Figure 21> Applying Position Map

<Figure 22>는 마지막으로 노말 맵을 사용해서 모델링에서 못 다한 디테일한 표현을 추가한 예이다. 마치 모델링 단계에서 제작된 것처럼 보이지만 실제로는 노말 맵을 사용한 일종의 눈속임이다. 일단 일반 레이어를 추가한 후 노말 맵을 사용하여 손잡이를 만들어 주면 마치 모델링이 이와 같이 된 것처럼 보인다. 하지만 안쪽으로 들어가 홈이 파인 부분에 먼지가 없고 충분히 어둡지 않아 이를 해결하기 위해 <Figure 22>과 같이 먼지 제너레이터와 앰비언트 오크루젼 맵이 혼합된 것 같은 ‘MatFx HBAO’ 필터를 사용하여 이를 보충하였다.

DOTSBL_2023_v30n6_143_f0022.png 이미지

<Figure 22> A Groove Using a Normal Map

3.3.2 공(Ball)

이번에는 공의 텍스쳐 처리 과정을 살펴보기로 하자. 공의 경우 모델링 과정에서 하이 폴리곤 모델링이 준비가 된 경우이다. <Figure 23>의 로우 폴리곤(왼쪽)으로는 하이 폴리곤(오른쪽)에서의 디테일한 굴곡을 표현하기는 불가능하다. 이에 <Figure 11>에서처럼 로우 폴리곤과 하이 폴리곤을 동일한 위치에 배치한 후 베이킹을 하면 하이 폴리곤의 노말 맵이 추출되고 이것이 로우 폴리곤에 적용되어 <Figure 24>와 같이 로우 폴리곤이 마치 하이 폴리곤 인 것처럼 표현된다. 그다음 기본 색상 레이어를 추가하고 먼지가 포함된 색상의 필 레이어를 만들고 마스크를 붙인다. 그 후 먼지, 앰비언트 오크루젼, 커버쳐, 스크레치 등의 기능을 포함하고 있는 ‘Mask Builder’ 제너레이터를 마스크에 추가하여 <Figure 24>와 같은 결과를 이끌어 낸다.

DOTSBL_2023_v30n6_143_f0023.png 이미지

<Figure 23> Low Polygon(left) and High Polygon(right)

DOTSBL_2023_v30n6_143_f0024.png 이미지

<Figure 24> Generator and Filter Applied to Low Polygon

여기에 색을 보정 할 수 있는 필 레이어 2개를 만들고 각각 <Figure 24>에 적용했던 ‘Mask Builder’ 제너레이터를 추가하여 <Figure 25>와 같이 완성한다.

DOTSBL_2023_v30n6_143_f0025.png 이미지

<Figure 25> Ball

3.3.3 받침대(Base)

받침대는 나무 질감을 기본으로 제작하였다. 나무질감은 많이 사용되는 질감이여서 프리셋(Presets)이 많이 제공되고 있다. <Figure 26>은 기본적인 나무질감을 만들기 위한 메터리얼 그룹으로 총 10개의 레이어들로 구성되어 있다. 나무 기본 색상, 무늬, 먼지, 위치에 따른 색의 변화, 커버쳐 맵 등 다양하고 디테일한 요소들을 추가해 가며 <Figure 26>을 제작하였다.

DOTSBL_2023_v30n6_143_f0026.png 이미지

<Figure 26> Wood Texture

<Figure 27>은 완성된 나무 질감 위에 텍스트가 인쇄된 것을 표현한 예이다. 폰트를 위한 필 레이어를 마스크에 추가한 후 깔끔한 폰트가 시간의 흐름에 따라 일부분이 벗겨진 표현을 위해 ‘Grunge Dirt Heavy라는 필 레이어를 추가하여 자연스러움을 더했다. 여기에 프레임에서 녹물이 받침대에 흘러 내려간 표현을 위해 레이어를 두 개 만들어 추가 하였다.

DOTSBL_2023_v30n6_143_f0027.png 이미지

<Figure 27> Font on Wood Texture

위의 여러 과정 들을 거쳐 <Figure 28>의 결과를 얻었다.

DOTSBL_2023_v30n6_143_f0028.png 이미지

<Figure 28> Final Result

3.3.4 텍스쳐들의 전환

서브스턴스 페인터의 경우 텍스쳐를 제작하는 소프트웨어이기에 다시 3D 소프트웨어로 텍스쳐들을 전환하여 사용해야 한다. 따라서 서브스턴스 페인터에서 제작을 시작하기 전에 금속성(Metallic)/거칠기(Roughness) 워크플로우와 스페큘러(Specular)/글로시니스(Glossiness) 중에 하나를 선택해야 한다. 서브스턴스 페인터에서 제작이 완료된 텍스쳐들을 3D 소프트웨어로 가져 가려면 <Figure 29>와 같이 텍스쳐를 익스포트(Export) 하면 된다.

DOTSBL_2023_v30n6_143_f0029.png 이미지

<Figure 29> Exported Textures

<Figure 29>는 프레임의 텍스쳐들만 추출한 결과로 UDIM 방식을 사용하여 3개의 공간에 UV를 배치하였기에 각 채널마다 3개의 텍스쳐가 추출되어 총 25개의 텍스쳐를 얻었다.

DOTSBL_2023_v30n6_143_f0030.png 이미지

<Figure 30> Texture Network in 3D Software

서브스턴스 페인터에서 익스포트 텍스쳐를 할 때는 어떤 3D 소프트웨어에서 사용할지를 결정함과 동시에 무엇보다 중요한 것은 어떤 렌더러(Renderer)를 사용할지를 결정하는 것이다. 본 연구에서는 3D 소프트웨어로 마야(Maya)를 사용하고 있는데 렌더러는 마야의 기본 렌더러인 아놀드 렌더러(Arnold Renderer)이다. 아놀드 렌더러의 기본 메터리얼은 ‘aiStandardSurface’를 사용하며 금속성(Metallic)/거칠기(Roughness) 워크플로우를 채용하고 있어 이것에 맞춰 텍스쳐를 제작하여야 한다. <Table 1>은 서브스턴스 페인터에서 추출된 텍스쳐들이 ‘aiStandardSurface’의 어떤 채널로 연결되는지를 보여준다.

<Table 1> Texture to aiStandardSurface

DOTSBL_2023_v30n6_143_t0001.png 이미지

서브스턴스 페인터에서 제작된 텍스쳐들은 그 특성에 맞춰 마야의 ‘aiStandardSurface’의 해당 채널에 연결해주면 된다. 기본 칼라(Base Color), 금속성(Metallic), 거칠기(Roughness)는 채널의 명칭으로 쉽게 찾아 연결 할 수 있는데 노말(Normal)과 높이(Height)는 연결 채널을 찾기가 쉽지 않다. 앞에서 설명했듯 노말 맵은 범프 맵과 비슷한 성질을 가지고 있어 ‘aiStandardSurface’의 범프 맵이 연결하는 곳에 노말 맵을 연결하면 된다. 높이 맵(Height Map)의 경우 노말 맵처럼 눈속임을 하는 게 아닌 모델링을 직접 변형하는 개념이기에 ‘aiStandardSurface’의 상위 노드인 쉐이딩 그룹 노드의 ‘Displacement Shader’에 연결하면 된다. 마야에서 이렇게 ‘aiStandardSurface’에 텍스쳐를 연결한 후 렌더링을 하면 서브스턴스 페인터에서처럼 마야에서도 같은 룩을 표현할 수 있게 된다.

DOTSBL_2023_v30n6_143_f0031.png 이미지

<Figure 31> Final Result in 3D Software

4. 결론

물리 기반 메터리얼의 장점은 비교적 정확한 수식에 기반하기에 아티스트의 추측하여 표면 속성을 제작하는 속성을 줄일 수 있다. 예를 들면 아티스트가 금속성을 표현하기 위해 직관적으로 파악하여 컨트롤 하는 대신 물리 기반 메터리얼의 금속성(Metallic)을 제어함으로서 보다 정확하게 금속성을 표현 할 수 있다. 또한 모든 조명 조건에서 에셋을 정확하게 표현할 수 있다. 과거에 아티스트들은 조명 조건이 바뀜에 따라 수동적으로 메터리얼을 수정해 왔다. 하지만 물리 기반 메터리얼 시스템 아래에서는 다양한 조명 조건을 고려하지 않고 작업하여도 되며 다른 아티스트들 간의 상호 호환성 문제도 상당 부분 해결할 수 있다.

이러한 물리 기반 메터리얼을 바탕으로 텍스쳐링을 진행하는데 있어 절차적 생성 방식(Procedural Generation)은 컴퓨터에서 생성된 무작위성 알고리즘을 기반으로 아티스트가 생성한 에셋과의 조합을 통해 수동이 아닌 알고리즘으로 데이터를 생성한다. 이러한 이유로 절차적 생성 방식은 적은 데이터를 가지고 원하는 퀄리티를 쉽게 얻을 수 있어서 컴퓨터 그래픽 분야에서 3D 모델의 텍스쳐를 제작하는데 주로 사용된다.

본 연구에서 다룬 텍스쳐를 전통적인 방식으로 제작하기 위해서는 아티스트가 일일이 모든 과정을 그려주는 방식으로 진행해야 한다. 이렇게 아티스트의 수동적인 방식은 모든 에셋의 통일성을 유지하기가 어렵고 자연스러운 텍쳐쳐링을 위해서는 아티스트의 오랜 경험이 요구된다. 하지만 절차적 생성 방식을 사용하면 여러 가지 맵들을 기반으로 세월의 흐름에 따른 먼지의 쌓임이나 모서리 코팅의 벗겨짐 등을 자연스럽고 빠르게 만들 수 있는 장점을 활용할 수 있다.

전통적인 방식의 텍스쳐링 아티스트가 물리 기반 메터리얼 및 절차적 생성 방식의 개념을 명확하게 파악하고 텍스쳐링을 하기는 쉽지 않다. 이에 본 연구는 이러한 텍스쳐링 아티스트들에게 실질적인 도움을 주고자 함을 그 목적으로 하고 있다. 이에 물리 기반 메터리얼과 절차적 생성 방식의 개념과 이들을 활용하여 실질적으로 텍스쳐링하는 과정을 연구에 담고 있다. 본 연구가 이러한 텍스쳐 아티스트들에게 도움이 되었기를 바라며 글을 마친다.

참고문헌

  1. Allegorithmic, 2018a, "The PBR Guide - Part 1", https://creativecloud.adobe.com/learn/substance-3d-designer/web/the-pbr-guide-part-1.
  2. Allegorithmic, 2018b, "The PBR Guide - Part 2", https://creativecloud.adobe.com/learn/substance-3d-designer/web/the-pbr-guide-part-2.
  3. Jin, S. G., "Recent Technical Trends and Issues of Physically-based Rendering", Asia-Pacific Journal of Multimedia Services Convergent with Art, Humanities and Sociology, Vol.6 No.9, 2016, pp. 49-58. https://doi.org/10.14257/AJMAHS.2016.09.23
  4. Joey de Vries, J., 2023, https://learnopengl.com/Lighting/Basic-Lighting.