如何在Unity中计算时间?

问题描述 投票:0回答:1

我正在创建一个游戏,当一个对象被跟踪时它会改变颜色并变成红色,如何计算游戏开始和颜色改变之间的时间?
也许将它导出到 txt 文件中是完美的。

我在想这样的事情:
计时器脚本

public float timer = 0.0f;

void Start()
{
    timer = 0;
}

void Update()
{

    timer += Time.Time;
    print(second);
}

比起眼动追踪:

void CountStop()
{
    // i don't know how to stop the count and save the value
}
c# unity3d time triggers counter
1个回答
0
投票

对于你问题的第一部分,Unity本身已经解决了这个问题,只需使用

Time.time

private void OnGUI() => GUILayout.Box($"Current Time: {Time.time}");

但是你说你想改变一个物体的颜色。在这方面,您可以使用

Color.Lerp
,但根据您在对象上使用的 shadermaterial,可能需要灵活性。在下面的代码中,在检查器中输入
meshRenderer
值,将进行更改。我希望本指南能解决您的问题。

[SerializeField] private MeshRenderer meshRenderer;

[SerializeField] private float lerpTime = 4f; // 4 seconds
[SerializeField] private Color color;
private void Update()
{
    meshRenderer.material.color = Color.Lerp(meshRenderer.material.color, color, Time.time / lerpTime);
}
© www.soinside.com 2019 - 2024. All rights reserved.