目录:Unity Shader - 知识点目录(先占位,后续持续更新) 原文:Rendering Mode 版本:2019.1

Rendering Mode

unity onRenderImage 用例 unity rendering mode_默认值


Standard Shader材质的默认参数和一些未设置的数值,纹理。Rendering Mode(渲染模式)用红色框框中。

Standard Shader材质的第一个参数是:Rendering Mode。这允许我们选择对象是否透明。

  • Opaque - 默认值,适合不透明对象。
  • Cutout - 允许你创建透明的效果,但透明边缘很生硬:在透明与不透明的像素边缘之间的没有过度(因为要么完全不透明,要么完全透明)。在这模型下,没有半透明,要么完全不透明,要么完全透明。这种透明处理方式非常适合于带形状(为何叫形状,因为这模式下,像素可被剔除掉):如:带洞的衣服或碎布料。
  • Transparent - 适合于渲染逼真的透明材质,如:清透的塑料或玻璃。这模式下,材质有透明值(纹理的alpha通道或是tint color色调的alpha值)完全透明时,还可保留反射与高光效果,就像真的透明材质一样。
  • Fade - 允许整个对象完全透明,包含高光或反射光都完全透明到不可见。该模式在用于淡出效果是很有用的。不适合逼真透明的材质,如:清透的塑料或玻璃,因为连高光和反射光都透明不可见了。

(Transparent、Fade模型下,还可以让阴影半透明,这个效果还是挺有用的)

unity onRenderImage 用例 unity rendering mode_Standard_02


头盔的透明罩使用的就是Transparent模式,因为要支持显示真实物理对象的透明效果。这里的透明罩还反射了场景中天空盒的内容。

unity onRenderImage 用例 unity rendering mode_Standard_03


这些窗口也是Transparent模式,但也有一些完全不透明的区域的纹理中(窗口边框)。高光从光源反射出透明和不透明区域(边框不透)。

unity onRenderImage 用例 unity rendering mode_默认值_04


全息投影使用Fade模式,因为需要支持不透明对象的部分淡出效果。

unity onRenderImage 用例 unity rendering mode_Standard_05


草使用Cutout模式。这些清晰的边缘就是定义材质中的cut-off阈值得到的。图像中所有阈值超过这个阈值都认为是100%不透明的(可见的),低于阈值都认为是100%透明的(不可见的)。图片的右边部分可以看到材质使用的纹理的alpha通道。