文章目錄
- 前言
- 參數介紹
- 1、表面選項
- 1.1 Worflow Mode工作流模式
- 1.2 Surface Type 表面類型
- 1.3 Blending Mode 混合模式
- 1.4 Preserve Specular 保留鏡面光照(高光)
- 1.5 Render Face 渲染面
- 1.6 Alpha Clipping 透明度剪裁
- 1.7 Receive Shadows 是否接收陰影
- 2、表面輸入
- 2.1 BaseMap 基礎貼圖
- 2.2 Specular Map 高光貼圖
- 2.3 Smoothness 光滑度
- 2.4 Normal Map法線貼圖、Height Map高度貼圖、Occlusion Map遮蔽貼圖
- 2.5 Emission 自發光
- 2.6 Tiling和Offset
- 3、Detail Inputs細節輸入
- 4、高級選項
- 4.1 Specular Highlights 鏡面高光
- 4.2 Environment Reflections 環境反射
- 4.3 Sorting Order 渲染順序
- 4.4 Enable GPU Instancing
- 參考
- 專欄推薦
- 完結
前言
URP/Lit(Universal Render Pipeline/Lit)是Unity通用渲染管線(URP)中的標準PBR(基于物理的渲染)材質,適用于大多數3D物體渲染。它是URP中最常用且功能最全面的材質類型。
參數介紹
1、表面選項
1.1 Worflow Mode工作流模式
Metallic和Specular,兩個模式都能做出高質量材質,使用任何一種方法,您都可以很好地表示大多數常見的材質類型,因此在大多數情況下,選擇其中一種是個人喜好的問題,以適應您的藝術工作流程。
1.2 Surface Type 表面類型
- Opaque:不透明的
- ransparent:透明的
現實世界多數物體是不透明的,它們之間會相互遮擋,Opaque不會開啟混合(Blend模式),即使對象有Apha值,也不會產生透明效果.
如果使用Transparent,則可以透過透明物體,看到背后的物體,修改Alpha值能明顯改變透明度
1.3 Blending Mode 混合模式
最常用的是Alpha,它是最接近真實世界的混合模式
- Alpha 使用材質的 Alpha 值來更改對象的透明度。0 表示完全透明。1 表示完全不透明,但在透明渲染過程中仍然會渲染材質。對于您希望完全可見但隨著時間的推移也會逐漸消失的視覺效果(例如云),這非常有用。
- Premultiply 對材質應用與 Alpha 類似的效果,但保留反射和高光,即使表面是透明的情況下也是如此。這意味著只有反射光可見。例如,想象一下透明玻璃。
- Additive 在另一個表面之上給材質添加額外的一層。這對全息圖很有用。
- Multiply 將材質的顏色與表面的背景顏色相乘。這會產生更暗的效果,就像透過彩色玻璃觀看一樣。
1.4 Preserve Specular 保留鏡面光照(高光)
是否要保特高光,不受Alpha值影響.如果勾上,即使Alpha變為0,高光依然存在。如果取消,高光會隨著Alphal降低而變弱
1.5 Render Face 渲染面
- Both是兩面都渲染
- Back是僅渲染背面
- Front是僅渲染正面
正面背面是指網格表面的方向,以四邊形Quad為例,它有一個正面,一個背面
至于哪邊是正面,哪邊是背面,是網格在制作時決定的,封閉模型,比如球和正方體,一般把外表面定義為“正面,當從球的內部往外看,就會看到球表面的“背面”
1.6 Alpha Clipping 透明度剪裁
所有像素最終的alpha值,會和Alpha clipping里的值比較,如果像素的alpha值必小于這個配置,那么這個像素會被直接丟棄,不會渲染到最終輸出里。
啟用后可用于制作鏤空效果(如樹葉、柵欄
等)。需要在制作貼圖時考慮Alpha值。
1.7 Receive Shadows 是否接收陰影
表示陰影能否出現在它上面
2、表面輸入
2.1 BaseMap 基礎貼圖
網格(Mesh)使用的紋理貼圖,也被稱作Albedo/Diffuse
貼圖。貼圖一般會隨著模型制作,是模型的外觀,
貼圖提供了一個顏色的配置,這里的顏色會和貼圖進行混合,最后再附加到模型
2.2 Specular Map 高光貼圖
影響物體的光澤
2.3 Smoothness 光滑度
光滑度越高,反光越集中。1數值達到1,就是一面鏡子,光滑度的數值可以從貼圖中獲取,也就是在制作高光或者紋理貼圖時,將Alpha值制作為紋理的光滑度,可以讓物體不同區域有不同的光滑度。
Unity有一些推薦的參數,用來模擬各種材質,簡單總結一下它的建議:
- 對于更偏向金屬質感的材質,Base Map最好接近黑色,而Specular Map接近金屬本身的顏色
- 對非金屬的材質,Base Map使用接近材質的顏色,而Specular Map接近灰色
2.4 Normal Map法線貼圖、Height Map高度貼圖、Occlusion Map遮蔽貼圖
它們都是讓物體看起來更有凹凸感,在制作模型時一起制作
2.5 Emission 自發光
在沒有光照的情況下發出的光亮
Unity里可以配合全局光照(GI),光照探針,將自發光計算為間接光照
2.6 Tiling和Offset
分別表示以上所有貼圖的重復和移動,X/Y表示哪個軸的變化
這里用一個貼圖方便演示
如果Tiling是1,Offset是0,就是使用原圖作為貼圖
如果增加Tiling,可以看到在對應軸上,貼圖看起來被壓縮了
而Offset就是平移了這個貼圖,
它的原理是改變了頂點的紋理坐標,進而改變了每個像素的采樣結果。
我們可以在資源文件夾中找到紋理,其中Wrap Mode 包裹模式定義了當紋理坐標UV超出0-1的范圍時,采樣的結果是什么
3、Detail Inputs細節輸入
該選項用于添加細節
如何讓模型在局部放大時,仍然可以看到豐富的細節?
最簡單的方式是,繪制更高清的紋理貼圖,容納更多的顏色細節,但是它會明顯增加貼圖占用空間。
Detail Inputs就是一個解決局部細節的方案,它的核心思想是,把局部的細節從主貼圖中剝離出來,單獨成為一張貼圖,通過增加Tiling模擬高分辨率的紋理,在采樣主紋理貼圖時,同時采樣細節紋理貼圖,然后將細節采樣的結果疊加到主紋理的采樣上,它平衡了占用空間和細節效果。
Mask用于標記主紋理上的哪些部分,是需要和細節貼圖進行疊加的,下面是細節貼圖和細節貼圖的法線貼圖,以及它們的Tiling和Offset。
4、高級選項
4.1 Specular Highlights 鏡面高光
就是球面這個明顯的光點
取消后光點消失
4.2 Environment Reflections 環境反射
提供更逼真的鏡面反光效果,反射環境中的物體,比如反射天空盒。
4.3 Sorting Order 渲染順序
所有Shader都有一個渲染隊列序號,比如不透明物體是2000,透明物體是3000,越靠前的越先渲染。URP隱藏了隊列序號,改為一個Slider,但是原理是一樣的。
4.4 Enable GPU Instancing
當場景中存在大量相同的對象時,勾上它可以在一次DrawCall中,傳遞多個相同網格和材質的對象,加快渲染計算的速度。
注意
:Unity官方建議低于256頂點的網格,不要啟用這個選項,應該采用另外的優化方案。
參考
https://docs.unity3d.com/cn/Packages/com.unity.render-pipelines.universal@12.1/manual/lit-shader.html
https://www.bilibili.com/video/BV1foFNeuEjA/
專欄推薦
地址 |
---|
【unity游戲開發入門到精通——C#篇】 |
【unity游戲開發入門到精通——unity通用篇】 |
【unity游戲開發入門到精通——unity3D篇】 |
【unity游戲開發入門到精通——unity2D篇】 |
【unity實戰】 |
【制作100個Unity游戲】 |
【推薦100個unity插件】 |
【實現100個unity特效】 |
【unity框架/工具集開發】 |
【unity游戲開發——模型篇】 |
【unity游戲開發——InputSystem】 |
【unity游戲開發——Animator動畫】 |
【unity游戲開發——UGUI】 |
【unity游戲開發——聯網篇】 |
【unity游戲開發——優化篇】 |
【unity游戲開發——shader篇】 |
【unity游戲開發——編輯器擴展】 |
【unity游戲開發——熱更新】 |
【unity游戲開發——網絡】 |
完結
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果學習過程中遇到任何問題,也歡迎你評論私信找我。
贈人玫瑰,手有余香!如果文章內容對你有所幫助,請不要吝嗇你的點贊評論和關注
,你的每一次支持
都是我不斷創作的最大動力。當然如果你發現了文章中存在錯誤
或者有更好的解決方法
,也歡迎評論私信告訴我哦!