根部运动后更新变换位置

时间:2019-09-04 12:40:59

标签: unity3d

我有一个动画,其中的角色爬升时带有根部运动(即,在动画过程中,角色通常向上移动几个单位)。它旨在一次拍摄,而不是循环播放。骨骼是相当标准的臀部>脊柱1,臀部>右腿,臀部>左腿等。根是臀部,枢轴在脚底之间。

我知道通常最好的做法是在没有根运动的情况下进行就地动画,但是使用Vector3.Lerp等编写向上运动脚本似乎是不现实的(实际上,例如,在攀岩时,向上运动会随着膝盖而周期性地爆发。首先弯曲,然后延伸,而不是向上不断移动),所以我想在动画中保持根运动。

问题是动画完成后,Unity仍认为变换枢轴位于其原始位置,而骨架爬升了两个单位。有什么方法可以指示Unity新的转换位置是动画结束后角色的脚已结束的位置吗?

我认为我可以将臀部作为一个空位,以使角色正常移动,在根部运动爬升之前将空位移开,以相同的量移动臀部,然后重新固定,但是有没有那么笨拙的方法?也许是某种transform.returnToOriginalOffset方法?

1 个答案:

答案 0 :(得分:0)

我不认为有解决此问题的简便方法。如果您尝试以这种方式实现根部运动,则看起来可能会很有趣。您可能最好尝试在没有根部运动的情况下使其看起来更好。您可以使用脚本为动画启用根运动,然后在动画完成后将其禁用。然后设置对象transform.position。虽然只是一个想法。尝试抓住这两个职位,以便顺利过渡。