这里作者提到对于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 in Action Multiplatform game development in C# with Unity 5》一书的详细知识点介绍。 《Unity in Action Multiplatform game development in C# with Unity 5》是一本...
在《Unity3D中文API.chm》文档中,你可以找到关于Unity3D的所有内置函数、类、方法、组件以及模块的详细解释。API(Application Programming Interface)是开发者与软件交互的接口,对于Unity3D来说,它包括了C#脚本...
### Unity3D 面试复习知识点概览 ...以上是关于Unity3D面试复习资料的一些关键知识点总结。掌握这些内容对于Unity3D开发者来说是非常重要的,能够帮助他们在面试和实际工作中更好地应对各种挑战。
除了基础内容外,还可以深入学习Shader编程、粒子系统、物理特效、AR/VR开发以及Unity Asset Store中的第三方插件,提升游戏开发的专业性。 通过《Unity3D 游戏开发》电子书的学习,初学者可以逐步建立起Unity3D...
- 支持多线程处理一些与Unity对象交互较少的任务,如后台加载资源或处理网络请求等。 2. **注意事项**: - 使用`lock`关键字来确保同一时间只有一个线程可以访问特定的对象,避免多线程导致的数据不一致问题。 #...
理解这些基本概念是学习Unity3D C#脚本的第一步。 三、Unity3D中的C#脚本 在Unity中,C#脚本以MonoBehaviours的形式存在,它们附加到游戏对象上,定义对象的行为。关键的MonoBehaviour方法包括Awake()、Start()、...
四、C#基本语法在Unity中的应用 1. 条件语句:`if...else`用于根据条件执行不同代码。 2. 循环:`for`和`while`循环用于重复执行代码块。 3. 数组和列表:存储和操作多个同类对象,如`Vector3[] points;`和`List...
#### 十四、使用Unity3d实现2d游戏的方法 - **使用Unity GUI**:适用于早期版本的Unity。 - **UGUI**:Unity 4.6之后引入的新界面系统,支持更强大的2D UI功能。 - **调整摄像机**:将摄像机投影模式设置为`...
### Unity面试题汇总知识点解析 #### 一、C#语言中的重载与重写 - **定义**: - **重载(Overload)**:在同一个类中,方法名相同但参数列表不同的多个方法。 - **重写(Override)**:在子类中对父类的虚方法进行...
了解这些基础知识是开发任何Unity游戏的第一步。场景是游戏中的一个独立单元,包含了游戏中的所有对象和组件。预设体则允许我们创建可重复使用的对象模板,大大提高了开发效率。 二、C#编程基础 C#是Unity的主要...
【Unity3D 太空游戏开发教程】 Unity3D 是一款强大的跨平台游戏开发引擎,广泛应用于游戏开发、虚拟现实(VR)、增强现实(AR)等领域。在本教程中,我们将逐步学习如何使用Unity3D创建一个简单的太空游戏。 一、添加...
在当前内容中,我们可以提取出一些关键知识点,并结合标题和描述进行详细说明。这些知识点与Unity3D游戏开发紧密相关,涵盖了从游戏开发入门到具体功能实现的广泛话题。 知识点一:游戏开发入门(Introduction to ...
#### 十四、Unity实现2D游戏的方式 - **GUI/UGUI:** 使用Unity内置的GUI或UGUI系统。 - **正交投影:** 将摄像机的投影模式设置为Orthographic。 - **2D插件:** 如2DToolkit, NGUI等第三方插件。 #### 十五、碰撞...
│ │ 第82讲 全耦合变压器(unity-coupled transformer).mp4 │ │ │ ├─第77讲 互感和互感电压(mutual inductance and mutual voltage) │ │ 0 第77讲 互感和互感电压(1).mp4 │ │ 1 第77讲 互感和互感电压(2)...
以上就是50个关于Unity(尤其是移动平台)的实用技巧,涵盖了从编辑器工具到序列化,再到UI快捷方式等多个方面。通过掌握这些技巧,开发者可以更高效地创建和优化移动应用,提供更好的用户体验。
《Unity3D游戏开发:构建“仿我的世界”项目》 Unity3D是一款强大的跨平台游戏引擎,被广泛应用于各种游戏、虚拟现实(VR)、增强现实(AR)以及实时三维可视化项目。在这个名为“(2018-2019)仿我的世界”的项目中,...
- **EFB源代码(第49页):** 提供了一个完整的EFB源代码示例。 - **DDT示例(第51页):** 通过DDT示例来演示另一种编程方法。 #### 五、调试指南 - **章节5:**《调试》(第55页起始) - **主要内容:** - **...
第四,类和对象是面向对象编程的核心。你需要学习如何定义类,声明属性和方法,以及创建和使用对象。同时,C#支持封装、继承和多态三大面向对象特性,这些都是理解和应用C#的关键。 第五,C#中的异常处理是保证程序...
第四章深入探讨了模型的概念,解释了模型在MVC架构中的作用,以及如何设计有效的业务逻辑层。涵盖了数据模型的设计原则、实体框架(Entity Framework)的使用,以及如何通过模型实现数据验证和业务规则。 ### 表单...
3. **第四章:文本处理** - 文本编辑器:介绍Vim、Nano和Gedit等文本编辑器,以及如何进行文本查找、替换和格式化。 - 正则表达式:讲解正则表达式的概念和常用模式,用于高效地处理文本。 4. **第五章:用户账号...