1、MonoBehaviour.Update 更新

当MonoBehaviour启用时,其Update在每一帧被调用。

2、MonoBehaviour.FixedUpdate 固定更新

当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用。

处理Rigidbody时,需要用FixedUpdate代替Update。例如:给刚体加一个作用力时,你必须应用作用力在FixedUpdate里的固定帧,而不是Update中的帧(两者帧长不同)。

3、MonoBehaviour.LateUpdate 晚于更新

当Behaviour启用时,其LateUpdate在每一帧被调用。

LateUpdate是在所有Update函数调用后被调用。这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现。

另,Update和FixedUpdate的区别:

update跟当前平台的帧数有关,而FixedUpdate是真实时间,所以处理物理逻辑的时候要把代码放在FixedUpdate而不是Update。

Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。

而FixedUpdate,是在固定的时间间隔执行,不受游戏帧率的影响。有点想Tick。所以处理Rigidbody的时候最好用FixedUpdate。

PS:FixedUpdate的时间间隔可以在项目设置中更改,Edit->ProjectSetting->time  找到Fixedtimestep。就可以修改了。

Update和LateUpdate的区别:

在圣典里LateUpdate被解释成一句话:LateUpdate是在所有Update函数调用后被调用。这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现。这句我看了云里雾里的,后来看了别人的解释才明白过来。

LateUpdate是晚于所有Update执行的。例如:游戏中有2个脚步,脚步1含有Update和LateUpdate,脚步2含有Update,那么当游戏执行时,每一帧都是把2个脚步中的Update执行完后才执行LateUpdate 。虽然是在同一帧中执行的,但是Update会先执行,LateUpdate会晚执行。

现在假设有2个不同的脚本同时在Update中控制一个物体,那么当其中一个脚本改变物体方位、旋转或者其他参数时,另一个脚步也在改变这些东西,那么这个物体的方位、旋转就会出现一定的反复。如果还有个物体在Update中跟随这个物体移动、旋转的话,那跟随的物体就会出现抖动。 如果是在LateUpdate中跟随的话就会只跟随所有Update执行完后的最后位置、旋转,这样就防止了抖动。

做一个相机跟随主角的功能时,相机的位置调整写在LateUpdate(),老是不明白,看官方的SmoothFollow相机跟随写在Update()中。

原文链接源地址

转载于:https://www.cnblogs.com/Cocomo/p/5704622.html

LateUpdate、Late、FixedUpdate的意义相关推荐

  1. unity中的update、Lateupdate和FixedUpdate。

    MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. MonoBehaviour.FixedUpdate 固定更新 当MonoBehavi ...

  2. unity, 同步物体坐标一定要在LateUpdate中进行

    设a为主动物体,b为跟随物体. 如果a,b都在同一个Update里更新坐标,那么两者自然是同步的. 如果a在a.Update里更新位置,而b在b.Update里将自己的位置更新为与a相同,那就会有误差 ...

  3. 简单Unity时间架构设计(克洛诺斯之匙)

    好吧,这次的题目有点标题党之嫌,提出这个设计,是因为最近玩了鬼泣,其中有一个关卡叫做"为了自己的主人",任务中,需要利用克洛诺斯之匙将时间变慢,便于通过激光镇. 使用克洛诺斯之匙之 ...

  4. [Unity]Optimize Your Mobile Game Performance中文版

    写在最前,能力有限,翻了个大概,轻喷.有兴趣和能力的同学还是建议看英文原版. 原版链接 提取码:p9fu 注:标黄部分是由于能力有限,实在难翻,大家可以参考英文原文做一个理解. 顺便吐槽下:如果直接复 ...

  5. unity移动游戏优化指南

    目录 简介 性能分析 CPU Usage Profiler 模块 内存 自适应性能 编程和代码架构 项目配置 资源 图形和GPU优化 用户界面 音频 动画 物理 工作流程和协作 简介 优化 iOS 和 ...

  6. unity常见面试题

    1. 游戏对象 问题:游戏对象消失三种方法的区别?(enabled/Destroy/active) gameObject.renderer.enabled=fasle 是控制一个物体是否在屏幕上渲染或 ...

  7. Unity 使用技巧与常见问题

    注意:本文章将长期更新,长期修改. 快速找到对象 在Hierarchy选中需要查找的对象,在Scene视图中F,即可快速找到需要的对象 快速对齐对象 在Game视图中选到对象之后,按住V,此时可以看到 ...

  8. [Unity] 优化您的移动游戏性能2020(上)

    英文原文: OptimizeYourMobileGamePerformance_V6_May2021.pdf 内容 前言 Profiling 内存 自适应性能 编程和代码架构 项目配置 资产 图形和 ...

  9. (转)MOMO的Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)

    http://www.xuanyusong.com/archives/2378 Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不 ...

最新文章

  1. MySQL:left join 避坑指南
  2. python 结束进程 terminate_python – 如果已存在浏览器窗口,则process.terminate()不适用于chrome / firefox子进程...
  3. castle之动态代理
  4. Linux下的top命令
  5. x-requested-with 请求头 区分ajax请求还是普通请求
  6. 面试准备勿重“难”轻“易”
  7. java图片资源存放_Java编程中图片文件放哪
  8. 辐流式重力浓缩池计算_注册考试重点!平流式、竖流式、辐流式、斜板式4大沉淀池构型...
  9. html radio 更换图片,html修改radio、checkbox样式
  10. list 相加_Python 基础 list类、运算符
  11. linux 目录提权,【安全科普】Linux提权——利用可执行文件SUID
  12. anaconda 换源_Anaconda下安装tensorflow1.15过程记录
  13. 电脑管理员权限在哪里可以打开
  14. 通过IMAP方式迁移U-Mail邮件到Exchange 2013之Umail搭建!
  15. 关于Google大陆手机号不能验证的问题
  16. Android手机摄像头作为PC摄像头开发
  17. Unity策略游戏集合
  18. 青海25项措施发展中藏医药 省领导任联席会议召集人
  19. 有关计算机的课外阅读书籍,关于2020级本科生《认识实习》课外阅读书目的通知...
  20. SQL语法大全中文版

热门文章

  1. Spring4.3x教程之一IOCDI
  2. 新服务器安装和配置zabbix的playbook
  3. HDU 5673 Robot 卡特兰数
  4. 2017年我的阅读书单
  5. ASP.NET vs MVC vs WebForms
  6. 定义命令别名(alias)
  7. 制作Geek风格的投影片
  8. 剖析IE浏览器子系统的性能权重
  9. c++ 整数取反_c++ 取反运算符“~”
  10. 《子弹笔记术》[日]杉野干人(作者)epub+mobi+azw3格式下载