Version: Unity 6.0 (6000.0)
语言 : 中文
在内置渲染管线的运行时中更改逐实例数据的示例
内置渲染管线的 GPU 实例化着色器参考

防止 Unity 剥离内置渲染管线中的 GPU 实例化着色器

Unity 会默认生成带有实例化变体的表面着色器,除非您在 #pragma 指令中指定 noinstancing。Unity 会在表面着色器中忽略 #pragma multi_compile_instancing 的使用。

标准着色器和标准镜面反射着色器已经过修改以支持实例化,但除了变换之外并没有定义每个实例的属性。Unity 的 Standard 和 StandardSpecular 着色器默认支持实例化,但除了变换(Transform)外,不具有其他的逐实例属性。

如果您的场景不包含启用了 GPU 实例化的__ GameObject__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
See in Glossary
,那么 Unity 会剥离实例化着色器的变体。要覆盖这种剥离行为,请执行以下步骤:

  1. 打开 项目设置 (Project Settings) (菜单:编辑 (Edit) > 项目设置 (Project Settings))。
  2. 转到 图形 (Graphics)
  3. 转到 着色器剥离 (Shader Stripping) 分段,将实例化变体 (Instancing Variants) 设置为 全部保留 (Keep All)
在内置渲染管线的运行时中更改逐实例数据的示例
内置渲染管线的 GPU 实例化着色器参考
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961