2022-04-28|閱讀時間 ‧ 約 3 分鐘

UE4環境美術3-5,Landscape材質3

這系列是我之前在EpicGames官方學習路徑「Journey to becoming an Environment Artist in UE4」留下來的筆記,目錄在此,歡迎參考

Landscape Material

Landscape Material與一般的MasterMaterial相同,但需要為Material設定Layer,才能營造出無縫過度的材質,例如掉落在沙地的石子,應該要好好的鑲嵌進沙子裡。(與LandscapeLayer不同,切勿搞混)
使用Landscape Layer Blend節點,可以混和數個Layer,並且可以針對混入的Layer,調整BlendType成為HeightBlend,這樣就可以基於輸入的Heighmap對應的0~1數值,來決定要混入哪種Material。
LayerBlend輸出的是MaterialAttribute,所以開啟主節點的UseMaterialAttribute可以更方便連接。
可以生成一個Material Function,來生成LayerBlend要引用的材質,除了輸入BaseColor等貼圖,還可以把DisplacementHeight和Blend Alpha輸出,以用在LayerBlend的Height Input。
針對LandscapeMaterial的UV,可以使用LandscapeLayerCoords節點,也就是Landscape版的TexCoord。

套用Landscape Material

因為前面製作的Landscape Material裡面有Landscape Layer Blend節點,把這個Material套到Landscape後,就可以在Landscape選項裡的TargetLayers,選擇Blend節點中要輸入的材質。
針對這些輸入材質,每個材質都需要生成對應的LayerInfo,方法是按材質旁邊的加號,這個Info是用來記錄每個Layer在Landscape上的占比。因此即使套用相同的Material,不同的Landscape就得生成一組對應的LayerInfo。
除了LayerBlend之外,材質中也可以使用LandscapeLayerSample節點,就可以在TargetLayers的地方生成額外的圖層。
(註:片中有一大段利用Displacement來強化視覺效果的部分,因為太複雜,所以就不在這邊紀錄,有需要的話請自行前往
為了減少遠處渲染的成本,並且避免類似摩爾紋的現象,可以使用CameraDepthFade製作遮罩,並且輸入至Lerp的Alpha,額外複製一組TextureSample,並把UV密度調低,做為遠處用的貼圖。只要CameraFade參數設得好,就可以幾乎無破綻地完成。
分享至
成為作者繼續創作的動力吧!
在此記下各種虛幻引擎(UnrealEngine)開發遊戲時的相關技術,是專業取向的專題。內容將涉及程式、美術、音效、軟體使用,族繁不及備載。同時也會有各種操作秘訣、訣竅、背景知識,甚至是冷知識等。文章內容往往不知輕重,大部分的人都無法輕易看懂,不求大紅,只求幫上有緣人。
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言