如何旋转第一人称角色的上body(统一)

How to rotate upper body of a first person character (unity)

我正在 unity 中制作第一人称角色扮演游戏。所以,我有一个攻击动画,但它只攻击角色前面的东西。如何根据玩家的视线制作动画(例如,如果我向上看,角色应该向上而不是向前攻击)?我试过将第一人称相机连接到 body 的上部,这样它会随着相机旋转,但它会导致角色的网格拉伸和扭曲,而且动画甚至无法正常工作。

顺便说一下,这个角色是完全绑定的,有不同的行走动画,运行,以及使用 Unity 的 mecanim 的攻击动画。其他一切正常,我只是在处理这个攻击动画时遇到了问题...

这些事情主要由您的 IK 解决方案完成 您可能想使用 全身解算器 效应器 要为这些类型的动画获得半真实的动作,您可以使用 final-ik 它是一个预制的解决方案,或者您可以使用 unity 的 ik 系统编写自己的解决方案,但这需要很多时间

对于那些仍然想知道的人,我在 LateUpdate() 函数中更改了上半身的旋转。我创建了一个变量来跟踪最后一次完成的旋转,获取用户输入,然后根据用户输入 + LateUpdate() 中的最后一次旋转旋转上半身并更新最后一次完成的旋转。您必须始终旋转最后一圈,否则角色会变白并且上半身不会一直注视正确的位置。