C# 将“时间刻度”设置为0时,轨迹渲染器无法正常工作
我想在游戏暂停时使用TrailRenderer,但由于时间刻度为0,因此生成的deltaTime为0。这导致牵引器无法工作(尾巴永远不会消失) 我没有找到任何参数可以手动设置更新持续时间或调用TrailRenderer的更新C# 将“时间刻度”设置为0时,轨迹渲染器无法正常工作,c#,unity3d,C#,Unity3d,我想在游戏暂停时使用TrailRenderer,但由于时间刻度为0,因此生成的deltaTime为0。这导致牵引器无法工作(尾巴永远不会消失) 我没有找到任何参数可以手动设置更新持续时间或调用TrailRenderer的更新 就像在动画师中一样,我们可以选择在“UnscaledDeltaTime”中对其进行更新,我如何才能为追踪者进行更新?经过一点研究,您似乎无法做到这一点。您可以在这里做一些事情,但没有一件比在渲染器上设置时间比例更简单 也许想想你是如何暂停游戏的,看看时间表是否真的是你最好的
就像在动画师中一样,我们可以选择在“UnscaledDeltaTime”中对其进行更新,我如何才能为追踪者进行更新?经过一点研究,您似乎无法做到这一点。您可以在这里做一些事情,但没有一件比在渲染器上设置时间比例更简单 也许想想你是如何暂停游戏的,看看时间表是否真的是你最好的解决方案 这个问题也出现在这里 这似乎表明它无法完成。有一个值可以使用 在
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;
}
我不认为这个问题是正确的重复,因为没有公认的答案。所以这个问题原作者是不会回答的。啊,好的,我来编辑。还在学习这里的情况。似乎可以接受的答案是无法完成。您是在代码中的任何位置设置轨迹渲染器,还是在inspector中都设置了轨迹渲染器?