设置为0时,TRAIL渲染器无法正常工作



我想在暂停游戏时使用TrailRenderer,但是由于时间表为0,因此由此导致的三角洲为0。这导致TrailRenderer无法正常工作(Tail永远不会死亡)。

>

我找不到任何参数无法手动设置更新持续时间或调用TrailRenderer的更新。

就像在动画师中一样,我们可以选择在" Unscaleddeltatime"中进行更新,我该如何为TrailRenderer做到这一点?

经过一点研究,似乎无法做到这一点。您可以在这里做几件事,但这都不是只能在渲染器上设置时间尺度那么容易。

也许考虑一下您如何暂停游戏,看看时间表是否真的是您最好的解决方案。

这个问题也出现在这里如何使Trailrenderer在时间尺度为0时工作?

这似乎表明它无法完成。

您可以使用Time.unscaledDeltaTime的值。

在Unity论坛上有一个帖子,描述了与Time.unscaledTimeTime.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;
}

最新更新