【发布时间】:2015-09-14 17:43:01
【问题描述】:
我想在玩家死亡时播放粒子系统爆炸。其他一切都暂停但爆炸仍在继续的想法,就像你死时的吃豆人动画(一切都冻结并播放吃豆人死亡动画)。
问题是,它不起作用。我知道 Time.timeScale = 0 会暂停一切,我已经尝试使用这个脚本来解决这个问题,但它似乎不起作用:
void Update()
{
if (Time.timeScale < 0.01f)
{
particleSystem.Simulate(Time.deltaTime, true, false);
}
}
这个我也试过了,还是不行:
private ParticleSystem pSystem;
public void Awake()
{
pSystem = gameObject.GetComponent<ParticleSystem>();
}
public void Play()
{
pSystem.Simulate(Time.unscaledDeltaTime,true,true);
}
public void Update()
{
pSystem.Simulate(Time.unscaledDeltaTime,true,false);
}
我已经使用附加到我的爆炸粒子系统预制件的脚本尝试了这段代码,当你死时它在玩家的位置被实例化。
谢谢!
更新:
原来我曾尝试使用particleSystem.Simulate(Time.unscaledDeltaTime, true, false);,但我在 FixedUpdate() 而不是 Update() 中调用它。
但是,下面 Garfty 发布的小行星基地帖子真的很有趣,从长远来看可能值得一试!
【问题讨论】:
标签: time unity3d particle-system