菜单路径:Context > Output Particle Mesh
(Output Particle (Lit) Mesh)
Output Particle Mesh 上下文允许您使用网格渲染粒子。它们有一个常规(无光照)和一个 Lit 种类(仅限 HDRP)两种形式。
以下是特定于 Output Particle Mesh 上下文的设置和属性列表。有关此上下文与所有其他上下文共享的通用输出设置的信息,请参阅 全局输出设置和属性

上下文设置

设置 类型 描述
Mesh Count uint(滑动条) (检查器)与此输出一起使用的不同网格的数量(从 1 到 4)。您可以按索引为粒子选择网格。这使用粒子的 meshIndex 属性。
Lod bool (检查器)指示粒子网格是否使用 细节级别
(LOD)。如果启用此设置,则上下文会根据粒子在屏幕上的表观大小来选择网格。要指定 LOD 网格选择的值,请使用 LOD Values 属性。

上下文属性

Input 类型 描述
Mesh [N] Mesh 用于渲染粒子的网格。网格输入字段的数量取决于 Mesh Count 设置。
Sub Mesh Mask [N] uint (mask) 用于每个网格的子网格遮罩。子网格遮罩字段的数量取决于 Mesh Count 设置。
Lod Values Vector4 上下文用于在 LOD 级别之间进行选择的阈值。这些值表示沿一维的视口百分比(例如,值 10.0 表示屏幕的 10%)。上下文从左到右(0 到 n)测试值,并且仅当屏幕上的粒子百分比高于阈值时才选择 LOD 级别。这意味着您必须按降序指定 LOD 值。请注意,您还可以使用网格数为 1 的 LOD 来剔除屏幕上的小粒子。此属性仅在启用 LOD 设置时才显示。
Radius Scale float 选择每个粒子的 LOD 级别时要应用的比例。默认情况下,LOD 系统假定网格包围盒是单位框。如果您的网格包围盒小于/大于单位框,您可以使用此属性应用比例,以便 lod 阈值与表观大小一致。此属性仅在启用 LOD 设置时才显示。

Limitations

请注意,您不能指定网格和子网格遮罩,因为它们是 CPU 表达式而不是 GPU 表达式。如果您想使用多种网格来渲染粒子,则必须通过指定大于 1(最多 4)的网格数并使用 meshIndex 属性,来使用多网格系统
每粒子排序和多网格对输出来说不是全局的。排序只发生在使用相同网格索引的粒子之间。举例来说,这意味着使用网格 0 的粒子总是在使用网格 1 的粒子上方渲染,无论它们与摄像机的距离是多远。

性能注意事项

使用多网格实际上会发出不同的绘制调用。这意味着使用此功能时可能会有一些 CPU 开销。这相当于使用多个输出,但更优化了一些。这也意味着使用 LOD 作为优化仅适用于具有许多粒子的大型系统。
如果您使用具有许多顶点的网格并且您的系统占用率(活动粒子数/容量)较低,最好将渲染模式(输出检查器中的设置)切换为间接渲染,以消除顶点阶段的工作负载并提高性能。