我想在暂停游戏时使用TrailRenderer,但是由于时间表为0,因此由此导致的三角洲为0。这导致TrailRenderer无法正常工作(Tail永远不会死亡)。
>我找不到任何参数无法手动设置更新持续时间或调用TrailRenderer的更新。
就像在动画师中一样,我们可以选择在" Unscaleddeltatime"中进行更新,我该如何为TrailRenderer做到这一点?
经过一点研究,似乎无法做到这一点。您可以在这里做几件事,但这都不是只能在渲染器上设置时间尺度那么容易。
也许考虑一下您如何暂停游戏,看看时间表是否真的是您最好的解决方案。
这个问题也出现在这里如何使Trailrenderer在时间尺度为0时工作?
这似乎表明它无法完成。
您可以使用Time.unscaledDeltaTime
的值。
在Unity论坛上有一个帖子,描述了与Time.unscaledTime
和Time.realtimeSinceStartup
相似的特殊性。OP指出他们在帖子底部使用的内容:
float lastFrameRealtimeSinceStartup;
float unscaledTimeWhilePlaying;
void Update() {
float dRealtime = Time.realtimeSinceStartup - lastFrameRealtimeSinceStartup;
if (dRealtime > (1.0f / 20.0f)) {
//Assume the high dTime is due to the game being paused or lost focus
dRealtime = 1.0f / 20.0f; //Set it to a reasonable time (20 FPS)
}
unscaledTimeWhilePlaying += dRealtime;
lastFrameRealtimeSinceStartup = Time.realtimeSinceStartup;
}