1. 程式人生 > >UE4材質渲染模式

UE4材質渲染模式

材質屬性

本文詳細說明材質的屬性。您可通過在材質編輯器中選擇主材質節點來訪問這些屬性。

  • 材質內的屬性:

PropertiesPanelMaterialEditor_Mat.png

基本材質節點具有多個屬性,這些屬性將影響材質的行為。這些屬性說明如下,其中每個類別都有相應的文件小節,並按它們在 屬性(Properties)面板中的顯示順序排列。

物理材質(Physical Material)

PhysicalMaterials.png

屬性 說明
物理材質(Phys Material) 與此材質相關聯的 物理材質 。物理材質提供物理屬性的定義,例如碰撞時保留的能量(彈性)以及其他基於物理的方面。物理材質不影響材質的視覺效果。

材質(Material)

MaterialSection.png

屬性 說明
材質域(Material Domain)

此設定允許您指定此材質的使用方式。特定材質用途(例如貼花)需要額外的指令以供渲染引擎加以考慮。因此,將材質指定為用於這些情況十分重要。“材質域”(Material Domain)包含下列選項:

說明
表面(Surface) 此設定將材質定義為將要用於物件表面,例如金屬、塑料、面板或任何物理表面。因此,在大部分情況下,您將使用此設定。
延遲貼花(Deferred Decal) 建立 貼花材質 時,您將使用此設定。
光函式(Light Function) 建立要與光函式配合使用的材質時,使用此設定。
後處理(Post Process) 如果材質將用作 後處理材質 ,那麼使用此設定。
混合模式(Blend Mode)

混合模式說明當前材質的輸出如何與背景中已繪製的內容進行混合。更專業地說,混合模式允許您控制引擎在渲染時,如何將此材質(來源顏色)與幀緩衝區中已有的內容(目標顏色)混合。可用的混合模式如下:

模式 說明
BLEND_Opaque 最終顏色 = 來源顏色。這意味著材質將繪製在背景前面。這種混合模式與照明相容。
BLEND_Masked 如果“不透明蒙版”(OpacityMask)>“不透明蒙版剪輯值”(OpacityMaskClipValue),則最終顏色為來源顏色,否則廢棄畫素。這種混合模式與照明相容。
BLEND_Translucent
最終顏色 = 來源顏色 不透明度 + 目標顏色 (1 - 不透明度)。這種混合模式與動態照明  相容。
BLEND_Additive 最終顏色 = 來源顏色 + 目標顏色。這種混合模式與動態照明  相容。
BLEND_Modulate 最終顏色 = 來源顏色 x 目標顏色。除非是貼花材質,否則這種混合模式與動態照明或霧  相容。

有關這些混合模式的更多資訊,請參閱 混合模式文件 。

貼花混合模式(Decal Blend Mode) 定義貼花材質過程如何處理 GBuffer 通道。(僅當 MaterialDomain == MD_DeferredDecal 時才可用)
貼花反應(Decal Response) 定義材質如何對 DBuffer 貼花作出反應(影響外觀、效能以及紋理/樣本使用)。對於基本物件(例如靜態網格),可禁用非 Dbuffer 貼花。
明暗處理模型(Shading Model)

明暗處理模型確定材質輸入(例如自發光、漫射、鏡面反射和法線)如何進行組合以確定最終顏色。

模型 說明
不照亮(Unlit) 此材質僅由“自發光”(Emissive)和“不透明”(Opacity)輸入定義。它不會對光線作出反應。
預設照亮(Default Lit) 預設明暗處理模型。適用於大部分實心物件。
次表面(Subsurface) 用於次表面散射材質,例如蠟和冰。啟用“次表面顏色”(Subsurface Color)輸入。
預整合面板(Preintegrated Skin) 用於類似於人體面板的材質。啟用“次表面顏色”(Subsurface Color)輸入。
透明塗層(Clear Coat) 用於表面具有半透明塗層的材質,例如透明塗層汽車噴漆或清漆。啟用“透明塗層”(Clear Coat)和“透明塗層粗糙度”(Clear Coat Roughness)輸入。
次表面輪廓(Subsurface Profile) 用於類似於人體面板的材質。要求使用 次表面輪廓 才能正確工作。

有關這些明暗處理模型的更多資訊,請參閱 明暗處理模型文件 。

不透明蒙版剪輯值(Opacity Mask Clip Value) 這是一個參考值,被遮蔽材質的“不透明蒙版”(OpacityMask)輸入將根據此值按畫素進行剪輯。任何大於“不透明蒙版剪輯值”(OpacityMaskClipValue)的值都將通過,畫素將繪製(不透明),而任何小於它的值都將失敗,畫素將被廢棄(透明)。
雙面(Two Sided) 法線將在背面翻轉,這意味著將同時針對正面和反面來計算光線。這通常用於植物葉子,以避免必須加倍使用多邊形。“雙面”(Two Sided)無法正確地與靜態光線配合使用,因為網格仍然僅將單個 UV 集合用於光線貼圖。因此,使用靜態光線的雙面材質的兩面將以相同方式處理明暗。
切線空間法線(Tangent Space Normal) 切線空間法線從物件表面開始計算,其中,Z 軸(藍色)始終從表面垂直指向外部。全域性空間法線使用全域性座標系統來計算畫素角度,從而忽略表面的原始方向。就效能而言,切線空間計算的成本略高,但通常更加方便,這是因為此類貼圖通常是您可以在 Photoshop 之類的 2D 應用程式中建立的法線貼圖型別。在視覺上,切線空間法線貼圖看起來主要呈藍色,而全域性空間貼圖具有更加生動的彩虹色。
貼花混合模式(Decal Blend Mode)

正如名稱所指,這將定義“材質域”(Material Domain)屬性設定為 延遲貼花(Deferred Decal) 時使用的混合模式,並且直到相應地設定材質域之後才可更改。它包含與那些可用於表面的混合模式不同的混合模式。

模式 說明
半透明(Translucent) 這將導致貼花混合底色、金屬色、鏡面反射、粗糙度、自發光顏色、不透明度和法線。使用此模式,可混合完全分隔的材質,例如波紋起伏的水坑,及其周圍基於法線貼圖的爛泥構造。
斑點(Stain) 僅混合底色和不透明度。適用於僅更改顏色的貼花,例如牆上乾燥的噴漆。
法線(Normal) 僅混合法線和不透明度。這適合於在表面上新增裂縫。
自發光(Emissive) 僅混合自發光和不透明度通道。適合於讓原先不發光的物件發光。
使用材質屬性(Use Material Attributes) 此複選框將導致材質的主節點壓縮成標籤為“材質屬性”(Material Attributes)的單個輸入。當您需要使用分層材質來混入多個材質,或者在使用 Make Material Attributes(建立材質屬性)表示式節點來定義多種材質型別時,這非常有用。有關更多資訊,請參閱“分層材質”文件。
次表面輪廓(Subsurface Profile) 這將允許您更改材質中使用的 次表面輪廓 。
定製 UV 數目(Num Customized Uvs) 設定要顯示的定製 UV 輸入的數目。未連線的定製 UV 輸入將直接通過頂點 UV 來傳遞。
生成球形粒子法線(Generate Spherical Particle Normal's) 生成表面法線,當您環繞使用此材質的粒子系統旋轉時,這些法線將保持球形。這對於體積粒子系統非常有用,因為精靈始終會進行旋轉以面向攝像機。使用此選項時,它們將具有更似球形的體積外觀。
自發光(動態區域光線)(Emissive(Dynamic Area Light)) 如果啟用此屬性,那麼材質的自發光顏色將注入到光線傳播體積。
線框(Wire Frame) 啟用材質所應用於的網格的線框檢視。
折射偏差(Refraction Bias) 此屬性使折射測試的深度產生偏移。這在折射值導致鄰近物件(通常是位於半透明物件之前的物件)意外渲染到材質表面這種不良效果時特別有用。較大的值將開始分隔折射,但是,這會導致表面與折射的物件之間出現明顯的分離。直到您將某個表示式節點連線到“折射”(Refraction)輸入之後,此屬性才會啟用。

半透明(Translucency)

TranslucencyProperties.png

屬性 說明
單獨半透明(Separate Translucency) 指示材質應該在單獨的半透明過程中進行渲染(這表示不受 DOF 影響,並且還要求在 .INI 檔案中設定 bAllowSeparateTranslucency)
迴應性 AA(抗鋸齒)(Responsive AA (Ant aliasing)) 較小的移動物件(尤其是粒子)有時會因為抗鋸齒而變得模糊不清;通過將此屬性設定為 true,可使用另一種 AA 演算法,該演算法將提供更高的清晰度。換而言之,如果您建立暴風雪或類似的粒子系統,並且感覺無法真正看到雪花,請開啟此屬性,這將有所幫助。但是,此屬性應該  用於較小的移動物件,因為會在背景產生鋸齒失真。
半透明照明模式(Translucency Lighting Mode)

這允許控制此材質內的不透明度所使用的照明模式。這特別適合於使用了不透明度的粒子系統,例如自身產生陰影的煙霧或蒸汽。

模式 說明
TLM_體積非方向性(TLM_VolumetricNonDirectional) 將計算體積的照明,而不具有方向性。請將此模式用於煙霧和灰塵等粒子效果。這是成本最低的照明方法,但是不考慮材質法線。
TLM_體積方向性(TLM_VolumetricDirectional) 將計算體積的照明,具有方向性,因此對材質的法線加以考慮。請注意,預設的粒子切線空間面向攝像機,因此請啟用 bGenerateSphericalParticleNormals 以獲取更有用的切線空間。
TLM_表面(TLM_Surface) 將計算表面的照明。請將此模式用於玻璃和水之類的半透明表面。
請參閱 帶光照的半透明物體 。
半透明方向性照明強度(Translucency Directional Lighting Intensity) 用於人為增加法線對半透明照明結果的影響。大於 1 的值將增加法線的影響,而小於 1 的值將使照明更加環境化。
禁用深度測試(Disable Depth Test) 允許材質禁用深度測試,這僅在半透明混合模式下有意義。禁用深度測試將顯著減慢渲染速度,這是因為沒有任何被遮擋的畫素可進行 Z 剔除。
使用半透明頂點霧(Use Translucency Vertex Fog) 設定為 true 時,半透明材質將被霧籠罩。預設值為 true

半透明自身陰影(Translucency Self Shadowing)

TransSelfShadowingProperties.png PerPixNonDirectional.png

半透明自身陰影是一種以體積方式照亮半透明物件(例如煙霧或蒸汽柱)的好方法。自身陰影分為兩個主要部分:自身陰影密度和第二自身陰影密度。分為兩個部分是為了支援各種變化。您可以獨立定義每個部分的密度,並使用兩者之間的差別在整個自身陰影內產生有趣的模式。

屬性 說明
半透明陰影密度比例(Translucent Shadow Density Scale) 設定此半透明材質投射到其他表面上的陰影密度。此屬性的作用有點像是陰影主要比例;如果設定為 0,則不會產生任何陰影。當您將值增大到 1 以及更大的值時,投射陰影和自身陰影都會變暗。
半透明自身陰影密度比例(Translucent Self Shadow Density Scale) 設定此材質投射到自身上的陰影密度。請考慮煙霧柱內的陰影。
半透明自身陰影第二密度比例(Translucent Self Shadow Second Density Scale) 這是可以設定的第二自身陰影密度,用於產生變化。在此值與“半透明自身陰影密度比例”(Translucent Self Shadow Density Scale)之間,將建立內部梯度。
半透明自身陰影第二不透明度(Translucent Self Shadow Second Opacity) 設定第二自身陰影的不透明度值,用來調整自身陰影與第二自身陰影之間的梯度效果。
半透明反向散射指數(Translucent Backscattering Exponent) 控制將次表面明暗處理模型與半透明度配合使用時使用的反向散射。較大的值將產生較小而較亮的反向散射高光。只有在定向光所形成的體積半透明陰影內,才會使用這個值。
半透明多重散射消光(Translucent Multiple Scattering Extinction) 對於具有體積半透明陰影的物件(例如煙霧或蒸汽),提供彩色的消光值 - 基本上相當於陰影顏色。
半透明陰影開始偏移(Translucent Shadow Start Offset) 這是在半透明體積內建立的自身陰影的全域性空間偏移。數值越大,陰影就越遠離光源。

用途(Usage)

UsageFlagProperties.png

“用途”(Usage)標誌用來控制材質所用於的物件型別。編譯材質時,這些設定允許引擎為每個應用程式編譯特殊版本。僅當使用“次表面材質域”(Surface Material Domain)設定時,這些設定才有效。

在編輯器中,對於任何已存在於貼圖內的物件,將自動設定這些標誌。例如,如果您的粒子系統使用放在關卡內某處的材質,那麼當您在編輯器中載入該貼圖時,它將自動設定 與粒子系統配合使用(Used with Particle System)標誌。需要儲存材質資產,遊戲才能在該特定網格上使用該材質。

如果未設定適當的用途標誌,那麼在遊戲中將改為使用預設的全域性柵格材質!這將在遊戲客戶端的日誌中輸出相應的訊息。

屬性 說明
與骨骼網格配合使用(Used with Skeletal Mesh) 如果材質將放在靜態網格上,請設定此屬性。
與編輯器編寫配合使用(Used with Editor Compositing) 如果材質將在編輯器 UI 中使用,請設定此屬性。
與景觀配合使用(Used with Landscape) 如果材質將在景觀表面上使用,請設定此屬性。
與粒子精靈配合使用(Used with Particle Sprites) 如果材質將放在粒子系統上,請使用此屬性。
與光束軌跡配合使用(Used with Beam Trails) 如果材質將與光束軌跡配合使用,請設定此屬性。
與網格粒子配合使用(Used with Mesh Particles) 指示材質及其例項可以與網格粒子配合使用。這將產生支援編譯網格粒子所需的著色器,從而增加著色器編譯時間和記憶體用量。
與靜態照明配合使用(Used with Static Lighting) 如果考慮將材質用於靜態照明,比如,如果材質使用了應該影響照明的自發光效果,請設定此屬性。
與液體表面配合使用(Used with Fluid Surfaces) 在虛幻引擎 4 中,不再支援液體表面。此選項很快將會移除。
與變形目標配合使用(Used with Morph Targets) 如果材質將應用於利用了變形目標的骨骼網格,請設定此屬性。
與樣條網格配合使用(Used with Spline Meshes) 如果材質將應用於景觀樣條網格,請設定此屬性。
與例項化靜態網格配合使用(Used with Instanced Static Meshes) 如果材質打算應用於例項化靜態網格,請設定此屬性。
與扭曲配合使用(Used with Distortion) 不再支援扭曲(現在使用“折射”),此選項很快將會移除。
與衣服配合使用(Used with Clothing) 如果材質將應用於 Apex 以物理方式模擬的衣服,那麼應設定此屬性。
與 UI 配合使用(Used with UI) 此屬性指示材質及任何材質例項可以與 Slate UI 和 UMG 配合使用。
在編輯器中自動設定用途(Automatically Set Usage in Editor) 是否根據材質的應用物件在編輯器中自動設定用途標誌。此屬性的預設選項是已啟用。

移動(Mobile)

MobileProperties.png

屬性 說明
完全粗糙(Fully Rough) 強制使材質完全粗糙,這可以節省大量著色器指令和一個紋理樣本。
使用光照貼圖方向性(Use Lightmap Directionality) 這將使用光照貼圖方向性以及按畫素的法線。如果禁用此屬性,那麼來自光照貼圖的光線將不具有方向,但成本較低。

鋪嵌(Tessellation)

TessellationProperties.png

鋪嵌功能允許您在執行時向網格新增更多物理細節。

屬性 說明
鋪嵌模式(Tessellation Mode)

控制材質將要使用的鋪嵌型別(如果有的話)。

模式 說明
無鋪嵌(No Tessellation) 網格不鋪嵌。這將有效地禁用此功能。
扁平鋪嵌(Flat Tessellation) 簡單形式的鋪嵌。這將增加更多三角形,而不使網格平滑。
PN 三角形(PN Triangles) 利用基於樣條的簡單鋪嵌,這樣做的成本較高,但細節更好。
啟用無裂縫移位(Enable Crack Free Displacement) 啟用一個移位演算法,該演算法可修正網格中可能出現的任何裂縫。但是,此操作的成本較高,因此如果您移位時看不到任何裂縫,請將此屬性保持設定為 False
啟用自適應鋪嵌(Enable Adaptive Tessellation) 此鋪嵌方法將嘗試為每個三角形維護相同數目的畫素。

後處理材質(Post Process Material)

PostProcessMaterialProperties.png

屬性 說明
可混合位置(Blendable Location) 如果此材質要用作後處理材質,那麼此屬性允許您控制是在色調貼圖之前還是之後計算此材質。如果材質將用來修改後處理過程的顏色,那麼這非常重要。
可混合優先順序(Blendable Priority) 這是一個優先順序值,用於任何其他可應用於後處理過程的材質。

光照系統(Lightmass)

LightmassProperties.png

屬性 說明
以遮掩方式投射陰影(Cast Shadow as Masked) 如果設定為 true,那麼照亮的半透明物件將投射陰影,就像它們使用了“遮掩”照明模式一樣。這有助於使半透明物件上的陰影更加清晰。
漫射提升(Diffuse Boost) 材質的漫射成分對靜態照明的影響量乘數。
匯出解析度比例(Export Resolution Scale) 匯出此材質的屬性時採用的解析度乘數。需要細節時,應該增大此值。

材質介面(Material Interface)

MaterialInterfaceProperties.png

屬性 說明
預覽網格(Preview Mesh) 設定一個靜態網格,用於在 預覽(Preview)窗格中預覽材質。

縮圖(Thumbnail)

ThumbnailProperties.png

屬性 說明
基本型別(Primitive Type) 設定縮圖預覽中使用的基本形狀型別。
預覽網格(Preview Mesh) 設定縮圖預覽中使用的網格。僅當“基本型別”(Primitive Type)設定為 TPT 無(TPT None)時,此屬性才有效
軌道俯仰角(Orbit Pitch) 設定攝像機圍繞物件的軌道的俯仰角。
軌道偏航角(Orbit Yaw) 設定攝像機圍繞物件的軌道的偏航角。
軌道縮放(Orbit Zoom) 相對於資產的界限球體距離的偏移。