在任何给定场景中,都有些游戏对象与 SRP 批处理程序 (SRP Batcher) 兼容,还有些对象则不兼容。兼容的游戏对象使用 SRP Batcher 代码路径,而不兼容的游戏对象则使用标准 SRP 代码路径。有关更多信息,请参阅 SRP 批处理程序的工作原理。
游戏对象必须满足以下要求才能与 SRP Batcher 代码路径兼容:
通用渲染管线 (URP) 和高清渲染管线 (HDRP) 中的所有光照着色器和无光照着色器都符合此要求(这些着色器的粒子版本除外)。
要使自定义着色器与 SRP Batcher 兼容,必须满足以下要求:
UnityPerDraw 的单个常量缓冲区中声明所有内置引擎属性。例如,unity_ObjectToWorld 或 unity_SHAr。UnityPerMaterial 的单个常量缓冲区中声明所有材质属性。可以在检视面板 (Inspector) 面板中查看着色器的兼容性状态。