Material (4) _ Landscape 지형생성 및 타일링 제거하기
Landscape를 이용하여 간단한 무작위 지형생성 및 타일링 제거를 해볼 것이다.
랜드스케이프 모드로 들어가서 노이즈를 선택하고 노이즈 강도, 툴 강도, 브러쉬 크기 등을 조정하여 지형을 만든다.
퀵셀 브릿지에서 찾은 Mossy Grass 머터리얼 인스턴스를 지형에 넣어주었다.
지형을 보면 마치 블록처럼 풀이 깔려있어 매우 부자연스러운 것을 볼 수 있다.
이를 자연스럽게 보이게 하는 작업(타일링 제거)을 할 것이다.
먼저 머터리얼 함수를 생성한다.
이 함수에 기존에 마스터 머터리얼을 만들어 BaseColor, Brightness, Saturation, Contrast, Tint 등을 조절한 것을 이 함수로 전부 조정할 수 있도록 한다.
Input 값을 넣으면 함수의 입력부분에 값이 생긴다.
이 값의 종류(1 Float, 2 Float, Bool 등등)을 선택할 수 있고 이름도 바꿀 수 있다.
또한 언리얼에서 제공하는 TextureBombing 함수를 이용할 것이다.
여기에서의 입력노드들에도 Input을 달아 사용자가 조정할 수 있도록 한다.
위의 LandscapeMaterialProcess가 맨 처음 만든 머터리얼 함수이다.
이 함수의 입력노드들을 보면 위에서 Input으로 넣은 값들임을 볼 수 있다.
이 값들을 조절하기 위해서 전부 파라미터로 값을 넣어준다.
머터리얼 인스턴스를 만들면 위와 같이 각 파라미터를 조절 할 수 있다.
뷰포트를 보면 타일링이 사라진 것을 볼 수 있다.
조금 더 노이즈를 주기 위하여 추가 작업을 할 것이다.
스타터 콘텐츠에 존재하는 M_Metal_Gold를 보면 위와 같이 Macro Texture Variation과 Reduce Macro Contrast가 존재한다.
이는 표면에 노이즈를 생성하는 노드들로 이를 가져다가 쓸 것이다.
함수안에 복사하여 넣어주고 기존의 값과 Multiply하여 출력한다.
표면에 노이즈가 생겨 보다 다채로워진 것을 볼 수 있다.
위의 노이즈 노드들을 따로 함수로 저장하였다.
함수로 만들어 간단히 정리한 모습
추가로 이 노이즈 사용유무를 사용자가 선택할 수 있도록 UseMacroVariation을 추가하였다.