这里作者提到对于Time这个类的一些使用情况。
我们可以通过调节Time.timeScale来控制游戏的快慢。但这个是有前提的,只有当我们的控制逻辑中含有Time.deltaTime的时候才会有放慢或者加快的效果。如果有个GameObject的移动是不受Time.deltaTime的控制,比如像这样的 newPosition.x += speed; 而不是这样 newPosition.x += Time.deltaTime * speed; 那么这个物体就不会放慢,也可以这么理解:Update()还是按照原来的速度来调用,但Time.deltaTime变慢了。
在时间变慢了之后,Physics的效果有时候看起来不是很好,有一卡一顿的感觉,
一种可以通过设置interpolation;
另外一种方法更加被作者推荐,那就是提高fixed time的时间精度,即Time.fixedDeltaTime (实际上这个值可以在project settings -> Physics里面来设置)
官方的文档里面也这么说道:
引用
If you lower timeScale it is recommended to also lower Time.fixedDeltaTime by the same amount.
Time.fixedDeltaTime = 0.02 * Time.timeScale;
timeScale变小,意味着速度变慢,而fixedDeltaTime也变小,却表示FixedUpdate()的调用次数增加了,这样精度更高了。这也隐含着FixedUpdate()的调用是收到timeScale控制的。
引用
Note that the fixedDeltaTime interval is with respect to the in-game time affected by timeScale.
此外,作者还用到了Mathf.Lerp()这个函数。这个是表示线性插值的计算。
StartCoroutine()之前有可能还需要StopAllCoroutines()。
把声音也调慢可以使用AudioSource.pitch这个值。
分享到:
相关推荐
unity中 常用的事件响应函数,鼠标响应函数,碰撞响应函数
Unity3D等待函数介绍1
测试函数运行时间的工具
在做一些开场动画或者其它指定事件触发 一类功能时,需要在编辑环境下设置添加回调函数。 一开始尝试直接使用delegate 来编写,测试发现没有效果,在谷歌搜索到Unity论坛有人提到 delegate 不能被序列化到Inspector...
一些unity基础开发中经常要用的函数,在此整理了,没事可以看看。适合初学者查看,没有详细的说明(之前不知怎么要求5积分下载,现在重新上传,不需要积分可以下载)
重载虚函数:Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start
个人花了一点时间整理了下unity中的一些常用的方法,当然有些是不够常用的!有不正确的地方的请联系我。
unity3d函数汇总,包含绝大部分系统函数,适合新手
在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。 C#虚函数从程序编译的角度来看。。。
unity 调用 android 所需的文件。
将在MonoDevelopment中将代码做如下修改:Unity3D教程:使用OnGUI函数显示状态栏并且使用触发器修改玩家当前信息运行以下程序,可以看到一个逐
unity 3D入门教程第三讲,简单的入门教程。
里面全是关于unity写代码的东西,有用的。
整理了关于Unity生命周期函数的顺序,各个函数方法的生命周期,以及二次调用等。整理了关于Unity生命周期函数的顺序,各个函数方法的生命周期,以及二次调用等。整理了关于Unity生命周期函数的顺序,各个函数方法的...
1.Chronos.unitypackage 2.时间控制 3.Unity 时间插件
因为Unity 采用C# 作为主要语言,代码编译之后作为DLL存在与执行文件中,这就给我们带来很大的一个问题,反编译非常容易。
让Unity打包的WebGL与Js进行通信(unity 2020.1版本)
unity基础介绍课件
unity模拟时间 滑动 自动获取当前时间
Unity3D脚本:随时间改变光照强度1