最开始跟着某本书做了个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就魔法漂移的要命怪圈。