Unity3D 时间计量方式(二):游戏时间线


游戏时间线(Game TimeLine)是应用更广泛的时间计量方式。它以游戏世界的时间流逝速度为标准度量时间。很多情况下,它与真实时间线不同。例如,当游戏呼出暂停菜单时,真实时间仍然在流逝,而游戏时间却应该停止。又比如,在回放战斗录像时,我们希望快进整个战斗过程,这时游戏时间就要快于真实时间。在有些强调打击回馈感的动作游戏中,游戏时间线会不停的变化,让玩家在忽快忽慢中体验战斗的乐趣。

游戏时间线也可以用于辅助调试。为了追查不正常的渲染,通过停止游戏时间,开发者可以冻结所有的动作和特效。这时如果有能够控制摄像机移动的工具,开发者就可以在场景中漫游,查找问题产生的原因。更进一步,通过推动游戏时间向前移动帧时间(1/FPS),开发者可以实现逐帧调试的功能。暂停游戏的另一个好处是方便定位Bug现场。结合代码报错的监控模块,可以很容易地捕捉报错现场,有利于问题的解决,在后面我们还会提到这点。

在Unity 3D中我们可以使用Time.time来获取游戏时间,通过Time.timeScale来控制游戏时间流逝的速度。更改TestTime.cs脚本中的代码如下:

编辑好后,运行游戏。拖动游戏窗口中的拖动条,可以更改游戏时间的流逝速度。例如,笔者将其更改为0.5,则真实时间每过2s,游戏时间经过1s。

本文出自 松阳论道 转载必须注明出处

http://blog.songyang.net/5744.html

说点什么吧...

电子邮件地址不会被公开。 必填项已用*标注