블로그 이미지

[언리얼 엔진4 강좌] 언리얼 머티리얼 제작

2014. 7. 27. 08:00
  



Workflow03. 언리얼 머티리얼 제작


그래픽툴을 활용하여 3D 모델을 제작한 다음, 이를 다시 언리얼에서 호환할 수 있는 상태인 스태틱 메시로 변환하였습니다. 이제 이 메시를 게임 안에서 어떻게 보여질지에 대한 시각화하는 단계로 머티리얼을 제작하여 최종적인 게임 비쥬얼을 완성합니다.


머티리얼이란?


머티리얼(Material)은 색상, 무늬, 광택, 투명도, 표면의 거친 정도 등 물체의 시각적인 특징을 설명해주는, 즉 재질을 의미합니다. 일반적으로 물체의 외적인 색상과 무늬를 표현해주는 디퓨즈(Diffuse), 빛의 맺힘과 반사를 표현해주는 스펙큘러(Specular), 표면의 입체적인 굴곡을 표현하는 노멀(Normal) 등이 머티리얼을 정의하는 구성 요소로 사용됩니다. 물리기반 셰이딩 모델을 활용하는 언리얼 엔진4는 위 요소 이외에도 금속성을 표현하는 메탈릭(Metallic), 표면의 거칠기 정도인 러프니스(Roughness) 등 보다 사실적인 재질 제작을 위한 세부적인 속성을 지원합니다.  


머티리얼 생성


머티리얼을 제작하는 방법은 기존에 만들어진 머티리얼을 수정하는 방법과 새롭게 머티리얼을 생성하고 노드를 직접 연결하는 방법이 있습니다. 전반적인 머티리얼 제작 흐름을 살펴보기 위해 머티리얼을 생성하는 과정부터 살펴보겠습니다.


콘텐츠 브라우저에서 New 버튼을 클릭한 다음 드랍메뉴에서 Material을 선택합니다.



콘텐츠 브라우저에 새롭게 머티리얼이 생성되고 머티리얼의 이름을 입력해줍니다. 이름을 수정하고 싶다면 머티리얼 위에서 오른쪽 버튼을 클릭한 다음 팝업 메뉴에서 rename을 선택하여 이름을 변경하면 됩니다. 




머티리얼 에디터


언리얼에서 머티리얼 제작은 머티리얼 에디터에서 이루어집니다. 새롭게 생성된 머티리얼을 더블클릭하여 머티리얼 에디터를 띄웁니다. 머티리얼 에디터는 크게 중앙의 그래프 패널, 우측의 팔래트 패널, 좌측 하단의 디테일 패널로 나눠집니다. 팔래트 패널에서 원하는 노드를 선택하여 중앙의 그래프 패널에 가져와 네트워크를 연결하고 디테일 패널에서 노드의 세부 속성을 조절하는 방식으로 머티리얼 제작 과정은 이뤄집니다. 



1. 디테일 패널
2. 그래프 패널
3. 팔래트 패널

노드의 구조


노드(Node)는 Input과 Output으로 구성되어 있습니다. 외부로부터의 정보를 Input을 통해 받아들인 후 해당 노드에서 연산 과정을 거쳐 그 결과를 다시 Output을 통해 밖으로 내보냅니다. Output은 모든 채널을 이용거거나 Red, Green, Blue, Alpha 각각 채널을 분리하여 사용할 수 있습니다.



머티리얼 제작


처음 머티리얼을 생성하면 머티리얼 에디터의 그래프 패널에는 아직 어떤 노드와 연결되지 않은 메인 머티리얼 노드만 존재합니다. 메인 머티리얼 노드에는 Base color, Specular, Normal, Roughness 등 재질의 다양한 기본 속성이 있습니다. 




텍스쳐를 불러와 보겠습니다. 머티리얼 에디터의 팔래트 패널에서 Texture > TextureSample을 선택하여 중앙의 그래프 패널로 드래그해 가져옵니다. 또는 그래프 패널에서 단축키 T를 누른 상태에서 마우스 왼쪽 버튼을 클릭하면 Texture Sample 노드가 생성됩니다.



디테일 패널로 이동해보면 Material Expression Texture Base 카테고리의 Texture 속성이 None으로 되어있는 것을 알 수 있습니다. 드롭다운 메뉴버튼을 클릭하여 원하는 텍스쳐를 선택합니다. 여기서는 crate_diffuse01이라는 파일명의 디퓨즈 텍스쳐를 불러옵니다.



Texture Sample 노드에 텍스쳐가 시각화됩니다. Texture Sample 노드의 Out put 채널 가운데 모든 채널을 의미하는 하얀색 단추를 클릭 드래그하여 메인 머티리얼 노드의 Base Color의 Input 위에 놓습니다. 두 노드가 실선으로 연결되었습니다.


 

같은 방식으로 새로운 Texture Sample을 만들어준 다음 나머지 텍스쳐를 불러와 메인 머티리얼 노드의 각 속성에 연결해 줍니다.  아래 이미지는 디퓨즈, 스펙큘러, 노멀이 연결된 기본적인 형태의 머티리얼을 구성입니다. 물론 실제 제작되는 노드 구조는 이보다 훨씬 더 복잡할 수 있지만 여기서는 간단히 그 원리만 살펴보았습니다. 



머티리얼 적용


머티리얼 제작을 마쳤다면 액터에 적용해 봅니다. 콘텐츠 브라우저에서 완성된 머티리얼을 뷰포트에 놓인 액터 위로 끌어다 놓습니다.



 액터에 머티리얼이 적용되며 오브젝트 상에 텍스쳐와 재질이 표현됩니다. 



  1. 공학코드 2014.07.31 23:37 신고  address  modify / delete  reply

    잘 보고 갑니다 ㅎ