在Unity3D中显示一个对象几毫秒

Alb*_*lbz 3 c# unity-game-engine

我正在使用Unity3D来设置一个"实验"(大学相关),我设计了一个迷宫,用户接收潜意识提示(屏幕上显示的可视箭头),它应该只显示14毫秒然后消失.

我已经设计了3D迷宫并且它真的很小(我不需要任何花哨的实验),因此当我用第一人称控制器导航时我可以达到1000fps(帧速率不会有问题).我打算用C#编写脚本,以便在触发某些对象时显示这些箭头.

我想知道在Unity中是否可以在几毫秒内(在我的情况下,14ms)显示具有可接受精度的对象......如果是这样,我应该使用哪种方法?有类似问题的任何想法或以前的经验?

先感谢您

Fel*_* K. 5

使用协同程序只显示一段时间的对象:

void *AnyTrigger*() // eg. replace with OnTriggerEnter if using triggers
{
    StartCoroutine(ShowObject(14f / 1000f));
}

IEnumerator ShowObject(float timeInSeconds)
{
    // Show object here
    yield return new WaitForSeconds(timeInSeconds);
    // Hide object
}
Run Code Online (Sandbox Code Playgroud)

准确性

显示对象的时间的准确性在很大程度上取决于您使用的系统.如果您在快速系统上运行Unity3D,它可能非常准确.如果系统很慢,那么时间非常可能超过14毫秒.

示例(不准确):

  • 快速系统,每秒950-1000帧:在0ms和1ms之间
  • 中等系统,每秒300-600帧:在0.8ms到3.6ms之间
  • 慢速系统,每秒50-100帧:在5ms到20ms之间