Unity之Update与FixedUpdate区别
下面这段代码演示游戏暂停
using UnityEngine;
using System.Collections; public class GamePauseTest : MonoBehaviour
{
public float moveSpeed = 2.0f; void Update ()
{
//move
transform.Translate (new Vector3 (, , moveSpeed * Time.deltaTime));
} void OnGUI ()
{ if (GUI.Button (new Rect (, , , ), "暂停")) {
Time.timeScale = ;
} if (GUI.Button (new Rect (, , , ), "继续")) {
Time.timeScale = ;
}
}
}
GamePauseTest
注意事项
示例中的 速度*Time.deltaTime ,目的是保证游戏运行在 帧数不同的情况下角色移动速度都一样,因为此时角色是按时间移动与帧数无关。
Update和FixedUpdate区别
FPS=2的情况

FPS=60的情况

Update和FPS有关
从上面的两幅图可以看了,当FPS为2时,update打印的次数特别少,而当FPS改为60时,update打印的次数就明显提高了很多
总结
update跟当前平台的帧数有关,而FixedUpdate是真实时间,所以处理物理逻辑的时候要把代码放在FixedUpdate而不是Update.
Update
Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。
FixedUpdate
FixedUpdate是在固定的时间间隔执行,不受游戏帧率的影响。Tick:在处理Rigidbody的时候最好用FixedUpdate。
修改FixedUpdaet
FixedUpdate的时间间隔可以在项目设置中更改,点击 Edit - Project Setting - time 找到 Fixed timestep,就可以修改了。
Unity之Update与FixedUpdate区别的更多相关文章
- Unity游戏暂停之Update与FixedUpdate区别
游戏暂停 示例程序 下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : Mon ...
- Unity的Update() 和 FixedUpdate()的区别
Update() 和 FixedUpdate()在游戏中都会在更新的时候自动循环调用. 但是Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体 ...
- Unity3D Update() 和 FixedUpdate()区别
Unity3D中 Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲 染新的一帧时,被调用.而FixedU ...
- Update与FixedUpdate区别
以下的代码能使游戏暂停,记得要使速度*Time.deltaTime,目的是保证游戏运行在帧数不同的情况下,角色移动速度都一样,因为此时角色是按时间移动与帧数无关. using UnityEngine; ...
- 【Unity】Update()和FixedUpdate()
Update()每帧调用,FixedUpdate()以指定频率被调用. 可以在 Edit -> project settings -> Time -> Fixed Timestep ...
- 【转】 Update和FixedUpdate的区别
MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. MonoBehaviour.FixedUpdate 固定更新 当MonoBehavi ...
- Cocos2d中update与fixedUpdate的区别(一)
原文链接 关于这个问题cocos2d中的fixedUpdate:(或者是Unity中的FixedUpdate)在不同论坛中出现略显频繁.它被回答过很多次了,不管如何,每次一些童鞋在得到答案后还是有一些 ...
- Unity3D中Update()与FixedUpdate()的区别
Unity3D中Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲染新的一帧时,被调用.而FixedUpd ...
- Cocos2d中update与fixedUpdate的区别(六)
它如何工作呢? update:和fixedUpdate:方法实际这样工作. Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期 ...
随机推荐
- vue.js 中组件的使用
Vue中组件的使用 方式一 1.使用Vue.extend创建组件 var com1 = Vue.extend({ template: '<h3>这是使用 Vue.extend 创建的组件& ...
- springboot集成activiti6.0多数据源的配置
最近公司开始开发springboot的项目,需要对工作流进行集成.目前activiti已经发布了7.0的版本,但是考虑到6.0版本还是比较新而且稳定的,决定还是选择activiti6.0的版本进行集成 ...
- MySQL8.0 zip压缩包版本 Windows下安装
MySQL zip压缩包版本 Windows下安装 Download MySQL Community Server 解压到相应的目录 我的解压目录:D:\Program Files\mysql-8.0 ...
- Python3发送邮件功能
Python3实现邮件发送功能 import smtplib from email.mime.text import MIMEText # 导入模块 class SendEmail: def send ...
- JVM内存结构 VS Java内存模型 VS Java对象模型
前面几篇文章中, 系统的学习了下JVM内存结构.Java内存模型.Java对象模型, 但是发现自己还是对这三者的概念和区别比较模糊, 傻傻分不清楚.所以就有了这篇文章, 本文主要是对这三个技术点再做一 ...
- Pyenv虚拟环境的创建(虚拟机)
创建pyenv虚拟环境 sudo yum install openssl* 安装其所需要的库文件 git clone https://github.com/yyuu/pyenv.git ~/.pyen ...
- Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文
前言 之前也分享了不少自己的文章,但是对于 Flink 来说,还是有不少新入门的朋友,这里给大家分享点 Flink 相关的资料(国外数据 pdf 和流处理相关的 Paper),期望可以帮你更好的理解 ...
- Spring aop 拦截自定义注解+分组验证参数
import com.hsq.common.enums.ResponseState;import com.hsq.common.response.ResponseVO;import org.aspec ...
- python中下标和切片的使用
下标 所谓下标就是编号,就好比超市中存储柜的编号,通过这个编号就能找到相应的存储空间. Python中字符串,列表,元祖均支持下标索引. 例如: # 如果想取出部分字符,可使用下标 name=&quo ...
- ASP.NET Core 框架本质学习
本文作为学习过程中的一个记录. 学习文章地址: https://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html 一. ASP.N ...