UE5.2 Content Example 材質(zhì)篇#1

目錄
第零章 導(dǎo)讀
第一章?Material Nodes (材質(zhì)基礎(chǔ)--黑鐵級(jí))
1.1?BaseColor
1.2?Metallic
1.3?Specular
1.4?Roughness
1.5?Emissive
1.6?Opacity
1.7?Opacity
1.8?OpacityMask
1.9?Normal
1.10?WorldPositionOffset
1.11?SubSurfaceColor
1.12?Refraction
第二章?Material Properties (材質(zhì)屬性--青銅級(jí))
2.1?BlendMode
2.2?ShadingModel
2.3?Translucent Lighting Mode
2.4?Two Sided
2.5?Material Domain
2.6?Separate Translucency
2.7?Volumetric Directional Lighting Intensity
2.8?Opacity Mask Clip Value
2.9?Cast Translucent Shadow as Masked
2.10?Refraction Depth Bias
第三章?Material Instances (材質(zhì)實(shí)例--)
3.1?Material
3.2?Instance
3.3?Instance of an Instance
3.4?Groups
第四章?Static Meshes (靜態(tài)網(wǎng)格體
4.1??Static mesh
4.2 Mobility
4.3 UV Mapping
4.4 Lightmap UVs
4.5 Generate Unique UVs
4.6 Material Elements
4.7 Collision
第五章 Skin Rendering (皮膚渲染)
5.1?Skin and Subsurface
5.2?Sub Surface Lighting Conditions
第六章?Decals (貼花)
第七章 Advanced Materials (材質(zhì)的高級(jí)用法--)
4.1? flexible Master Material
4.2?Material Functions
4.3?Material Layers
4.4?Vertex Animation
4.5?Radial Motion Blur
?第八章?Substrate(新一代材質(zhì)系統(tǒng)--)
5.1??Limitations of Legacy Materials
5.2??Legacy Material Conversion
5.3?Layering and Mixing?
5.4?Adding and Weighting
5.5?Iridescence
5.6?Domain Materials
5.7?Monolithic Material BSDF
5.8?Substrate Slab
5.9?Opaque Blend Modes
?第九章 MathHall (數(shù)學(xué)殿堂)
????9.1 Functions
????????1.1 Introduction
????????1.2 ABS
????????1.3 Frac
? ? 9.2??Vector
????????
2. Basic Trigonometry
第七章 藍(lán)圖通信
?Binding an Event Dispatcher to a custom event on spawn
第零章:
上傳存檔~~~。。,。。
第一章 Material Nodes (材質(zhì)節(jié)點(diǎn))

為何第一節(jié)是材質(zhì)節(jié)點(diǎn)呢,
何為material nodes(材質(zhì)節(jié)點(diǎn)):
????節(jié)點(diǎn)分為,輸入處理的節(jié)點(diǎn)、和主材質(zhì)節(jié)點(diǎn)。
????紅色部分就是我們的輸入節(jié)點(diǎn),它可以是一個(gè)多維數(shù)組,也可以是一個(gè)函數(shù)等等
????黃色部分為,主材質(zhì)節(jié)點(diǎn)(Main Material Node)?,它的作用就是UE5材質(zhì)圖表中的最后一站。 連接到主材質(zhì)節(jié)點(diǎn)輸入中的材質(zhì)表達(dá)式節(jié)點(diǎn)組合將決定在關(guān)卡中編譯并使用的最終材質(zhì)的總體外觀。

1.1 BasicColor (基礎(chǔ)顏色)

1.1.1 Base Color (底色)
?????底色,畫板中最后一層的顏色
? ?? 它定義了材質(zhì)的整體顏色。它接收 3維向量(Vector3),對(duì)應(yīng)RGB?值,并且每個(gè)通道都自動(dòng)限制在【0,1】?之間。

此時(shí),材質(zhì)的最終顏色=底色。
如果是從現(xiàn)實(shí)世界獲得的,那么這是使用偏振濾光器拍攝時(shí)獲得的顏色 (偏振在校準(zhǔn)時(shí)會(huì)消除非金屬材質(zhì)的鏡面反射)。
1.1.2 Material Instance (材質(zhì)實(shí)例)
在做開發(fā)時(shí),我們總是需要不斷的修改材質(zhì)連接的各個(gè)節(jié)點(diǎn),以此來達(dá)到我們想要的效果,但是,每一次在原材質(zhì)上進(jìn)行編輯-->編譯,都需要浪費(fèi)大量的時(shí)間,這顯然不可取。
所以便有了我們接下來的Material Instance(材質(zhì)實(shí)例),它可以在運(yùn)行時(shí)對(duì)其進(jìn)行參數(shù)化和修改,而不需要修改原始材質(zhì)。材質(zhì)實(shí)例允許開發(fā)者在不改變材質(zhì)本身的情況下,根據(jù)需要對(duì)其進(jìn)行定制化和調(diào)整。
材質(zhì)實(shí)例化用于創(chuàng)建一種父材質(zhì),你可以將其用作基礎(chǔ),生成各種各樣不同外觀的子項(xiàng)(材質(zhì)實(shí)例)。

為了實(shí)現(xiàn)這種靈活性,就有了?繼承(inheritance)?這一概念:
????父材質(zhì)的屬性會(huì)傳遞給其子項(xiàng)。?父材質(zhì)中指定為?參數(shù)(parameters)?的屬性在?材質(zhì)實(shí)例編輯器(Material Instance Editor)?中公開給美術(shù)師。
在材質(zhì)編輯器界面中,我們可以看見,他有兩個(gè)重要的部分,第一部分是我們的參數(shù)面板,第二部分就是我們的繼承項(xiàng),父項(xiàng)。
????他們都是可做公開變量,提供給子項(xiàng)修改其中的內(nèi)容。

同理,我們的texture紋理也是能作為底色,并且創(chuàng)建其Material Instance (材質(zhì)實(shí)例)

雖然父項(xiàng)是草皮貼圖,但是通過把草皮的texture sample(紋理貼圖采樣節(jié)點(diǎn))---> 轉(zhuǎn)換成了參數(shù)節(jié)點(diǎn),所以我們可以在父項(xiàng)中修改它,替換成了石磚貼圖。

經(jīng)過uv坐標(biāo)系來定位顏色后,最終輸出了這張草皮貼圖的顏色。
這樣就可以節(jié)省很多力氣再去重新制作材質(zhì)的過程,也節(jié)省了空間。
1.2 Metallic (金屬色)

Metallic(金屬色):
????一般特征:不透明,反射可見光,具備特有光澤。
? ? 在UE5里。光澤,指定物體表面的金屬質(zhì)感程度,控制光照在物體表面的反射方式。較高的金屬度會(huì)導(dǎo)致物體表面更具金屬質(zhì)感,反射光線較強(qiáng)。
????光澤的位置取決于光源的位置,就像下圖水槽上的銀色火龍頭。人眼看到金屬反射出來的光強(qiáng)和觀測角度有關(guān),這就是所謂“光澤”。光在介質(zhì)表面反射折射的結(jié)果。
對(duì)于純表面,例如純金屬、純石頭、 純塑料等等,此值將是 0 或 1,而不是任何介于它們之間的值。創(chuàng)建受腐蝕、落滿灰塵或生銹金屬之類的混合表面時(shí), 您可能會(huì)發(fā)現(xiàn)需要?介于?0 與 1 之間的值。

在案例中,我們設(shè)置他的金屬度=1,粗糙度=0,此時(shí)該材質(zhì)在肉眼中看起來就和門把手一樣逼真。

1.3 Specular (高光 ,默認(rèn)不設(shè)置 =0.5)

Specular控制物體表面的高光反射強(qiáng)度和顏色。高光反射是指物體表面在光線照射下出現(xiàn)明亮的區(qū)域,反映了光的強(qiáng)度和顏色。
在編輯?Non-Metal Surfaces(非金屬表面)材質(zhì)時(shí),你有時(shí)可能希望調(diào)整它反射光線的能力,尤其是它的?Specular (高光)?屬性。 要更新材質(zhì)的高光度,需輸入介于0(無反射)和1(全反射)之間的標(biāo)量數(shù)值。
1.4?Roughness (粗糙度)

Roughness?粗糙度指的是材質(zhì)表面的光滑程度。
????如果一個(gè)物體的粗糙度過高,那么該物體就會(huì)因?yàn)槁瓷湓?,從而失去高?br>
????較高的粗糙度值表示表面更加粗糙,光線在其上會(huì)散射得更多,產(chǎn)生模糊和擴(kuò)散的效果。
????較低的粗糙度值表示表面更加光滑,光線會(huì)在其上反射得更加明確和集中,產(chǎn)生清晰的高光效果。
通過調(diào)整粗糙度,可以控制材質(zhì)的光照反射效果,從而影響表面的外觀。


粗糙度(Roughness)輸入控制材質(zhì)表面的粗糙或平滑程度。
與平滑的材質(zhì)相比,粗糙的材質(zhì)將向更多方向散射所反射的光線。 這決定了反射的模糊或清晰度(或者鏡面反射高光的廣度或密集度)。?
粗糙度 0(平滑)是鏡面反射。
而粗糙度 1(粗糙)是漫反射(或無光)表面。
1.5?Emissive (自發(fā)光)

控制物體表面的自發(fā)光屬性,使其在沒有外部光照的情況下發(fā)出光線。
由于支持HDR光照,所以允許大于1的值。
1.6 Opacity(不透明度)

Opacity 控制物體的透明度,較高的不透明度表示物體是完全不透明的,較低的不透明度表示物體具有一定的透明效果。
1.7?Opacity (不透明度)

????當(dāng)和次表面材質(zhì)一起使用時(shí),不透明度(Opacity)?會(huì)有不同的表現(xiàn)。
????這個(gè)參數(shù)并不控制穿過物體后能夠看到的內(nèi)容,而是控制在整個(gè)表面上可散射的光照數(shù)量。在示例1號(hào)石墩中可以看到,低不透明度會(huì)使大量光照穿過表面,而高不透明度則只顯示非常少的散射。
SubSurface Scattering 次表面散射?
????它是一種用于模擬光線在物體內(nèi)部傳播和散射的效果的技術(shù)。模擬了光線進(jìn)入物體表面后在物體內(nèi)部發(fā)生多次散射的現(xiàn)象,從而產(chǎn)生了透明或半透明物體特有的光照效果。
1.8?OpacityMask(不透明遮罩)

?OpacityMask(不透明遮罩)通過遮罩來定義物體的不透明度分布,可以實(shí)現(xiàn)部分透明效果。
????類似于不透明度(Opacity),但僅在使用遮罩(Masked)混合模式時(shí)可用。
與不透明度(Opacity)一樣,它的值在【0,1】之間,但與不透明度(Opacity)?不同?的是,結(jié)果中看不到不同深淺的灰色。?
在遮罩模式下時(shí),材質(zhì)要么完全可見,要么完全不可見。當(dāng)你需要可以定義復(fù)雜實(shí)心表面(如鐵絲網(wǎng)、鏈環(huán)圍欄等等)的材質(zhì)時(shí),它將成為一種理想的解決方案。不透明部分仍將遵循光照。


你可以使用基礎(chǔ)材質(zhì)節(jié)點(diǎn)上的?不透明度遮罩剪切值(Opacity Mask Clip Value)?屬性來控制剪切發(fā)生點(diǎn)。欲知更多詳情,請參閱遮罩混合模式文檔。
1.9?Normal(法線)

用于模擬物體表面的凹凸細(xì)節(jié),通過改變光照的表面法線來產(chǎn)生更真實(shí)的陰影和高光效果。
法線,一條垂直與物體表面的線段,當(dāng)光線照射到多邊形時(shí),我們將光線的角度與多邊形的法線進(jìn)行比較。光線將使用相對(duì)于法線方向的相同角度反彈:

同一個(gè)模型,但是僅僅用了一張法線貼圖,最終效果卻截然不同


我們就以這個(gè)斑點(diǎn)墻面為例,如果都靠面數(shù)來視線這些凸起效果,那么一整面墻下來,整體的多邊形面數(shù)將會(huì)非常的高,然后使用法線貼圖的話,僅僅只需一個(gè)長方體即可。


1.10 WorldPositionOffset(世界位置偏移)

控制物體頂點(diǎn)在世界空間中的位置偏移,可以用于創(chuàng)建動(dòng)態(tài)效果。
如水波紋、風(fēng)吹效果,動(dòng)態(tài)樹葉隨風(fēng)飄動(dòng),可交互草地等等效果。



世界位移(World Displacement)?的工作方式與世界位置偏移(World Position Offset)非常相似,但它使用曲面細(xì)分頂點(diǎn),而非網(wǎng)格體的基礎(chǔ)頂點(diǎn)。
為了啟用此功能,材質(zhì)上的曲面細(xì)分(Tessellation)屬性必須設(shè)為?無(None)?以外的值。

VertexNormalWS?表達(dá)式輸出世界場景空間頂點(diǎn)法線。
它只能用于在頂點(diǎn)著色器中執(zhí)行的材質(zhì)輸入,例如WorldPositionOffset。該表達(dá)式對(duì)于設(shè)置網(wǎng)格體增大或縮小很有用。請注意,沿法線偏移位置會(huì)導(dǎo)致幾何圖形沿UV縫隙拆分。

1.10 SubSurfaceColor(次表面顏色)

:用于模擬透明物體內(nèi)部的散射和顏色滲透效果,常用于模擬皮膚、蠟燭等物體的效果。

BSSRDF 雙向散射分布函數(shù)(Bidirectional Scattering-Surface Reflectance Distribution Function)
BRDF? ? ?雙向反射分布函數(shù) (Bidirectional Reflectance Distribution Function)
Subsurface Scattering的原理是基于光在物質(zhì)內(nèi)部傳播時(shí)的相互作用。當(dāng)光線進(jìn)入物體表面后,一部分光線會(huì)被吸收,而另一部分光線會(huì)穿過物體并在內(nèi)部發(fā)生散射。在物體內(nèi)部,光線會(huì)與物質(zhì)的分子或細(xì)微結(jié)構(gòu)相互作用,改變光線的方向和能量分布。最終,一部分散射后的光線會(huì)重新離開物體表面,從而形成透射光。
一般在透明或半透明的物體特別有用。如皮膚、蠟燭、果凍等,可以增加物體的視覺深度和光線交互效果,使其看起來更加真實(shí)和有質(zhì)感。
????次表面散射屬于高級(jí)計(jì)算機(jī)圖形學(xué)方面的知識(shí)了,這里不過多解釋,我目前也沒去深入學(xué)習(xí)過。



1.11 Refraction(折射):

控制物體在光線穿過時(shí)的折射效果,可以模擬透明物體的折射現(xiàn)象。
常見折射指數(shù)
空氣? ?水?冰
1.00??1.33?1.31
玻璃
1.52
鉆石
2.42
第二章?Material Properties (材質(zhì)屬性)

1.1?BlendMode (混合模式)

1.1.1 Opaque(不透明)

透明度和不透明度
在虛幻引擎中,透明度的工作方式是為每個(gè)像素分配0到1之間的?不透明度(Opacity)?值。
????不透明度(Opacity)?為1時(shí),表面完全不透明,這意味著它會(huì)阻止照射到它上面的100%的光線。?
????不透明度(Opacity)?為0時(shí),表面允許所有光線通過。
0到1之間的不透明度值會(huì)產(chǎn)生部分可透視的像素。下圖顯示了靜態(tài)網(wǎng)格體上從0增加到1的不透明度值。

1.1.2 Masked(遮罩)
"遮罩"(Masked)混合模式用于您需要以二元(開/關(guān))方式選擇性地控制可見性的對(duì)象。

相機(jī)在觀察一個(gè)前方時(shí),使用了遮罩材質(zhì)的正方體,黑色部分為不渲染,所以視線直接透了過去,我們看見了背后的石墩,而黃色的部分對(duì)應(yīng)著像素渲染的地方,所以視線被擋下,我們看見了,黃顏色的部分。

1.1.3?Translucent (半透明)

當(dāng)使用半透明材質(zhì)時(shí),需要注意的一個(gè)重要問題是它們目前不支持鏡面反射。這意味著你在表面上將看不到任何反射。然而,可以使用類似于此示例中的節(jié)點(diǎn)網(wǎng)絡(luò)中的立方體貼圖來模擬這種反射。立方體貼圖紋理簡單地添加在基本顏色之上。

請注意透明和不渲染之間的區(qū)別。
透明的表面,例如玻璃,仍然會(huì)與光進(jìn)行交互,產(chǎn)生反射(鏡面反射)。在遮罩模式下被剔除的像素根本不會(huì)繪制;在這些區(qū)域你將看不到任何反射。
如果你想保留反射或鏡面反射效果,最好使用透明混合模式,或考慮使用分層材質(zhì)。
此外,由于遮罩區(qū)域不渲染這些特征,它們在GPU上不會(huì)被計(jì)算,從而節(jié)省了性能。
1.1.3?Additive
"疊加型"(Additive)混合模式無非就是獲取材質(zhì)的像素,并將其與背景的像素相加。
簡單地說,將材質(zhì)的像素與背景的像素相加。這與Photoshop中的線性疊加(加法)混合模式非常相似。這意味著沒有加深的效果;由于所有像素值都被相加在一起,黑色像素將被渲染為透明。這種混合模式適用于各種特殊效果,如火焰、蒸汽或全息影像。

與半透明混合模式一樣,這種混合模式也不支持鏡面反射(即反射)?;旌系募臃ㄐ再|(zhì)可能意味著你不會(huì)使用它,但是可以使用上面在半透明部分展示的使用Cubemap的方法來模擬類似于反射的效果。
在下面的圖像中,添加了一個(gè)第二個(gè)球體到場景中。請注意,當(dāng)兩個(gè)球體重疊時(shí),像素會(huì)相加,因此變亮。

Additive材質(zhì)的一個(gè)缺點(diǎn)是它們在淺色背景下往往難以看清。球體的側(cè)視圖演示了這一點(diǎn)。
Modulated
貼花常用于制作子彈孔、血跡、輪胎痕跡以及其它相似的項(xiàng)作為游戲中發(fā)生的事件。它們也可以用于設(shè)計(jì)師使用位于墻上的污跡、破損效果的紋理來豐富場景。
Material Instances

這張地圖介紹了藍(lán)圖之間相互交流的方式。包括通過投射直接交流、使用事件分發(fā)器以及使用接口在藍(lán)圖之間發(fā)送數(shù)據(jù)的演示。
鼠標(biāo)直接手寫的,可能難以分辨
物理學(xué):角速度,一個(gè)矢量
動(dòng)畫方面:
1,我們可以看見light flash timeline的flash float value是63.54821 ---- 0.7 的這么一個(gè)浮點(diǎn)范圍,控制著alpha透明通道,我們可以看下該顏色是什么,使用draw debug函數(shù)繪制下。
2. 而Update Light Color函數(shù)的作用就是動(dòng)態(tài)的修改材質(zhì)實(shí)例,和改變光源的強(qiáng)度和顏色。
通信方面:
1
2

3

1.2 Blueprint communication via actor casting
????1.2除了增加了一個(gè)旋轉(zhuǎn)體,其他并無什么變化


1.4 Communicating with all actors of a specific class
????1.4是直接靠游戲運(yùn)行時(shí)來獲取light的對(duì)象引用了,而不是我們編輯器運(yùn)行時(shí)狀態(tài)。

然后再將返回后的actor數(shù)組逐一轉(zhuǎn)換類型

2 事件分發(fā)器概述
事件分發(fā)器(Event Dispatchers)是一種Actor通信方法,采用此方法時(shí),當(dāng)一個(gè)Actor觸發(fā)了一個(gè)事件后,監(jiān)聽該事件的所有其他Actor都會(huì)收到通知。
在這種方法中,負(fù)責(zé)發(fā)送事件的Actor需要?jiǎng)?chuàng)建一個(gè)?事件分發(fā)器(Event Dispatcher),所有監(jiān)聽該事件的Actor都會(huì)訂閱該事件分發(fā)器。此通信方法采用一對(duì)多關(guān)系,每當(dāng)當(dāng)前Actor觸發(fā)事件分發(fā)器后,監(jiān)聽該Actor的其他Actor都會(huì)收到通知。
2.1 Using an Event Dispatcher function to call an event in the Level Blueprint
????2.1開始就是使用 event dispatch了

由我們的BP Button Dispatch類新建一個(gè)event dispatch,然后在該類上進(jìn)行一個(gè)事件的調(diào)用

單位時(shí)間內(nèi),bomb轉(zhuǎn)過的角度,來實(shí)現(xiàn)球體的初始拋射方向
引線動(dòng)畫邏輯代碼塊實(shí)現(xiàn)流程:

1,時(shí)間軸控制我們的火花位置,和火花燒焦的引線效果長度。
2,0-1的輸出值
3,通過2號(hào)的值復(fù)制給我們的材質(zhì)參數(shù)以此來改變燒焦的引線效果

4,材質(zhì)實(shí)例賦值操作,基操,不解釋。
5,插值控制位置,插值的速率由時(shí)間軸的Fuse lerp Float Value控制

6,每一刻關(guān)鍵幀執(zhí)行到了都會(huì)調(diào)用我們的“設(shè)置相對(duì)位置事件”以此,我們實(shí)現(xiàn)了一個(gè)動(dòng)態(tài)的火花,和火花燒焦后引線變黑的效果。
那么依照這個(gè)原理,后面的那些燈泡和button對(duì)象的實(shí)現(xiàn)原理也是如此,便不在多復(fù)述。