版本:Unity 6 (6000.0)
语言:英语
默认着色器关键字
配置 Unity 何时以及是否使用着色器

添加内置关键字集

您可以使用 Unity 着色器在 GPU 上运行的程序。 更多信息
参见 术语表
指令快捷方式来创建着色器关键字和变体的集合。例如,以下示例添加了 SHADOWS_DEPTHSHADOWS_CUBE 关键字和变体

#pragma multi_compile_shadowcaster

着色器指令快捷方式

快捷方式 Unity 添加的着色器关键字 Unity 添加一个所有关键字都关闭的变体 使用这些变体的着色器通道
multi_compile_fog FOG_LINEAR, FOG_EXP, FOG_EXP2
multi_compile_fwdadd POINT DIRECTIONAL SPOT POINT_COOKIE DIRECTIONAL_COOKIE PassType.ForwardAdd
multi_compile_fwdadd_fullshadows POINT, DIRECTIONAL, SPOT, POINT_COOKIE, DIRECTIONAL_COOKIE, SHADOWS_DEPTH SHADOWS_SCREEN SHADOWS_CUBE SHADOWS_SOFT SHADOWS_SHADOWMASK, LIGHTMAP_SHADOW_MIXING PassType.ForwardAdd. 添加了让灯光拥有实时阴影的功能。
multi_compile_fwdbase DIRECTIONAL, LIGHTMAP_ON, DIRLIGHTMAP_COMBINED, DYNAMICLIGHTMAP_ON, SHADOWS_SCREEN, SHADOWS_SHADOWMASK, LIGHTMAP_SHADOW_MIXING, LIGHTPROBE_SH PassType.ForwardBase.
multi_compile_fwdbasealpha DIRECTIONAL, LIGHTMAP_ON, DIRLIGHTMAP_COMBINED, DYNAMICLIGHTMAP_ON, LIGHTMAP_SHADOW_MIXING, VERTEXLIGHT_ON, LIGHTPROBE_SH PassType.ForwardBase
multi_compile_instancing INSTANCING_ON. 如果您的项目使用过程化实例化,也会添加 PROCEDURAL_ON 实例化
multi_compile_lightpass POINT, DIRECTIONAL, SPOT, POINT_COOKIE, DIRECTIONAL_COOKIE, SHADOWS_DEPTH, SHADOWS_SCREEN, SHADOWS_CUBE, SHADOWS_SOFT, SHADOWS_SHADOWMASK, LIGHTMAP_SHADOW_MIXING 所有绘制实时灯光和阴影的通道,除了 光探针光探针存储有关灯光如何穿过场景空间的信息。 在给定空间内排列的光探针的集合可以改善该空间内移动物体和静态 LOD 景观的照明效果。 更多信息
参见 术语表
.
multi_compile_particles SOFTPARTICLES_ON 粒子系统通过在场景中生成和动画化大量小型 2D 图像来模拟液体、云和火焰等流体实体的组件。 更多信息
参见 术语表
通道。
multi_compile_prepassfinal LIGHTMAP_ON, DIRLIGHTMAP_COMBINED, DYNAMICLIGHTMAP_ON, UNITY_HDR_ON, SHADOWS_SHADOWMASK, LIGHTPROBE_SH PassType.Deferred
multi_compile_shadowcaster SHADOWS_DEPTH, SHADOWS_CUBE PassType.ShadowCaster
multi_compile_shadowcollector SHADOWS_SPLIT_SPHERES, SHADOWS_SINGLE_CASCADE 屏幕空间阴影。

移除变体

您可以使用 skip_variants 指令来移除您不使用的关键字。

例如,以下示例添加了 multi_compile_fwdadd 集的关键字,但移除了 POINTPOINT_COOKIES 变体。

#pragma multi_compile_fwdadd
#pragma skip_variants POINT POINT_COOKIE

有关移除变体的更多信息,请参阅 着色器变体剥离

默认着色器关键字
配置 Unity 何时以及是否使用着色器