官方文档: LOD:https://docs.unity3d.com/Manual/SL-ShaderLOD.html 渲染顺序:https://docs.unity3d.com/Manual/shader-objects.html#order-of-operations
渲染顺序
Unity在运行时,首先会遍历所有的SubShader
1、检查是否与设备兼容
2、检查是否与当前渲染管线兼容
Tags { "RenderPipeline" = "HighDefinitionRenderPipeline" }
3、检查是否低于或等于当前【渲染管线】的Lod
(高于管线的则为不符合要求SubShader)
SubShader
{
Tags{ }
LOD 100
}
如果有多个SubShader符合要求,Unity会选择当中靠前(第一个)SubShader运行
如果设备不支持列表中所有的SubShader,则会报错
Lod 着色器的细节级别
渲染管线中可以设置使用的LOD等级,一般情况下LOD等级越高的会配置得越豪华
⚠️注意:
高LOD的着色器必须放在前面,
因为如果渲染管线先找到低LOD着色器时,会直接使用低的,
高LOD的着色器永远都不会被调用
Shader "File/HibariLOD"
{
SubShader
{
LOD 300
Pass{}
}
SubShader
{
LOD 200
Pass{}
}
SubShader
{
LOD 100
Pass{}
}
}