天天看點

我的 “地形” 我做主

Part1前言

地形是一般場景制作的基礎,而地形材質又是地形制作的核心。本文主要解決地形材質相關基本概念。

Part2節點

MakeMaterialAttributes,材質中的材質節點,把對應通道連接配接到這個節點

我的 “地形” 我做主

LandscapeLayerBlend,地形材質中用于分層的節點

我的 “地形” 我做主

材質屬性裡勾選 Use Material Attributes,可以使材質合并成一個節點,變成隻有一個輸入的節點

我的 “地形” 我做主

Part3制作簡易地形材質

地形材質一般需要若幹層,制作簡易的地形材質,可以借助megascans資源,及其材質節點 主要思路是通過layerblend節點疊加所需的不同材料

1概覽

制作的主材質截圖

我的 “地形” 我做主

所用到的材質函數如下

我的 “地形” 我做主

三層材料的效果:

2制作

建立M_landscape主材質 并建立材質執行個體

建立每一層材料,通過layerblend節點連接配接到M_landscape主材質中,為了視圖清晰,每層材料采用材質函數。

(主要工作是修改參數名,因為這樣才能在材質執行個體中分開每個參數)

如建立材質函數MF_layera

複制megascans導入的材質父項中的節點,連接配接到MF_layera内,并修改每個參數的名字。

裡面的MF_Tiling和MF_MapAdjustments兩個材質函數,也同樣操作,複制這兩個材質函數,修改裡面所有參數節點的名字

MF_MapAdjustments内部還有一個材質函數MF_Transmission,也同樣複制,修改參數節點名字

最後再将修改好的材質函數替換到材質函數MF_layera中

以材質a為例

我的 “地形” 我做主
我的 “地形” 我做主
我的 “地形” 我做主
我的 “地形” 我做主
我的 “地形” 我做主

這樣材質a準備好了,同樣方法準備材質b,材質c... 最後的主材質和所用的材質函數在上文概覽材質執行個體截圖:

我的 “地形” 我做主

可以看到每層材料的參數混在一起,可以通過參數節點細節面闆中的分組和排序優先級組織材質執行個體各參數的分組和排序

我的 “地形” 我做主

此方法用的材質函數雖然多,但不用自己寫處理uv平鋪、貼圖色相對比度等的方法;

在主材質裡清晰明了,主要邏輯也簡單,就是做好每種材料再合并

如果想把複用的材質函數整理成一個,可以使用輸入節點functioninput,代替輸入參數,把參數暴露在材質函數節點外邊

如用到的貼圖uv平鋪函數MF_Tiling:

我的 “地形” 我做主
我的 “地形” 我做主

Part4繪制地形材質

将制作好的材質執行個體給到地形,因為沒有配置設定各層資訊給地形,預設會呈黑色

在地形模式的繪制欄繪制各層的材質

點選加号,一般選權重混合層(法線)

我的 “地形” 我做主

每個材料層都會建立一個資源,存儲繪制資訊

我的 “地形” 我做主

接下來就可以用筆刷繪制了;若使用外部軟體制作的地形,可以導入斜率等黑白圖,用作某一層的遮罩

我的 “地形” 我做主

Part5減弱貼圖平鋪

通過距離混合來減弱平鋪的視覺感覺

基本實作思路:用2-3中不同的uv平鋪,遠處增大貼圖單元減少平鋪數量,近處減小貼圖單元增加平鋪數量;這樣遠處貼圖那種一格一格的感覺會減弱,近處的紋理又可以附合真實實體大小

主要使用Distance_Blend節點,下圖

我的 “地形” 我做主
我的 “地形” 我做主

使用"添加命名重路由聲明節點......",類似藍圖中設定變量,在圖表中可以調用

我的 “地形” 我做主

在函數MF_TilingA中增加一個輸出用于控制遠處的uv

我的 “地形” 我做主
我的 “地形” 我做主
我的 “地形” 我做主
我的 “地形” 我做主

Part6總結

本文主要解決了地形材質相關基本概念。

Part7關于IN VETA

IN VETA是一支由模組化、美術、UE5組成的年輕團隊。