Version: 6000.3
语言: 中文
内置渲染管线中的粒子系统优化
表面着色器中的粒子系统GPU实例化示例

在内置渲染管线中为粒子系统应用GPU实例化

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

为了能够将GPU实例化与粒子系统一起使用,请执行以下作:

  • 将粒子系统的渲染器模式设置为 网格体(Mesh)

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

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

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

在渲染器模块中启用粒子系统GPU实例化的选项
在渲染器模块中启用粒子系统GPU实例化的选项

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

与粒子系统GPU实例化兼容的内置着色器
与粒子系统GPU实例化兼容的内置着色器

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

自定义着色器示例

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

内置渲染管线中的粒子系统优化
表面着色器中的粒子系统GPU实例化示例