【问题标题】:Unity3D 4 - imported animated fbx model interferes with physicsUnity3D 4 - 导入的动画 fbx 模型干扰物理
【发布时间】:2013-01-19 12:07:29
【问题描述】:

我有一个 .fbx 格式的导入模型,带有预烘焙的动画。我想将物理应用于模型,但是播放动画似乎会干扰物理

当动画播放时,模型不会“坠落”/碰撞,但如果我在检查器中取消选中“动画”,我的模型会对应用于游戏对象的物理刚体/网格碰撞器做出正确反应,但在我切换的那一刻回到动画上,模型会回到原来的起始位置(但会正确播放动画)

我做错了什么?

编辑:这是我所说的“动画”复选框:

【问题讨论】:

    标签: animation import unity3d physics fbx


    【解决方案1】:

    我有点不确定您指的是这个“动画”复选框,但我有一些预感可以探索。

    Unity 的物理和碰撞有很多种风格,但并不是所有的都能很好地融合在一起。刚体适用于任何与物理相关的东西,但它附带了大量的字符串。例如,刚体的唯一碰撞与其他刚体 (see bottom)。听起来你想将你的物理东西作为玩家或敌人或其他东西移动。 RigidBodys 在这方面好坏参半。

    刚体组件需要使用的设置是“.isKinematic”。启用此选项会关闭刚体的物理模拟,而角色控制器或其他任何东西都将作为默认设置。查看此脚本以切换物理,以便您的角色可以推动东西:http://answers.unity3d.com/questions/17566/how-can-i-make-my-player-a-charactercontroller-pus.html

    要记住的另一件事是,您的模型不应在动画中在世界范围内变换。任何转换都需要由您的游戏行为来处理。

    【讨论】:

    • 感谢您的回复。不确定您的意思是我的模型不应该在动画中在世界范围内变换?似乎动画本身包含了某种物理力或变换,我的场景中有另一个模型,动画“当场”移动,我可以让它平移/与物理碰撞,没问题,它仅在使用此特定模型时,我才遇到奇怪的行为。顺便说一句,我已经用我正在谈论的动画复选框的屏幕截图更新了我的问题。
    • 似乎你已经明白了,但基本上我的意思是运动动作应该“就地”发生,这听起来就像你正在做的那样。请记住将您的解决方案标记为此类!
    【解决方案2】:

    我能够通过遵循this advice 并制作一个空的游戏对象作为容器来解决它,将刚体/网格对撞机/脚本添加到容器游戏对象中,然后将我的模型添加为那个游戏对象。这样脚本中应用的变换就会应用到容器上,动画不再影响模型的移动!

    【讨论】:

    • 如果您使用的是新的动画师,那么您可以使用头像遮罩并确保地平面为红色。这将保持动画形式移动模型
    • FWIW,我在 Unity 5 中遇到了类似的问题,其中动画影响了我导入的特定模型的物理,但没有其他模型。事实证明,我不得不取消选中有问题的 Animator 上的“Apply root motion”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 2015-11-22
    • 2011-08-19
    • 1970-01-01
    • 2018-09-13
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多