Unity-渲染模式 (Rendering Mode)
2021-03-29 09:06 作者:unity_某某師_高錦錦 | 我要投稿
標準著色器中的第一個材質參數(shù)為?Rendering Mode。此參數(shù)允許您選擇對象是否使用透明度,如果是,使用哪種類型的混合模式。

Opaque?- 此項為默認設置,適用于沒有透明區(qū)域的普通固體對象。
Cutout?- 用于創(chuàng)建在不透明區(qū)域和透明區(qū)域之間具有硬邊的透明效果。在這種模式下,沒有半透明區(qū)域,紋理為 100% 不透明或不可見。使用透明度來創(chuàng)建材質的形狀時(如樹葉或者有孔洞和碎布條的布料),這非常有用。
Transparent?- 適用于渲染逼真的透明材質,如透明塑料或玻璃。在此模式下,材質本身將采用透明度值(基于紋理的 Alpha 通道和色調顏色的 Alpha),但與真實透明材質的情況一樣,反射和光照高光將保持完全清晰可見。
Fade?- 允許透明度值完全淡出對象,包括對象可能具有的任何鏡面高光或反射。如果要對淡入或淡出的對象進行動畫化,此模式將非常有用。它不適合渲染逼真的透明材質,如透明塑料或玻璃,因為反射和高光也會淡出。
使用腳本來更改渲染模式
當您更改渲染模式時,Unity 將對材質應用許多更改。沒有單個 C# API 可以更改材質的渲染模式,但是您可以在代碼中進行相同的更改。
要查看在您更改渲染模式時 Unity 所做的更改,請執(zhí)行以下操作:
下載 Unity 內置著色器的源代碼。請參閱自行創(chuàng)建著色器以查看相關說明。
2.打開?StandardShaderGUI.cs?文件。
3.找到文件中如下所示的區(qū)域,并查看每種渲染模式的更改。
switch (blendMode){
?case BlendMode.Opaque:
? ?// 此處是與不透明 (Opaque) 渲染模式相關的更改
? ?break;
?case BlendMode.Cutout:
? ?// 此處是與鏤空 (Cutout) 渲染模式相關的更改
? ?break;
?case BlendMode.Fade:
? ?// 此處是與淡入淡出 (Fade) 渲染模式相關的更改
? ?break;
?case BlendMode.Transparent:
? ?// 此處是與透明 (Transparent) 渲染模式相關的更改
? ?break;
}




標簽: