使用Unity中的人形动画类型,角色缓慢地向上移动

zou*_*yjs 2 c# animation avatars avatar unity-game-engine

我的启动项目中使用了一个海洋模型,该模型在运行时会失控地离地。我导入fbx资源,将动画类型设置为,humanoid并通过自动映射配置了头像,并设置了仅包含正在运行的动画的动画控制器。播放大约几秒钟后:

在此处输入图片说明

但是,当使用通用动画类型时,一切正常。在仍使用虚拟形象系统的同时,有什么建议解决此问题?

更新?

配置我的3D模型: 在此处输入图片说明

Ars*_*001 5

这显然是由根部运动引起的。发生的是,动画的一个循环使角色略高。将这些细微变化加在一起,您将获得所得到的。如果不需要根运动(看起来好像不是),请将其禁用(从动画师组件的设置中)。如果这样做,请编辑动画以确保其适合,或者禁用沿Y轴的根运动(您可以从动画的导入设置中执行此操作)。

如果您不知道什么是根运动,那就是在模型的根骨骼上应用了动画。显然,您无法创建角色在整个关卡中上下移动的完整动画,直到最近(尽管不是最近),才可以对角色进行就地动画,并通过代码按程序进行移动(我知道虚幻竞技场3使用的事实)这种方法,就像任何UDK用户一样)。然后,人们开始怀疑如何使角色更逼真地移动?我的意思是,这并不像您以4 km / h的恒定速度向前走,而是在步行周期的不同部分趋向于减速和加速。可以使用称为“根动”的技术将相同的内容应用于视频游戏角色。

通过根部运动,您实际上可以在动画过程中向前移动角色。这将导致动画在max或maya中看起来真的很糟糕,因为角色在循环后会立即回到其原始位置。但是,此数据在游戏引擎中被智能地使用:您不使用动画产生的绝对位置,而是从每两帧中获取其速度,并根据该速度移动角色(虚幻引擎实际上具有非常整齐的加速度模式,但我不太确定这与力度模式有何不同)。这将使您的角色以与动画相同的速度向前移动,因此您实际上可以为角色的移动以及肢体和关节设置动画。而且,由于你 重新使用速度而不是动画中的位置数据,它的外观将完全符合您的期望。如果您对此技术感兴趣,请查看他们在资产商店中拥有的Mechanim演示包。它充分利用了根部运动来移动角色。