前言
- 模型的动画分为两类,一类是动画运动能够影响实际位置,一类是不能
- 根据Apply root motion 与bake into pose来设置
总结
- apply root motion 勾选以后,模型动画会影响根节点的位置
- bake into pose 勾选以后,就不会影响,模型根节点在原地不会发生移动
- 这些是仅对于有位移的动画而言
疑惑
将模型的animator赋给其他物体
- 我在实际操作过程中,模型的奔跑动画会产生45度的偏向,不是正朝向前方
- 于是我新建了一个空物体作为父物体,将模型相对于空物体旋转了45度,再将控制模型的animator组件复制给了空物体,依然能够起作用
- 感觉我对unity中模型动画的理解还很浅薄。
身体部位的移动
- 因为bake into pose的影响,我突然怀疑在设置之后,物体的各个子部位的位置是否会发生变动
- 因为unity面板的transform组件显示的是相对于父物体的坐标,因此在动画播放过程中,子物体的transform数值一直没有发生变动
- 我用脚本打印物体自身的世界坐标系,然后逐帧播放,再将某个部位拖拽到世界空间中,将其transform与debug的数值做比较。发现是相等的
- 模型的子物体的位置在动画播放过程中是在变化的
一些思考
- 其实,我完全没有必要做上面那些验证。做一下思想实验就好了。或者说,我的实验方法其实很混乱。根本没有一个头绪
- 物体模型的动画播放,是通过操控子物体的坐标来达到这个效果的。所以模型动画播放过程中,子物体的位置怎么可能跟随不变呢
- 既然子物体的位置相对于父物体一直是没有变化的,那就说明子物体在随着父物体发生移动。我为什么还要做那些实验呢
- 所以我想到,其实在学习过程中,遇到一些困惑的问题,我们往往需要做一些实验,但是实验应该如何设计,有没有必要做实验,实验过程中我们应该观察什么,关注什么结果。其实都是有迹可循的。这让我想到高中课本上的生物学实验,有控制变量法,对照法,等等科学实验方法
实验思路
- 这里只说一下我的关于实验的思考,可能很抽象,但是抽象高于具体
- 明确问题。(就是你这个实验是要探讨哪一个问题的。)
- 问题只有一个。(一次探讨的问题应该只有一个)
- 设计实验过程。(这个过程一定要仔细,以防出现失误,干扰结果。并且,你要排除其他因素的影响,让她只受你所探究的变量的影响。)
- 预测实验的结果会是如何。(如果是确认型实验。观察型实验则另说)
- 将实验结果与预测结果相比对。(确认型实验,与预测相同,则ok,不相同,在实验过程没有失误的情况下,更改结论。)
- 对于观察型实验,则观察场景中出现的各项变化,然后总结出规律,将该规律作为探讨的问题,重新进行步骤1。
https://www.jianshu.com/p/d57a21383807