使用粒子特效在Cocos Creator 3.7.2中创造令人惊艳的效果

在游戏开发过程中,粒子特效是提升游戏画面表现力和吸引玩家注意力的重要工具。通过合理使用粒子系统,你可以创造出炫目的爆炸、魔法效果和天气等引人入胜的游戏场景。在本文中,我们将介绍如何在Cocos Creator 3.7.2中使用粒子特效系统。

在使用过程中,你可以自己创建粒子效果,也可以使用你们公司美术给你提供的粒子效果或者自己在网上找。

这里我的粒子效果是美术提供的!

创建粒子

graph TD
创建—>2D对象—>ParticleSystem2D(粒子)

这时可以看到编辑器中已经存在一个系统自带的粒子效果了

下面我们开始对粒子进行替换

修改File

在上面图中,我们点击粒子可以到右边的属性检查器中有File,这个就是粒子的配置文件,这里是.plist格式的。
我们现在将这个文件修改为我们自己的

可以看到,文件替换后编辑器报错了,而且粒子也没有出现我们想要的效果,这是因为没有找到配置文件中的粒子贴图文件。

替换贴图


我们将Custom属性前面的框框勾上,就可以看到Sprite Frame属性标红,提示Missing Asset,我们将需要用到的粒子贴图拖过来即可。

这个时候我们就可以看到我们自己想要替换的粒子效果了。

导出


这里我们还需要进行最后一步,将现在的粒子配置导出,我们在使用的时候直接用导出后的粒子文件,就可以啦。

注意,这里不导出的话,在使用过程中可能会存在找不到粒子贴图的问题。

动态替换粒子

我们在游戏开发的过程中,可能会遇到这样的情况:同一个节点下有几种不同的粒子特效,每次只需要播放一种。比如:游戏失败时候一种粒子特效,游戏胜利的时候一种粒子特效。这个时候,我们就可以只创建一个ParticleSystem2D节点,然后根据不同的情况去更换粒子的File文件,从而播放不同的特效。
示例代码:

1
2
3
4
5
6
7
8
9
10
let parent = node; // ParticleSystem2D节点的父节点
parent.getChildByName("Particle2D").getComponent(ParticleSystem2D).stopSystem(); // 先停止发射之前的粒子
resources.load(`${FilePath}`, ParticleAsset, (err, ParticleAsset) => { // 修改粒子的File文件,其实就是修改粒子动画
if (err) {
console.error('Failed to load file:', err);
return;
}
parent.getChildByName("Particle2D").getComponent(ParticleSystem2D).file = ParticleAsset;
});
parent.getChildByName("Particle2D").getComponent(ParticleSystem2D).resetSystem(); //修改完粒子后,重启粒子动画