머티리얼 블렌드는 두 가지 이상의 머티리얼을 섞는 기능으로 월드에 배치된 에셋에 환경감을 추가하는데 사용한다.
블렌드 할 머티리얼을 모두 선택해준 뒤 퀵셀 브리지를 열고 메가스캔 세팅창 아래의 머티리얼 블렌드 생성을 눌러준다. (최대 세개의 머티리얼을 블렌드할 수 있다.)
예시를 위해 Wooden Barrel머티리얼에 Trampled Snow를 블렌드해보겠다.
블렌드하고싶은 머티리얼을 모두 선택해준 뒤 퀵셀브리지의 메가스캔세팅의 머티리얼 블렌드 생성을 눌러준다. (메가스캔세팅을 누르기 위해 선택하는 에셋은 아무거나 선택해도 상관없다.)
베이스가 될 머티리얼을 먼저 선택해야한다. 예를 들어 barrel asset위에 snow 머티리얼을 이용해 눈읖 덮고 싶은 경우 barrel 머티리얼을 먼저 선택 후 snow 머티리얼을 선택해준 뒤 머티리얼 블렌드 생성을 눌러주어야 한다.(여러 머티리얼을 블렌드하는 경우 나중에 선택한 머티리얼이 위로간다.)
아래의 이미지와 같이 BlendMaterials 폴더에 블렌드 머티리얼이 생성된다. 이후 원하는 스태틱 메시에 해당 머티리얼을 드래그해서 넣어주면 된다.
눈머티리얼을 먼저 선택하여 블렌드 머티리얼을 생성할 경우 오른쪽의 통덮인눈과 같은 머티리얼이 생성된다. barrel 스태틱 메시의 머티리얼이 눈으로 덮이며 이후 메시 페인트를 칠할 경우 barrel 머티리얼이 칠해진다.
블렌드 머티리얼을 넣어준 스태틱 메시를 선택한 뒤 왼쪽 위의 모드를 메시 페인트 모드로 변경해주고 페인트 모드를 선택해준다. 이후 페인트 컬러와 컬러 지우기의 색을 바꿔준다. 이후 컬러 페인팅에서 블랜딩하고자 하는 머티리얼에 해당하는 색을 체크한 뒤 칠한다.
snow머티리얼을 블렌드하기 위해서 snow머티리얼에 할당된 색인 빨강만 체크해준다.
스태틱 메시에 페인트를 칠해주면 베이스 머티리얼인 barrel의 머티리얼에 snow머티리얼이 블렌드되는 것을 확인할 수 있다.
Shift키를 누르고 칠할 경우 컬러 지우기에 선택된 색으로 칠해진다.
블렌드 머티리얼은 메시 페인트를 이용해 칠한 RGB컬러에 따라 특정 머티리얼을 위에 덧칠하는 방식을 사용한다.
블렌드 머티리얼에서 각 머티리얼들은 블렌드할 머티리얼을 선택할 때 클릭한 순서에 따라 Base Layer, Middle Layer(빨강), Top Layer(녹색)에 연결된다. RGB가 모두 1일 때 Base Layer에 연결된 머티리얼이 칠해지며 R이 0일 경우 Middle Layer에 연결된 머티리얼이 G가 0일 경우 Top Layer에 연결된 머티리얼이 덧칠해진다.
메시 페인트 모드에서 페인트를 칠해줄 때 페인트 컬러에 해당하는 색(Shift를 누르고 칠하는 경우 컬러 지우기에 해당하는 색)과 컬러 페인팅에서 선택된 색이 곱해져 칠해진다. 이 때 칠하는 색을 명확히 하기 위해서 페인트 컬러와 컬러 지우기는 RGB값이 모두 0인 검정과 1인 흰색으로 설정해준다.
페인트 컬러를 검정색으로 설정하는 이유는 검정색은 RGB가 전부 0이어서 곱한 색을 전부 검정색으로 만들어주기 때문에 페인트 컬러를 검정색으로 두고 컬러 페인팅에서 빨강을 체크하고 칠할 경우 칠해진 부분의 R값이 0이 된다.(흰색으로 두면 1이된다) 블렌드 머티리얼에선 칠하고 싶은 머티리얼에 연결된 색값을 0으로 만들어야 하기 때문에 페인트 컬러를 검정색으로 두어야한다.
페인트 컬러와 컬러 지우기의 색을 다른 색으로 설정해도 작동은 가능하나 칠하거나 지울 때 불편하거나 제대로 안지워지는 경우가 생길 수 있다.
예시를 위해 위의 순서로 블렌드한 블렌드 머티리얼을 사용하겠다.
(복사한 스태틱 메시를 붙여둔 것으로 왼쪽은 RGB Channel이고 오른쪽은 월드에서 보이는 모습이다.)
스태틱 메시에 블렌드 머티리얼을 넣어주고 메시페인트 모드에서 컬러 뷰 모드를 RGB Channels로 할 경우 스태틱메시의 모든 면이 RGB값이 1인(하얀색) 상태로 되어있다.
메시 페인트의 페인트 컬러를 검은색으로 두고 위에서부터 순서대로 빨강, 녹색, 블루, 전부 체크한 상태에서 칠할 경우 위의 사진과 같이 나온다.
머티리얼을 두개만 블렌드할 경우 녹색은 비어있으며 칠할 경우 Top Layer에 아무 텍스쳐도 할당되어있지 않기 때문에 아무런 텍스쳐도 없는 흰색으로 칠해진다.
블루의 경우 항상 Puddle Layer와 연결되어 있는 색으로 물 웅덩이를 표현하는 머티리얼이다. 아래에서 추가로 설명하겠다.
컬러 스포이드를 이용하여 빨강을 체크하고 칠한 부분의 색을 확인해보면 R값은 0에 가깝고 G와 B의 값은 1에 가까운 것을 확인할 수 있다. R값이 0이기 때문에 R과 연결된 Middle Layer에 할당된 두 번째로 선택한 머티리얼이 칠해진 것을 확인할 수 있다.
모든 색을 체크하고 칠한 맨 아래의 경우 모든 머티리얼이 칠해지나 Top Layer에 할당된 머티리얼이 Middle Layer에 할당된 머티리얼 위에 덧씌워서 칠해지기 때문에 Middle Layer에 할당된 머티리얼은 보이지 않는다.
(Puddle Layer가 Top Layer보다 위에 덧칠해지지만 Puddle Layer는 물웅덩이를 표현하는 Layer로 투명도가 매우 높게 설정되어 있기 때문에 아래 있는 Top Layer의 머티리얼이 보인다.)
Puddle Layer는 물웅덩이를 표현하는 Layer로 블렌드하는 머티리얼의 수나 순서에 상관없이 항상 블루채널과 연결되어있고 항상 모든 머티리얼 위에 표현된다.
머티리얼 인스턴스의 Use Puddle Layer를 활성화해준 뒤 웅덩이를 표현하고 싶은 부분에 블루 채널을 체크하고 칠해주면 된다.
어디까지나 머티리얼의 맨 위에 칠해지는 것이기 때문에 물웅덩이 위에 Decal을 놓을 경우 Decal이 웅덩이 위에 떠있는 어색한 모습으로 배치된다.
Liquid Opacity : 웅덩이의 불투명도를 조절하는 값으로 수치를 높이면 웅덩이가 불투명해진다.
Liquid Fresnel Power : Fresnel이 영향을 주는 범위를 조절하는 값으로 수치를 높일수록 중앙을 기준으로 빛의 반사가 적용되는 범위가 줄어든다.
Liquid Roughness : 물 표면의 거칠기를 조절하는 값이다.
Liquid Wave Control : 물 표면에 일렁임을 조절하는 값이다.
액터 배치의 세이프를 이용하여 생성한 오브젝트의 경우 블렌드 머티리얼을 넣어주어도 메시 페인트가 제대로 작동하지 않고 오브젝트의 꼭짓점에만 페인트가 칠해진다.
이는 메시 페인트가 삼각 폴리곤의 버텍스(폴리곤의 꼭짓점)에만 칠할 수 있기 때문에 생기는 문제로 뷰 모드를 와이어프레임으로 변경한 뒤 두 오브젝트를 보면 세이프를 통해 생성한 평면(Plane)이나 큐브(Cube)의 경우 버텍스가 꼭짓점에만 존재하기 때문에 오브젝트의 꼭짓점에만 페인트가 칠해지던 것이다.
이러한 문제는 모델링 기능을 통해 해결이 가능하다. 좌측 상단의 모드를 모델링 모드로 변경 한 뒤 모드 툴바에서 Box를 하나 생성해준다.(평면으로 하고싶을 경우 Rect를 생성하면 된다.) 너비 서브딥비전과 뎁스 서브디비전을 조절해 모델 내의 폴리곤 갯수를 조절할 수 있다.
버텍스가 부족한 경우 생성한 모델을 선택한 뒤 다시 모델링 모드를 선택하고 Displce를 눌러준 뒤 디스플레이스먼트 타입을 Constant나 Texture 2D Map으로 변경하고 서브디비전을 늘려준뒤 적용하면 아래의 그림과 같이 Box내의 폴리곤이 많아진다. 이후 페인트를 칠하면 페인트가 잘 칠해지는 것을 확인할 수 있다.
디스플레이스먼트 타입을 다른 것으로 선택할 경우 랜덤 시드를 통해 배열이 랜덤으로 선택되기 때문에 Box의 모양이 이상해진다.
서브디비전 수는 해당 오브젝트를 얼마나 분해하는지를 정하는 것으로 서브디비전을 높이는 것으로 오브젝트 내에 더 많은 폴리곤을 생성할 수 있다.
오브젝트의 크기가 매우 커서 폴리곤이 매우 많이 필요한 경우 위의 과정을 반복하면 계속해서 폴리곤을 늘릴 수 있다.
액터배치의 세이프를 통해 생성한 큐브나 평면같은 오브젝트도 모델링을 통해 폴리곤을 늘릴 수 있으나 해당 오브젝트만 폴리곤이 늘어나는 것이 아닌 이후 세이프를 통해 생성된 모든 오브젝트의 폴리곤이 늘어나기 때문에 월드 내의 모든 오브젝트의 폴리곤을 늘려야하는 경우가 아니라면 모델링을 통해 오브젝트를 만들고 폴리곤을 늘리는 것이 좋다.