版本:Unity 6 (6000.0)
语言:英语
粒子系统的 GPU 实例化
表面着色器中粒子系统 GPU 实例化的示例

为粒子系统应用 GPU 实例化

与 CPU 渲染相比,GPU 实例化提供了巨大的性能提升。如果你想让你的粒子系统一个组件,通过在场景中生成和动画大量小的 2D 图像来模拟液体、云和火焰等流体实体。 更多信息
请参阅 术语表
渲染网格Unity 的主要图形基元。网格构成你的 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。 更多信息
请参阅 术语表
粒子(与默认的渲染模式 渲染公告板一个纹理化的 2D 对象,它会旋转以始终面向摄像机。 更多信息
请参阅 术语表
粒子相反)。

为了能够在你的粒子系统中使用 GPU 实例化

  • 将你的粒子系统的渲染器 模式设置为 网格

  • 使用一个着色器在 GPU 上运行的程序。 更多信息
    请参阅 术语表
    作为渲染器 材质,该材质支持 GPU 实例化

  • 在支持 GPU 实例化的平台上运行你的项目

要为粒子系统启用 GPU 实例化,你必须在粒子系统的 渲染器 模块中启用 启用 GPU 实例化 复选框。

The option to enable Particle System GPU instancing in the Renderer module
在渲染器模块中启用粒子系统 GPU 实例化的选项

Unity 带有一个内置的粒子着色器,它支持 GPU 实例化,但默认的粒子材质不使用它,因此你必须更改它以使用 GPU 实例化。支持 GPU 实例化的粒子着色器称为 Particles/Standard Surface。要使用它,你必须创建你自己的新材质一个资产,定义表面应如何渲染。 更多信息
请参阅 术语表
,并将材质的着色器设置为 Particles/Standard Surface。然后,你必须将此新材质分配给粒子系统渲染器 模块中的材质字段。

The built-in shader that is compatible with Particle System GPU Instancing
与粒子系统 GPU 实例化兼容的内置着色器

如果你正在为你的粒子使用其他着色器,它必须使用“#pragma target 4.5”或更高版本。有关更多详细信息,请参阅着色器编译目标。此要求高于 Unity 中的常规 GPU 实例化,因为粒子系统将所有实例数据写入单个大型缓冲区,而不是将实例化分解成多个绘制调用。

自定义着色器示例

你也可以编写使用 GPU 实例化的自定义着色器。有关更多信息,请参阅以下部分

粒子系统的 GPU 实例化
表面着色器中粒子系统 GPU 实例化的示例