3D 모델에 텍스처를 적용하려면 머티리얼이라는 매개체가 필요하다. 머티리얼은 3D모델에 적용할 텍스처의 다양한 속성을 설정하는 역할을 한다. 텍스처의 재질, 반복간격, 표현방법등의 속성을 설정한다.

 

머티리얼의 자동 작용

diffuse 텍스처를 씬뷰나 하이라키뷰의 Floor에 끌어다 놓으면 자동으로 적용된다. 대신 diffuse텍스처가 있던 폴더에 자동으로 Material이라는 폴더가 생기고 그안에 머터리얼이 자동생성된다.

Floor를 선택하면 Inspedtor뷰에도 diffuse머터리얼이 적용되여 있는걸 볼수 있다.

이렇게 하면 편해보이지만 머티리얼 폴더및 파일이 여기저기 생겨 관리가 어렵다 새로생긴 머터리얼 폴더를 지우자. 그럼  Floor오브젝트가 분홍색으로 변경되어 오브젝트에 적용된 머터리얼이 끊긴걸 나타낸다

머터리얼 생성

Images폴더에 Materials폴더를 만들고 들어가 우클릭후 Create>Materal로 객체를 만들고 이름을 Floor로 바꾼다.

이후 인스펙터 우상 열쇠를 잠구고 Pattern10폴더의 diffuse를 끌어다 Albedo 왼쪽박스에 놓고 Normal을 Normal Map 왼쪽에 놓는다.다른곳에는 안들어 간다.   

Albedo왼쪽 동그라미를 누르면 텍스처를 선택할 수 있는 팝업창이 나와 선택할 수도 있다.

 

머터리얼 적용방법

완성된 머터리얼을 Floor 게임오브젝트에  끌어다 적용한다. 실제적으로는 Floor게임오브젝트의 Mesh Renderer  컴포넌트의 Materials 속성에 Floor머터리얼이 연결된 것이다.

 

Mesh Filter, Mesh Rendere 컴포넌트

Mesh Filter는 해당모델의 3차원 형상정보인 메시 데이터를 갖고 있고, 이 메시 데이터를 토대로 화면에 렌더링 처리를 하는 컴포넌트가 Mesh Rendere다.

 

타일링 속성

텍스처를 타일처럼 반복시키는 기능이 타일링 속성이다. 머터리얼의 인스펙터뷰의 Emission의 타일링 속성을 (10,10)으로 바꿔보자. Secondary Maps에서 타일링속성이 있지만 이건 특정부분을 세밀하게 표현하기 위한 영역이다.

셰이더및 물리 기반 셰이딩

Shader는 렌더링할 때 픽셀의 농담, 색조, 명암을 결정하는 프로그래밍 방식을 말한다. 쉽게 쓴다면 화면에 텍스처를 표현할때 재질감 또는 효과를 표현하는 기능이다. 세이더는 많은 지식을 요구한다.

유니티는 손쉽게 사용할수 있는 내장 쉐이더를 제공한다. 유니티는 여러가지 재질감을 하나의 쉐이더에서 표현할 수 있게 설계되어 있다. 

유니티의 기본쉐이더인 Standard 쉐이더는 물리기반 쉐이딩을 위해 다양한 옵션을 제공한다. 이 가운데 몇가지 중요한 머터리얼 파라미터는 다음과 같다.

 

렌더링모드

OPaque(불투명), Cutout(그물망표현), Fade(페이드인/아웃), Transparent(투명)의 네가지 설정을 통해 다양한 재질감을 표현할 수 있다.

 

알베도

빛을 반사하는 정도를 말하며, 반사율이라고 한다. 모든 물체는 고유의 빛반사율을 가진 것에서 착안했다. 가장 기본이 되는 텍스처를 연결하는 속성이다.

 

메탈릭속성

객체표면에 금속의 재질을 표현하기 위한 텍스처다. 1에 가까워질수록 금속에 가깝다.

 

노멀맵

3D모델링이 표면의 세밀한 입체감이나 질감을 표현하기 위해 많은 폴리곤을 소모하는걸 막기위한 텍스처의 일종, 텍스처의 엠보싱/음영 효과를 이용.

 

높이맵/ 하이트맵 (Height Map)

노멀맵과 비슷하나 텍스처로 높낮이를 표현하는 것이다. 좀 더 돌출시켜 사물을 가리는(Occlusion)효과를 낼 수 있다.

 

가려지는/오클루전(Occulusion)

흑백의 텍스처로 간접조명에  의해 생기는 명암을 더욱더 뚜렷이 표시해 사물의 입체감과 싶이감을 살리는데 사용. 일반적으로 3D 모델링툴 또는 서드파티툴에서 추출.

 

방출/이미션(Emission)

스스로 빛을 방출하는 속성.

 

디테일 마스크

Secondary Maps에 적용할 마스크를 설정하는 텍스처 슬롯이다.특정부분만 좀 더 세부적인 텍스처를 표현할때 사용한다.

+ Recent posts