渲染模块(Renderer)

渲染模块用于生成粒子渲染所需要的数据。

renderer

属性说明
RenderMode设置一个粒子面片的生成方式,包括:
Billboard:粒子显示为公告牌,并始终面向摄像机;
StretchedBillboard:粒子始终面向摄像机,但会根据相关参数进行拉伸;
HorizontalBillboard:粒子始终与 X-Z 平面平行
VerticalBillboard:粒子始终与 Y 轴平行,但会朝向摄像机;
Mesh:以指定的网格资源渲染粒子。
VelocityScaleRenderMode 设置为 StretchedBillboard 模式时,根据粒子 速度大小 按比例进行拉伸。
当设置为 0 时,可禁用基于速度的拉伸。
LengthScaleRenderMode 设置为 StretchedBillboard 模式时,根据粒子 大小 按比例进行拉伸。
当设置为 0 时,相当于粒子大小为 0,粒子会消失。
MeshRenderMode 设置为 Mesh 时,指定粒子渲染的网格资源。
ParticleMaterial用于粒子渲染的材质。
当使用 CPU 渲染器,也就是不勾选 UseGPU 时,材质使用的 effect 只能选择 Creator 内置的 builtin-particle,不支持其它的 effect
当使用 GPU 渲染器,也就是勾选 UseGPU 时,材质使用的 effect 只能选择 Creator 内置的 builtin-particle-gpu,不支持其它的 effect
TrailMaterial用于渲染粒子拖尾的材质,材质的 effect 只支持 builtin-particle-trail,不支持其它的 effect。
UseGPU是否使用 GPU 渲染器进行粒子的渲染,默认不勾选。
不勾选时,使用 CPU 渲染器(ParticleSystemRendererCPU)进行粒子的渲染。
勾选时,使用 GPU 渲染器(ParticleSystemRendererGPU)进行粒子的渲染。
详情请参考下文 粒子渲染器 部分的内容。
AlignSpace粒子对齐方向空间,可选项包括 View(视角空间)、World(世界空间)和 Local(局部空间),默认使用视角空间。选择不同空间可以决定粒子初始方向:
选择 View 时,粒子网格的旋转方向将会跟随摄像机的视角方向;
选择 World 时,粒子网格的方向将会使用发射器所在节点的世界空间旋转方向;
选择 Local 时,粒子网格将会使用发射器所在节点的局部空间旋转方向。

粒子渲染器

粒子渲染部分由 渲染器(ParticleSystemRenderer)控制,渲染器分为 CPU 渲染器(默认)和 GPU 渲染器,可通过渲染模块中的 UseGPU 属性选择使用。

  • CPU 渲染器(ParticleSystemRendererCPU)通过一个对象池来维护所有粒子,根据粒子当前状态来生成对应的 VB、IB 数据,持有粒子需要渲染的材质,并且保存相关渲染状态。粒子系统默认使用 CPU 渲染器。

  • GPU 渲染器(ParticleSystemRendererGPU)目前是在 CPU 端生成粒子,只提交初始参数的 VB、IB 数据,但模块相关的计算则是通过预采样数据的形式,在初始化时提交一次数据。后续的模块系统则是在 GPU 端对数据进行提取模拟运算,减少 CPU 端的计算压力。
    可通过勾选 UseGPU 属性选择使用 GPU 渲染器。目前暂不支持 拖尾模块限速模块

自定义材质说明

注意:如果需要对粒子系统使用自定义材质,则该自定义材质的名称有以下限制:

  1. 如果要在 CPU 粒子上使用该自定义材质,则材质名称需包含 particle-cpu, 如 custom-particle-cpu
  2. 如果要在 GPU 粒子上使用该自定义材质,则材质名称需包含 particle-gpu, 如 my-particle-gpu