본문 바로가기

Unity3D/Multiple Materials

Unity 3D Multiple Materials

유니티 3D 에서 모델에 포함된 다중 재질(Material)을 다루는 예


유니티 3D 프로젝트로 3D 모델을 임포트하고 텍스쳐를 조정할 때 주로 Shader 관련 항목을 설정하게 되는데 모델 한개에 다수개의 재질(Material)이 설정된 경우에는 각각의 재질을 선택하고 Shader 설정을 조정할 수 있다.


아래에서 사용된 3D 모델은 TF3DM 사이트에서 다운로드한 것이다 http://tf3dm.com/3d-model/bell-222-85346.html

Bell 222.zip



다음은 다수개의 재질을 포함한 모델의 Shader 설정을 하기 위한 절차를 표시한 것이다

아래의 그림처럼 Project 뷰의 Materials 폴더에 있는 재질을 하나씩 선택하면 Inspector 뷰에서 Shader 설정을 조정할 수 있다.





유니티에서 제공하는 기본 게임오브젝트 중에서 Sphere 에 큐브맵을 적용하여 반사효과를 내는 예


Shader 설정으로 구현가능한 오브젝트의 재질(Material) 효과 중에는 Reflective 가 있는데 이는 거울에 주위환경이 반사되어 보이는 효과를 낼 수 있는 기능이다. 

위의 그림에 나열된 Shader 항목에도 Reflective 항목이 나타나 있는데, 여기서는 Sphere 에 Reflective 를 적용하여 반사구(Reflective Sphere)효과를 내보려고 한다. 


유니티에서 다음과 같이 구를 생성한다

GameObject > Create Other > Sphere 선택, 구가 생성되면 Hierarchy 뷰에서 Sphere 를 선택했을 때 Inspector 뷰에서는 Shader 를 설정할 수 있는 부분이 어디에도 보이지 않는다. 




Sphere 의 Shader 설정 섹션이 Inspector뷰에 보이게 하려면 일단 Sphere 의 기본 재질을 다른 것으로 설정하면 Material 설정 섹션이 Inspector 뷰에 나타나게 된다




위와 같이 임의의 재질을 선택하고 선택창을 닫은 후 Inspector 뷰의 하단을 보면 다음과 같이 Shader 를 설정할 수 있는 섹션이 나타나 있다.




이제 임의로 지정한 재질은 필요가 없기 때문에 아래처럼 원래의 재질을 복원하기 위해 Reset 항목을 선택하고 Shader 를 설정하기 위해 Shader 콤보박스를 누른다




Sphere 표면에서 반사효과를 내기위해 아래 그림처럼 Reflective > Specular 를 선택한다




위와 같이 설정하면 Shader 설정창의 항목이 약간 달라지면서 유니티는 반사효과를 내기 위해서 Reflection Cubemap 을 설정을 제시하고 있다.



Cubemap은 한개의 텍스쳐에 6개의 이미지를 조합해서 마치 거울에 주변의 여러 오브젝트들이 어우러져 있는 듯한 효과를 간편하게 낼 수 있는 방법이다.

그러므로 Cubemap 을 생성하여 6개의 이미지를 배치한 다음 생성된 Cubemap 을 Inspector 뷰의 Cubemap 설정 창에 드래그해야 하는 일이 남아 있다.

다음과 같이 Cubemap을 생성하는 일을 시작한다




위의 설정으로 다음과 같이 Cubemap 이 생성되었고 유니티는 아래 그림과 같이 6개의 이미지를 배치할 것을 요청하고 있는데, Select 버튼을 눌러 각 이미지를 선택해주면 된다




각 6개의 이미지를 배정하면 아래처럼 Preview 화면에 그 결과가 나타난다




위에서 작성한 Cubemap을 Project 뷰에서 Inspector 뷰로 드래그하여 배정하면 반사효과가 완성된다




다음과 같이 완성된 모습을 볼 수 있다. 좀더 세심하게 신경을 기울인다면 6개의 이미지가 서로 연결되어 있어서 연속성을 갖는 경우에는 더욱 실감나는 반사효과를 낼 수 있을 것이다