2

我正在关注Survive Shooter Unity3D 教程,并且遇到了 Unite Day 演示与 Unity 5.3 中的实际行为之间的一些不一致之处,例如动画过渡和其他小问题,我必须弄清楚以实现所需的游戏结果并遵循教程.

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

这是粒子系统配置:

在此处输入图像描述

原始代码只是重新定位并重新播放发射:

// 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();

如何重放粒子发射?

谢谢!

4

3 回答 3

2

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

hitParticles.Emit(5);
于 2016-01-18T15:52:14.323 回答
0

如果您使用的是 Unity 5.3.1,那么它听起来很像一个错误(http://issuetracker.unity3d.com/issues/particle-system-plays-only-once)。

于 2016-01-19T10:50:45.393 回答
0

如果您需要立即重置粒子系统并重复它(例如步枪枪管爆炸),我建议您这样做:

ShootParticles.Simulate( 0.0f, true, true );
ShootParticles.Play();
于 2016-10-22T18:54:42.233 回答