UE4項目美術架構(gòu)
目錄
一、目錄層級和命名規(guī)則
二、貼圖規(guī)范
三、材質(zhì)、材質(zhì)實例及材質(zhì)函數(shù)
四、模型和動畫
一、目錄層級和命名規(guī)則
對于UE4項目來說,模型和貼圖的來源一般有兩種方式:外包資源(無版權(quán)糾紛的網(wǎng)站上的資源或者UE4商城的資源也暫時劃分成此類)或者內(nèi)部制作。一般來說僅當全部資源為內(nèi)部制作且材質(zhì)數(shù)量較少時,采用根目錄下的單獨文件保存材質(zhì)和貼圖

否則盡量將材質(zhì)和貼圖保存在對應資源模型的文件夾下。

其次是命名規(guī)范,項目開發(fā)之初,應該確定好本項目的命名規(guī)范,包括美術資源(也可以參考官方示例或其他開發(fā)者,比如https://wiki.unrealengine.com/Assets_Naming_Convention)。
當需要搜索某種資源時,只要輸入相應的前綴和后綴關鍵字,就可以輕松找到(推薦使用Ctrl+P組合鍵快速搜索)。
二、貼圖規(guī)范
1.貼圖的大小必須是二的整數(shù)冪
這是很重要的一點,也十分簡單,但仍有很多美術不在意這一點。舉個簡單的例子,比如我截取了兩張圖,一張127*256,一張128*256,分別導入引擎。

UE是一個很智能的引擎,它幾乎能清楚地了解你這張貼圖是想要做什么的,并自動把對應的設置替你勾選好(所以圖里的不同部分,是UE自己識別的結(jié)果)。我們都知道世界場景里的物體在渲染時,會依據(jù)離攝像機的距離不同而從不同mip等級的貼圖上采樣。所以當貼圖的大小是2的整數(shù)次冪時,UE就會自動幫你生成一組mip貼圖(數(shù)量取決于貼圖的邊能被2整除到何種程度)。但如果你的貼圖由于邊長原因不能被自動處理,它將始終使用原貼圖的大小,這在一些時候?qū)o性能帶來致命影響。
不僅如此,如果邊長不能被2整除,LOD Bias也無法方便地使用,不能方便地針對多平臺進行貼圖優(yōu)化等環(huán)節(jié)。
2.獨立Alpha還是RGBA?
有兩種導入Alpha通道(下文稱A)的方式,一種是把A和RGB放進一張貼圖中,一種是分開導入。第一種更方便,也好寫shader,第二種一定程度來說更規(guī)范,也可以避免一些顯示問題(比如一些比較細的草或者鋼絲網(wǎng),如果使用第一種方式,當攝像頭拉遠之后會消失,需要適當修改一下A通道)。兩種方式都可以,但一定要在項目之初就確定好導入方式,不然可能會導致shader的重用性大大降低。
3.貼圖的明度
為了更真實的渲染效果,避免貼圖過度飽和,避免貼圖過暗(經(jīng)驗值明度50以上)。
4.合理設置貼圖屬性
雖然UE會自動識別絕大多數(shù)貼圖并自動設置,但仍要在導入時仔細檢查,然后根據(jù)實際用途設置好貼圖的各個屬性。比如用于UI的圖就設置組別UI、永不流送等(不然可能進入游戲時看到模糊的UI或者看不到UI)。具體應該如何設置可以參照官方文檔,這里不作展開。
三、材質(zhì)、材質(zhì)實例及材質(zhì)函數(shù)
1.規(guī)范建立母材質(zhì)和材質(zhì)函數(shù)
有些常用的母材質(zhì)和材質(zhì)函數(shù)可以放置于一個特殊文件夾,供所有shader編寫者共用,避免重復造輪子并增強shader可讀性。比如常見的UV坐標變換函數(shù)

2.合理使用材質(zhì)實例
材質(zhì)實例不僅可以增強可維護性,還可以優(yōu)化性能。幾乎在任何情況下,都使用材質(zhì)實例直接賦予模型。
3.材質(zhì)內(nèi)參數(shù)的命名
材質(zhì)內(nèi)參數(shù)的命名也需遵循規(guī)則,比如底色貼圖都叫BaseColor,法線貼圖都叫Normal.....這樣當進行代碼操作時,可以方便地使用copy parameter函數(shù)。
四、模型和動畫
1.LOD
絕大多數(shù)項目,模型應做好LOD。使用UE自帶的工具去制作也很方便。
2.盡量減少動畫的數(shù)據(jù)
可以用蒙太奇實現(xiàn)的動作,盡量不要通過源文件來完成(可以減少文件數(shù)量,方便管理,小項目可以忽略此條建議)。
除了上述幾條之外,還應根據(jù)發(fā)布平臺和目標效果提前確定好貼圖精度和場景面數(shù)等,減少后期優(yōu)化壓力。