ue4玻璃材質 UE4 材質

2021-10-11 23:44:08 字數 3784 閱讀 6819

本文中,我們將首先討論基於物理的渲染,什麼是材質域,什麼是材質,什麼是材質例項,什麼是主材質,我們將討論材質的一些建議和禁忌。最後,我們將了解一些材質概念,你可以將其用於各類專案中的材質。

pbr 表示基於物理的渲染,基於物理的渲染意味著我們根據現實模擬光線,而不是根據主觀想法模擬光線。光線的最終效果會更加準確且更加自然。使用pbr的另乙個優點是基於物理渲染的材質,在所有光照場景中都能保持一致。無論材質是位於光線充足的室內還是室外,或者是水下,或者是外太空,它對光線的反應是一樣的。這意味著你不必根據專案的各種光照場景,建立多個版本的材質或紋理,這也導致了材質不必像以前那樣複雜。你可以刪除許多曾經必不可少的材質指令。此外,基於物理渲染材質中的材質引數要簡單得多,相互依賴性也沒那麼高。美術師可以更直觀地調整引數。

基於物理的渲染不僅極大提公升了畫面的真實度,賦予我們極為真實的影象。它還可以用於**渲染。事實上,ue4的基於物理渲染系統源自於皮克斯和迪士尼的共同成果。這兩個工作室因其**渲染風格而聞名於世。

最後,關於pbr我想講一點,你應該使用它的原因是,它有助於你標準化美術工作管線。因為資源無論遇到何種光照情況都能做出相同反應,這是乙個巨大的進步。如果你對vray這類應用很熟悉,你會發現它與ue4中的pbr系統其實非常非常相似,所以你很快就能上手 。

只需改變材質域、混合模式和著色模型,你就可以變換材質來滿足各種不同需求。下圖中可以看到 材質域、混合模式和著色模型。記住,有些功能會根據 材質域、混合模式或著色模型而啟用或關閉。改變三者中的任意乙個都可能會影響主著色器節點上的輸出。

「材質域(material domain)」決定了材質屬性的評估方式,「混合模式(blend mode)」決定了材質的顏色以及材質與背景,「著色模型(shading model)」決定了輸入將如何組合來建立材質的最終顏色。例如,如果你想實現玻璃材質,你應該將混合模式改為「透明(transparent)」,根據你是否希望玻璃對光線做出反應,將著色模型改為「無光照(unlit)」或「預設帶光照(default lit)」。不同專案中的材質會使用不同的材質域、混合模式和著色模型組合,沒有哪種組合可以滿足所有材質需求。你需要製作很多材質,每種都使用不同的組合。記住,沒有哪一種材質域、混合模式和著色模型組合,可以滿足專案的所有需要。你需要製作不同版本的材質來滿足不同的需求,另外要記住的是材質域、混合模式和著色模型不能在執行時更改,如果你覺得:「嗯,我有乙個非常棒的材質,我希望在遊戲啟動時把它變成玻璃材質」,這是不可能的。

之前,我提到過執行時不能更改材質,這意味著如果要改變它的顏色或材質紋理都是不可能實現的。然而,這有點不太方便,尤其是在電子遊戲這類動態場景中,這就需要用到「材質例項」了。材質例項是材質的特殊版本,允許我們在執行時修改材質中的引數和紋理,而不必重新編譯材質。這使得材質例項的迭代變得非常快,所以你幾乎可以實時看到變化效果。你還可以通過時間軸和藍圖與材質例項進行互動,從而獲得大量非常酷炫的動畫效果。

當你使用乙個材質例項時,使用它們的效能優勢很有限。然而,當你使用成千上百的材質例項而不是材質時,效能優勢就會顯現。使用材質例項的主要優點是靈活性,它們允許美術師參與你的專案。你可以設定乙個主材質,然後在材質例項中設定許多引數,以便美術師根據喜好調整材質,而無需編寫大量複雜的著色器**。

我之前介紹過主材質和材質例項,但讓我們真正深入了解一下什麼是主材質。主材質是一種用來完成許多任務的材質,下圖是乙個主材質例項。

你可以使用許多引數節點,比如向量引數,叫做「base_color」,它的功能是允許我們在材質例項中,使用取色器將材質設定成任意顏色。

另一種引數節點是紋理引數節點,它的作用是允許我們在材質例項中新增任意紋理,以便讓材質擁有全新外觀。

此外還有標量引數,標量引數控制標量變數,這類引數節點允許你更改材質例項中的引數數值,以便你增加或減少材質例項的某種效果。

如果你想在材質例項中找到可以調整的節點,你要找的就是材質引數節點,有很多種方法可以新增材質引數節點,甚至將現有節點轉換為材質引數節點,稍後我們將了解。 現在,你只需知道主材質可以在專案中滿足物件的不同材質需求。

請使用多種主材質, 不要嘗試將一種主材質用於所有物件,這是不可能的,會讓材質臃腫不堪,最終導致效能問題。你應該做的是,所有不透明場景物件使用一種材質,然後半透明物件使用另一種材質,角色使用一種主材質,**使用另一種主材質。不要試圖用一種主材質滿足遊戲中的所有需求,這是不可能的。

最後,當你建立主材質時,不要自作主張替美術師做出決定,和他們面對面交流,了解哪些引數他們最常用,然後將它們新增到主材質中。這樣美術師只需調整最有用也最常用的引數。這樣,你就可以省去維護不必要著色器**的麻煩,避免材質變得臃腫不堪,這麼做還有助於開發人員了解材質中的邏輯。如果許多**沒人使用,那麼為什麼還要用它們呢?

當你建立主材質時,有幾點事項有助於你極大提公升材質的效能,並且適用於所有目標平台。

首先要介紹的是材質函式,材質函式允許你共享並且復用材質圖表的部分記憶體。ue4實際上自帶了許多材質函式,功能齊全,包括確定場景物件的位置以及確定滑鼠當前在螢幕中的座標。你可能已經用多了許多自帶的材質函式,只不過你沒意識到。我之所以介紹它,原因是如果你需要建立或復用某一組**,比如調整紋理在x軸和y軸上的平鋪效果,你會發現可以方便地將**封裝成材質函式,然後通過材質庫分享**。這樣一旦需要調整平鋪效果,你只需調整材質函式而不必開啟所有材質然後親自調整平鋪效果。材質函式允許你共享材質**,從而在你調整全域性效果時,減少維護**的麻煩。

接下來要說的是rgb遮罩打包,當你建立主材質時,你可以描述紋理的使用方式,讓美術師將不同的紋理儲存在同一張紋理的紅、綠、藍通道中,能夠有效減少內容中的紋理佔用量。然而,當你在使用rgb遮罩打包時,請確保註明紅、綠、藍通道中各自儲存的紋理型別,並在專案整個生命週期長恪守該規範。

接下來要說的是靜態開關,靜態開關允許你啟用或禁用材質中的整條**路徑。例如,你可以使用靜態開關啟用視差法線貼圖,它能夠讓你的法線貼圖看起來很有立體感,不過它的開銷很大,所以不要在場景中將其頻繁用於材質。通過將功能放置在靜態開關內,你可以控制哪些材質會啟用或禁用功能,以便美術師將這類功能新增到真正需要它的網格體上。

最後要討論的特性是特性層級開關,特性層級開關能讓材質在任何目標裝置上執行,你要做的是將不同版本不同複雜度的材質輸出到不同平台中。例如,如果我要使用 shader model 5(sm5) 就能獲得最高程度的細節和精細度,它是細節最豐富的著色器。而使用es2模型的材質,通常用於移動平台,它們的實際效果無法提供大量精美細節。es2中的材質遠沒有sm5中的材質顯得複雜。同樣,這個特性允許你將乙個材質用於專案的所有的目標發布平台。

ue4材質節點大全 UE4 材質

凹凸貼圖偏移 bumpoffset 是虛幻引擎4術語,就是通常所謂的 視差貼圖 bumpoffset表示式可以使材質產生深度錯覺,而不需要額外的幾何體。深度資訊。高度貼圖的值越亮,材質的 凸出 效果越明顯 當攝像機在表面上移動時,這些區域將產生視差 位移 較遠 其位移程度最小。在不改變原有模型面數的...

UE4 製作玻璃材質總結

材質基本項的設定 混合模式選 半透明 光照模式可選 表面半透明體積 開銷較小 表面前向著色 開銷較大,效果更好 二者計算複雜度相差400 玻璃效果的實現 粗糙度 一般設為0即可 金屬感 或者選高光度,二者效果幾乎相同 視情況調整,主要影響材質的反射效果 不透明度 視情況調整 折射 應用在球體上的巨集...

UE4 材質 紋理

pbr材質基本上是以下幾張紋理的 融合 1.基本顏色 2.normal 法線資訊,體現凹凸感 3.ao 環境光遮蔽 表面光線的遮蔽效果 4.roughness 粗糙度 5.metal 金屬度 關於尺寸,一般都是1 1,且是2的n次冪。注意 可以不是1 1,但長寬一定要是2的n次冪。原因 因為ue4使...