void Update ( ) 更新 void FixedUpdate ( )

void Update ( ) 更新 
void FixedUpdate ( ) 固定更新

相同点:当MonoBehaviour启用时,其在每一帧被调用,都是用来更新的。 
异同点:第一点不同: 
Update()每一帧的时间不固定,即第一帧与第二帧的时间间隔t1和第三帧与第四帧的时间间隔t2不一定相同。比如:

代码片段:

    using UnityEngine;using System.Collections;public class TestScript : MonoBehaviour{int i = 0;float time = 0f;void Update () {i ++;time = Time.deltaTime;Debug.Log("这是第" + i + "帧");Debug.Log("时间为:" + time);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Update运行控制台

这里t1 = 0.04 - 0.02 = 0.02;t2 = 0.55 - 0.35 = 0.2;大约相差了十倍。而如果使用FixedUpdate()会出现什么情况?

代码片段:

    using UnityEngine;using System.Collections;public class TestScript : MonoBehaviour{int i = 0;float time = 0f;void FixedUpdate () {i ++;time = Time.deltaTime;Debug.Log("这是第" + i + "帧");Debug.Log("时间为:" + time);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里写图片描述

我们很清楚地看到t1 = t2 = 0.02。也就是说,FixedUpdate()每帧与每帧之间相差的时间是固定的,而Update()不是固定的。 
第二点不同: 
Update受当前渲染的物体影响,这与当前场景中正在被渲染的物体有关(比如人物的面数,个数等),有时快有时慢,帧率会变化,Update被调用的时间间隔就会发生变化。但是FixedUpdate则不受帧率的变化影响,它是以固定的时间间隔来被调用。 
在官网文档中也提到说: 处理Rigidbody时,需要用FixedUpdate代替Update。例如:给刚体加一个作用力时,你必须应用作用力在FixedUpdate里的固定帧,而不是Update中的帧。(两者帧长不同)。正是因为FixedUpdate是以固定的时间间隔来被调用,所以人物运动起来比较平滑(运动起来不会有忽快忽慢的感觉,像是跳帧似的),这也就是为什么处理Rigidbody时要用FixedUpdate了(当然还有其他一些原因)。FixedUpdate是以固定的时间间隔来被调用的,而这个固定的时间是可以修改的。 
Edit->Project Setting->time 下的Fixed timestep。 
这里写图片描述 
这里是0.02;与上面做的实验t1 = t2 = 0.02一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海量数据库的查询优化及分页算法方案(一)

随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据…

【点分治】luoguP2664 树上游戏

应该是一道中等难度的点分?麻烦在一些细节。 题目描述 lrb有一棵树,树的每个节点有个颜色。给一个长度为n的颜色序列,定义s(i,j) 为i 到j 的颜色数量。以及 现在他想让你求出所有的sum[i] 输入输出格式 输入格式: 第一行为一个整数…

EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#

EasyJoyStick使用以及两种操作杆EasyJoyStick的使用方法,简单的不能再简单Hedgehog Team-》Easy Touch -》Add Easy Touch For C#Hedgehog Team-》Easy Touch -》Extensions-》Adding A New Joystick配置如图:然后看一下配置,我喜欢掌控性强一…

2.1 vector

表结构的数组实现随机访问快速尾插动态调整所占内存空间#include<vector>从0开始计数创建vector对象的三种方法&#xff1a; 1. vector<int> v;2. vector<int> v(10); //默认值为03. vecotr<double> v(10,8.6); //为每个元素指定初始值尾插&#xff1a…

文件系统管理 之 文件和目录访问权限设置

一、文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限&#xff0c;这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限&#xff1a;只允许用户自己访问&#xff1b;允许一个预先指定的用户组中的用户访问&…

Web渗透实验:基于Weblogic的一系列漏洞

1. 攻击机windows10 192.168.2.104 2. 靶机ip: 192.168.2.109(linux Ubantu) 192.168.2.111(windows2008R264位) 第一步&#xff1a;启动靶机服务 分别为linux和windows windows环境搭建&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/16KyYb1v1rP9uJ6-5MBotVw   提取…

9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615

9 月 19 日&#xff0c;腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞&#xff0c; 分别为&#xff1a; 信息泄露漏洞&#xff08;CVE-2017-12616&#xff09;、远程代码执行漏洞&#xff08;CVE-2017-12615&#xff09;&#xff0c;在某些场景下&#xff0c;攻…

2.0 STL泛型编程

Standard Template Library 在命名空间std中定义了常用的数据结构和算法 三种类型的组件&#xff1a; 容器&#xff1a; ——vector、string ——set、multiset、map、multimap ——list ——bitset ——stack ——deque、queue、priority_queue 迭代器 算法&…

SQL联合更新

update CCTDB..Area_Infoset ParentStrb.ParentStrfrom CCTDB..Area_Info a inner join TempArea bon a.AreaId b.AreaId转载于:https://www.cnblogs.com/davidgu/archive/2012/08/10/2631289.html

集合之ArrayList(含JDK1.8源码分析)

一、ArrayList的数据结构 ArrayList底层的数据结构就是数组&#xff0c;数组元素类型为Object类型&#xff0c;即可以存放所有类型数据。我们对ArrayList类的实例的所有的操作(增删改查等)&#xff0c;其底层都是基于数组的。 定义底层数据结构&#xff1a;Object[] elementDat…

2.2 string

字符数组的封装 基本操作与vector很像&#xff0c;它们内部采用的都是数组结构 #include<string> 创建string对象&#xff1a; string s; 给string对象赋值&#xff1a; 方式一&#xff1a;s"i love coding"; 方式二&#xff1a; char a[256]; scanf(&qu…

Unity3D 自动打包整个项目(以AssetBundle实现)

需求&#xff1a; 在移动开发中&#xff0c;手动控制资源的加载、释放和热更新&#xff0c;是很有必要的。 而Unity通过AssetBundle可以实现该需求&#xff0c;但是如果项目资源多起来的话一个个手动打包成AssetBundle则很麻烦。 而本文正为此提供一套一键打包的方案。 资源分…

Android复制assets目录下的图片到内存

转自&#xff1a;http://www.chenwg.com/android/android%E5%A4%8D%E5%88%B6assets%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E5%9B%BE%E7%89%87%E5%88%B0%E5%86%85%E5%AD%98.html 有些Android应用需要一些初始化数据&#xff0c;但是考虑到国内这种龟速网络和高昂的网络流量费用&…

Python 2.7 cython cythonize py 编译成 pyd 谈谈那些坑(转载)

转自&#xff1a;https://www.cnblogs.com/ibingshan/p/10334471.html Python 2.7 cython cythonize py 编译成 pyd 谈谈那些坑 前言 基于 python27 的 pyc 很容易被反编译&#xff0c;于是想到了pyd&#xff0c;加速运行&#xff0c;安全保护 必要准备 安装cython&#xff1a;…

2.3 set

#include<set> 红黑树&#xff08;Red-Black Tree&#xff09;&#xff0c;一种平衡二叉检索树。 对于插入相同键值的情况忽略处理。 set主要用于快速检索 高效的插入和删除 multiset、map、multimap都是平衡二叉检索树。 创建set集合&#xff1a; set<int> s…

一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。

一、创建Assetbundle 在unity3d开发的游戏中&#xff0c;无论模型&#xff0c;音频&#xff0c;还是图片等&#xff0c;我们都做成Prefab&#xff0c;然后打包成Assetbundle&#xff0c;方便我们后面的使用&#xff0c;来达到资源的更新。 一个Assetbundle可以打包一个模型&…

【JS】我的JavaScript学习之路(2)

3.从JavaScript页面解析过程看执行顺序 代码(test.html)&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/x…

Codeforces 862D. Mahmoud and Ehab and the binary string 【二分】(交互)

<题目链接> 题目大意&#xff1a; 有一个长度为n(n<1000)的01串&#xff0c;该串中至少有一个0和一个1&#xff0c;现在由你构造出一些01串&#xff0c;进行询问&#xff0c;然后系统会给出你构造的串与原串的 Hamming distance &#xff0c;现在要求你按照步骤进行…

王者荣耀提取攻略

1. 王者荣耀安装后&#xff0c;就将模型等资源解压到SD卡目录里&#xff0c;我们需要找到这个目录。模型资源存储在SD卡中&#xff0c;路径为&#xff1a;【/SDCard/Android/data/com.tencent.tmgp.sgame/files/Resources/AssetBundle/】 2. 2 所有英雄的资源包都在这个目…

2.4 multiset

#include<set> multiset与set的唯一不同&#xff1a;允许插入重复的元素。 在插入元素、删除元素、查找元素上与set 有区别。 multiset元素的插入&#xff1a; multiset<int> ms; ms.insert(11); ms.insert(11); //插入两个11&#xff0c;遍历时同样有两个11。…