
全新粒子系统编辑器

在本次新版本中,Evergine 改进了其粒子系统:从现在起,它将作为一种资产并拥有专属编辑器,从而简化并辅助处理同一粒子系统的多个实例时的开发工作。这个新的粒子系统编辑器包含了一些用于粒子创建的有趣工具,同时也是未来诸多新功能的基础。
新的粒子系统工作流?
Evergine 的先前版本将粒子系统作为一组组件来处理。我们曾拥有 ParticleSystem 和 ParticleSystemRenderer 组件(力组件除外)。虽然这相比我们旧的 WaveEngine 粒子系统有了很大改进,但我们意识到,在涉及同一粒子系统多个实例的复杂场景中,我们不想过度依赖预制件。我们还意识到,当能够轻松地对同一类型的所有粒子系统进行分组时,我们可以更好地进行优化,因此我们按照下图所示更改了工作流。

现在开发者:
- 创建一个 ParticleSystem 资产。
- 在新的粒子系统编辑器中对其进行编辑。
- 使用 ParticlesComponent 和 ParticlesRenderer 组件创建一个实体,将其放置到场景中。
粒子系统创建
创建新的粒子系统资产与从 Evergine Studio 创建其他资产类似。只需在资产详情面板中右键单击并选择 创建粒子系统。

这将在 Evergine 项目中创建一个新资产,可以打开进行编辑。
粒子系统编辑
单击粒子系统资产将打开其编辑器,显示以下 4 个不同的区域:

粒子视口
主区域根据粒子系统的参数和一些视口配置显示其模拟效果。它还显示:
- 发射器形状,显示粒子从何处发射。
- 如果粒子系统使用 entity shape 发射器,将显示一个茶壶用于方向参考。
- 用于缩放方向参考的网格,可以禁用。

粒子属性
这是配置粒子系统的区域。

所有属性被分组到不同的部分,以便于编辑:
- 粒子材质 设置粒子渲染的属性(其纹理、渲染层和采样器状态)。
- 常规 将所有控制最重要方面的主要属性分组,例如最大粒子数、初始颜色、速度等。
- 形状 具有控制粒子发射位置和方向的属性。它允许从一组不同的形状中进行选择:
- 点
- 球体
- 盒体
- 圆
- 实体
- 边缘
- 生成 管理粒子的创建数量和时机。可选模式如下:
- 常规 速率 发射(每秒粒子数)。
- 爆发 一次性同时发射所有粒子(爆炸效果!!!!)
- 距离 根据发射器的移动距离按比例发射粒子。
- 生命期颜色 管理粒子的颜色动画。
- 生命期大小 执行类似功能,对其大小进行动画处理。
- 噪声 组管理粒子的湍流属性。
- 力 启用力的吸引及其类别。
编辑器工具栏
此工具栏控制粒子编辑器可视化的某些方面。
![]()
- 网格 可视化 开/关
- 发射器Gizmo可视化 开/关
- 强制CPU粒子 开/关,即使GPU粒子可用时也生效。
- 重置 相机位置。
- 背景颜色:视口的背景颜色。
模拟控制
此栏控制粒子系统模拟生命周期的某些方面。
![]()
- 重置 所有粒子,返回初始状态。
- 播放/停止 粒子模拟。
- 时间因子 滑块,用于控制粒子的时间。
在场景中使用粒子系统
将粒子系统资源拖入场景,将创建一个包含该粒子系统的实体。

该新实体包含 2个新组件(除了 Transform3D 之外)。

ParticlesComponent
此组件管理该粒子系统特定实例的模拟。它包含:
- ParticleSystem 属性,用于设置源资源。
- Force CPU Particles 显式使用CPU粒子并避免使用计算着色器粒子。
- Emit Automatically 从一开始就自动发射。否则,我们需要手动启动其发射。
- Life Factor 用于加快或减慢粒子老化速度。
- Time Factor 用于加速或减慢粒子模拟。
该组件获取资源并生成模拟所需的所有图形资源、网格和缓冲区。
ParticlesRenderer
此组件仅渲染由 ParticlesComponent 定义的网格及其材质。
后续步骤
粒子编辑器的创建是我们致力于在 Evergine 中提供最佳粒子模拟的坚实一步。我们粒子系统的后续步骤之一将支持每个粒子系统 多个发射器 ,并在它们之间建立关系。
敬请期待!
