【问题标题】:Unity .dae importing animations incorrectlyunity .dae 导入动画不正确
【发布时间】:2013-07-02 13:45:55
【问题描述】:

我在将 Maya 导出的 .dae 文件导入 Unity3D 时遇到问题。

动画有几个关键帧(大约 20 个),可以在下面的 .dae sn-p 中看到

<animation>
    <source id="Idle_RHD-translate-animation-inputY">
      <float_array id="Idle_RHD-translate-animation-inputY-array" count="13">

0.000000 0.066667 9.933333 10.000000 19.966667 24.433333 28.766667 28.833333 33.200000 36.433333 40.500000 43.900000 53.333333</float_array>
      <technique_common>
        <accessor source="#Idle_RHD-translate-animation-inputY-array" count="13">
          <param name="TIME" type="float"/>
        </accessor>
      </technique_common>
    </source>
    <source id="Idle_RHD-translate-animation-outputY">
      <float_array id="Idle_RHD-translate-animation-outputY-array" count="13">

1.602632 1.602632 0.183871 0.183871 -0.009894 -0.009894 0.541865 0.541865 -0.057921 -0.321000 -0.459515 -0.211902 1.602632</float_array>
      <technique_common>
        <accessor source="#Idle_RHD-translate-animation-outputY-array" count="13">
          <param name="Y" type="float"/>
        </accessor>
      </technique_common>
    </source>
    <source id="Idle_RHD-translate-animation-intanY">
      <float_array id="Idle_RHD-translate-animation-intanY-array" count="13">

0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -0.244109 -0.038415 -0.039776 0.227513 0.000000</float_array>
      <technique_common>
        <accessor source="#Idle_RHD-translate-animation-intanY-array" count="13">
          <param name="Y" type="float"/>
        </accessor>
      </technique_common>
    </source>
    <source id="Idle_RHD-translate-animation-outtanY">
      <float_array id="Idle_RHD-translate-animation-outtanY-array" count="13">

0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -0.180752 -0.048316 -0.033255 0.631237 0.000000</float_array>
      <technique_common>
        <accessor source="#Idle_RHD-translate-animation-outtanY-array" count="13">
          <param name="Y" type="float"/>
        </accessor>
      </technique_common>
    </source>
    <source id="Idle_RHD-translate-animation-interpolationY">
      <Name_array id="Idle_RHD-translate-animation-interpolationY-array" count="13">
BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER
BEZIER BEZIER</Name_array>
      <technique_common>
        <accessor source="#Idle_RHD-translate-animation-interpolationY-array" count="13">
          <param type="name"/>
        </accessor>
      </technique_common>
    </source>
    <sampler id="Idle_RHD-translate-animationY">
      <input semantic="INPUT" source="#Idle_RHD-translate-animation-inputY"/>
      <input semantic="OUTPUT" source="#Idle_RHD-translate-animation-outputY"/>
      <input semantic="IN_TANGENT" source="#Idle_RHD-translate-animation-intanY"/>
      <input semantic="OUT_TANGENT" source="#Idle_RHD-translate-animation-outtanY"/>
      <input semantic="INTERPOLATION" source="#Idle_RHD-translate-animation-interpolationY"/>
    </sampler>
    <channel source="#Idle_RHD-translate-animationY" target="Idle_RHD/translate.Y"/>
 </animation>

但是,当 unity 获取该文件并在动画窗口中查看它时,每一帧都有一个关键帧。这会导致动画出现问题。

我们不能使用帧减少,因为这实际上会丢失动画中一些必不可少的小细节。

我们所需要的只是统一阅读 .dae “逐字”,完全没有变化。

有人知道怎么做吗?

【问题讨论】:

  • 您是作为“旧版”导入还是使用 Mecanim?
  • 通常 FBX 是将模型和动画导出到 Unity 的更好格式。 Autodesk 有免费的插件供 Maya 以该格式导出。他们甚至有一个将 .obj 和 .dae 转换为 .fbx 的应用程序。
  • 嗨,目前这是 unity 3,但我们正在进入 unity 4。我可以探索 mecanim,看看会不会更好。
  • 对于第二条评论,我相信我们已经尝试过 .fbx 但还有其他问题。我可以测试一下它是否修复了动画

标签: unity3d maya


【解决方案1】:

这称为烘焙动画。 Unity 需要烘焙的关键帧。尝试取消选中 FBX 导出设置中的烘焙动画复选框。但同样,如果动画曲线未烘焙,unity 将无法正确解释您的动画。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-05
    • 2013-08-17
    • 2019-08-30
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2011-05-12
    相关资源
    最近更新 更多