Lit 着色器
URP 和 HDRP 都附带了基于代码的着色器。每种渲染管线中最常用的着色器称为 Lit。对于使用该着色器的项目来说,它通常应用于游戏中的几乎所有网格。HDRP 和 URP 的 Lit 着色器功能非常全面。然而,有时用户希望添加额外的特性来获得理想的视觉效果,或者去除不需要的功能以优化性能。这对不熟悉着色器代码的用户来说可能非常困难。
因此,我们在该示例包中为 URP 和 HDRP 都提供了 Shader Graph 版本的 Lit 着色器。用户可以复制合适的 Shader Graph Lit 着色器版本,然后将当前引用代码版本的材料更改为 Shader Graph 版本。所有的材质设置将正确应用并继续有效。这样一来,用户便可以根据需要对 Shader Graph 版本进行更改。
请注意,虽然大部分 但并非全部 代码版着色器的功能都在 Shader Graph 版本中进行了复制。由于创建 Shader Graph 着色器与用代码编写存在差异,某些使用较少的功能可能会缺失。
另外请注意,如果您要使用 Lit 着色器的默认设置,我们建议使用代码版本。仅在需要更改时,才将代码版本替换为 Shader Graph 版本。同时,我们建议移除 Shader Graph 版本中未使用的功能,以提高性能。例如,如果您不使用发光或细节贴图,可以删除着色器中的相应节点和黑板参数,以加快构建时间并提升性能。Shader Graph 的真正优势在于它的灵活性,便于更改、更新和优化着色器。
URP Lit
与代码版本相同,此着色器支持金属和镜面工作流程。着色器可以设置为不透明或透明,并提供透明度剪裁、投射阴影和接收阴影的选项。对于主表面,用户可以应用基础贴图、金属或镜面贴图、法线贴图、高度贴图、遮挡贴图和发光贴图。还提供了控制光滑度、高度、法线和遮挡强度以及纹理平铺和偏移的参数。
用户还可以添加基础和法线细节贴图,并通过遮罩贴图控制其显示位置。
有关每个参数的详细信息,请参考 URP 的 Lit 着色器文档。
着色器变体限制
为了能够使用此着色器,您需要将着色器变体限制增加到至少 513。此操作应在项目设置中的 Shader Graph 选项卡以及偏好设置中的 Shader Graph 选项卡中完成。
自定义编辑器 GUI
为了在材质中创建更紧凑和用户友好的 GUI,此着色器使用与代码版本 Lit 着色器相同的自定义编辑器 GUI。打开图形检查器并查看图形设置。在列表底部,您会看到以下自定义编辑器 GUI:
UnityEditor.Rendering.Universal.ShaderGUI.LitShader
此自定义 GUI 脚本在 GUI 中启用了小型纹理缩略图等功能。如果需要在黑板中添加或删除参数,建议移除自定义编辑器 GUI,改用 Shader Graph 默认材质 GUI。自定义 GUI 依赖于许多黑板参数的存在,如果这些参数被移除,则无法正常运行。
HDRP Lit
与代码版本相同,此着色器支持不透明和透明选项。它支持像素位移(视差遮蔽映射 Parallax Occlusion mapping)及相关所有参数(不支持标准以外的材质类型)。对于主表面,用户可以应用基础贴图、遮罩贴图、法线贴图、弯曲法线贴图和高度贴图。还可以选择使用细节贴图和发光贴图。
有关每个参数的详细信息,请参考 HDRP 的 Lit 着色器文档。
自定义编辑器 GUI
为了在材质中创建更紧凑和用户友好的 GUI,此着色器使用与代码版本 Lit 着色器相同的自定义编辑器 GUI。打开 Graph Inspector 并查看图形设置。在列表底部,您会看到以下自定义编辑器 GUI:
Rendering.HighDefinition.LitGUI
此自定义 GUI 脚本在 GUI 中启用了小型纹理缩略图等功能。如果需要在黑板中添加或删除参数,建议移除自定义编辑器 GUI,改用 Shader Graph 默认材质 GUI。自定义 GUI 依赖于许多黑板参数的存在,如果这些参数被移除,则无法正常运行。