火花、烟雾和魔法光点在游戏场景中都可以借助粒子系统表达。Godot 4.5的3D粒子文档在介绍这些视觉效果后,列出两类系统:由GPU处理的GPUParticles3D,以及由CPU处理的CPUParticles3D。[1] 名称先交代了处理位置,但后面的节点概览还说明了另一项差别:两类系统并非拥有完全一样的控制选项。

文档的基本描述将粒子与发射器分开。粒子是屏幕上能看到的部分,发射器负责产生粒子。借助这一关系,读者可以理解节点概览所说的“粒子系统”包含怎样的视觉对象,而不把一个火焰效果误当作单张静止图像。本篇仅用这些概念交代游戏视觉语境,不提供生成数量、参数设置或实现步骤。

在Node overview中,原文明确说CPU粒子目前不具备GPU粒子全部的控制选项。接着列出GPU系统的能力:可以编写自定义粒子着色器,并通过吸引器和碰撞节点让粒子与环境产生交互。由此可见,比较两类节点时,问题不仅是由哪个处理器计算,还包括文档为这一系统公开了哪些控制入口。

“可自定义粒子着色器”说明GPU粒子在文档中存在可编程的粒子控制能力。“与吸引器、碰撞节点交互”则把粒子效果与场景中的其他节点联系起来。两者各自描述一种能力,不表示一份项目已经写好着色器,也不表示某个场景已经获得预期的碰撞表现。功能存在与项目实现完成之间,仍需要实际项目证据。

例如,假设一份游戏效果需求只写“有一组火花”,它尚未交代是否涉及自定义粒子行为、是否需要与场景节点交互。把需求再描述得具体些,有助于理解文档中的能力差别,但这不是替项目选择节点的结论。尤其不能只凭CPU或GPU字样,就推算帧率、可承受的粒子数量,或宣称一种方式在所有硬件上都表现更好。

本篇采用Godot官方文档4.5分支的源码文本,重点为两类节点定义及Node overview中的控制能力说明,来源未列明确首次发布日期。这里所说“目前”保留在该版本的语境里,不推广成后续版本永不改变的限制。对阅读游戏引擎资料的人,处理位置与控制能力分别读清,才能准确表达两类3D粒子系统的差异,而不把能力概览写成未经验证的性能承诺。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。