Unity3D - 重放非循环粒子系统

时间:2016-01-18 14:05:11

标签: unity3d unity5 particle-system unity3d-5

我正在关注Survive Shooter Unity3D教程,并且在Unity 5.3中发现了Unite Day演示文稿和实际行为之间的一些不一致,例如动画转换和我必须要实现的其他小问题所需的游戏结果,并按照教程。

我无法解决的一个问题是重放非循环粒子系统。在游戏中,每当敌人被射击时都会发射命中粒子,但是当运行游戏时,这些粒子会被发射一次,而不是在击中后发射。

这是粒子系统配置:

enter image description here

原始代码只是重新定位并重新发布排放:

// Set the position of the particle system to where the hit was sustained.
hitParticles.transform.position = hitPoint;

// And play the particles.
hitParticles.Play();

我已尝试重置和清除系统,但这不起作用:

hitParticles.Clear();
hitParticles.time = 0;
hitParticles.Play();

如何重放粒子发射?

谢谢!

3 个答案:

答案 0 :(得分:2)

要回复ParticleSystem尝试使用适合您动画的参数ParticleSystem.Emit(...),例如:

hitParticles.Emit(5);

答案 1 :(得分:0)

如果您正在使用Unity 5.3.1,那么它听起来就像一个错误(Activity overflow)。

答案 2 :(得分:0)

如果您需要立即重置粒子系统并重复它(例如Rifle barel爆炸)我建议你这样:

nextInt()