UNITY 2D RootMotion 小记

在Unity中使用2D RootMotion时遇到了动画播放但角色不移动的问题,通过勾选ApplyRootMotion解决了动画播放问题,但随后角色在不操作时自动上升。经过查找资料,发现可能是由于2D动画录制的某些操作导致。最终,通过官方手册找到了解决方案,即取消ApplyRootMotion,手动编写脚本控制角色移动,成功解决了Y轴异常飘移的问题。
摘要由CSDN通过智能技术生成

最开始跟着某本书做了个demo,动画直接用的画好的一堆png导入sprite然后直接拖到animation的关键帧上,然后getkeydown给人物直接改速度。一切正常

第二天突然看到骨骼动画IK blabla,看到都在说减轻绘画开销,脑子一抽就重做了一遍动画,而且是直接在scene上做的录制,做完一运行傻眼了:按键只有动画没有位移。搜了一波都在说勾选ApplyRootMotion,回头钩上发现确实可以动了

结果第二天再运行更离谱的事出现:运行起来不碰任何按键时候人居然能自己向上飘,各种尝试加初始向下速度/加重力都不行(要么落地之后重新升天要么重力太大直接弹射起步),去掉animator就不飘,搜了一圈估计是做骨骼动画时候哪里搞出位移了,试着把静止状态的animation删成1帧,没效果,把静止状态animation直接设成none,还是没效果(出问题时候人物初始刷新是在空中,居然不受重力一样上下抖动,不知道到底哪里出了问题)

找到的所有Y轴xjb飘相关的都是在说3D的,而且都是改动画文件的bake into pose,无视重力这个bug也有一篇写的是往动画文件里面加一个1.1倍重力curve,然而不知道是因为2d的原因还是动画不是从别的地方导入而是直接在scene上面录制的————动画面板里面根本没有bake into pose,也没有添加重力curve的地方(animation的curve页面倒是能添加人物本身rigidbody的gravity,但是并没有什么卵用)。于是现在变成了不勾applyRootMotion就只能原地动画/钩上applyrootmotion就魔法漂移的要命怪圈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值