Update LateUpdae FixedUpdate

本文深入探讨Unity中的动画系统,解析Animator.Update的调用时机及其设置方法。解释了UpdateMode、CullingMode的作用,并介绍了AnimatorComponent的各项特性。同时,还阐述了Update、FixedUpdate及LateUpdate的调用顺序与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题本来是在研究动画系统时遇到的:OnAnimatorMove在Animator.Update()调用,那这个Animator.Update是什么时候调用的呢。 

    Animator Component
    Manual:
    Controller:如果不赋值就不会有性能消耗,所以如果是动态赋值,初始时就留空吧
    Avatar:如果是类人模型,就必须赋值。这里不得不提暗黑,它并不使用类人选项,但却大量使用类人的功能,比如赋值Avatar,动画重定向等。
    Apply Root Motion:Should we control the character’s position and rotation from the animation itself or from script.
    Update Mode:影响Animator的更新时机(Monobehavior的Update[逻辑更新]或FixedUpdate[物理更新,当动画影响物理世界时使用])和更新的TimeScale。
    Culling Mode:一直更新动作 or render不可见时不更新动作,只有root motion更新动作。

所以Animator.Update的调用时机是可设置的,默认是Monobehavior的Update调用。

在此过程查文档也得到了Update LateUpdae FixedUpdate的调用时序:

  Update:每一帧被调用,调用频率跟当前帧率有关
  FixedUpdate:固定帧被调用,Edit->ProjectSetting->time 找到Fixedtimestep里设置固定帧间隔。处理物理逻辑的代码一般放这里,比如控制一个Rigibody,因为物理世界不应该被帧率影响。(事实上,并不是固定帧被调用,如果帧率非常低,比如Update()执行间隔比FixedUpdate()长,那期间后者会等前者执行后,把期间“累积”的FixedUpdate一次性执行完,这里有人做过测试:http://www.cnblogs.com/softcat/p/6136290.html)
  LateUpdate:LateUpdate是在所有Update函数调用后被调用。这就可以让开发者控制执行顺序了,一个应用是,许多脚本的Update影响主角位置,所以把摄像机跟随主角实现在LateUpdate()中,避免了摄像机抖动,毕竟你不能保证Update相机位置朝向的脚本,的Update函数,在所有脚本的Update函数队列中执行的顺序。

转载于:https://www.cnblogs.com/Tearix/p/6941156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值