关于Unity的根运动的相关事宜

首先,我们先测试一些数据,就拿模型的run动画举例,由于run改变的是xz方向,所以我们将目光锁定到这一栏

Bake into Pose与

两个bool,四个可能性,我们依次测试

1.Apply Root Motion=false&&Bake Into Pose=false 此时模型原地踏步

2.Apply Root Motion=false&&Bake Into Pose=true 此时模型将会跑出去然后回到原点

3.Apply Root Motion=true&&Bake Into Pose=true 此时模型依旧跑出去然后回到原点

4.Apply Root Motion=true&&Bake Into Pose=false 此时模型将会跑出去

此时我们再加一项,将我们模型的碰撞体加上,这里我选择的capsule Collider去实验,重新四个实验并观察碰撞体与模型锚点(transform)的变化。

实验结果发现,1,2,3的碰撞体与锚点均留在原地,而4的锚点和碰撞体将一同位移

对比结果我们可以发现,bakeIntoPose这一栏如果勾选上,其功能是将动画自带的位移矢量添加到动画上,并不改变模型本身的transform,没有勾选上时动画位移矢量会保存在动画中,但并不会显示出来。

而applyRootMotion是将动画自带的位移矢量给予给模型的锚点,带动整个物体的移动。

再看官方对动画变换的设定

Body transform与Root Transform

可以通过联想法记住两者的区别,apply root motion:应用到根才会带动锚点的移动,而body transform则为动画的变化

然后便是based upon按钮

1.

选中后将鼠标停留在上面会有两行小字,

分别代表保持原动画的旋转度和保持前半身向前。(由于没有找到合适的动画测试,所以是猜测)由于根的方向为上半身的方向与下半身方向的插值,这一项可能代表,假如动画旋转的时候是朝向根方向还是上半身方向,(建议会模型的大佬建一个上半身与下半身方向差90度的模型进行测试)

2.

三项解释分别是:保持源文件中撰写的垂直位置,保持质心与跟变换位置对齐,保持脚与根变换的对齐,尝试点击第二项发现模型直接“半身入土”,可能由于根位置在脚底的缘故,第一三项会发现第三项稍微降低一点,第三项更加贴近地面(大概?)

3.

与2类似,大概理解为质心xz位置是动画作者设定的位置还是与根位置对齐

---------------------------

有错误望指正,祝好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值