Unity .dae错误地导入动画

时间:2013-07-04 13:58:21

标签: unity3d maya

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

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

<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“逐字”,完全没有变化。

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

这叫做Baked Animation。 Unity需要烘焙关键帧。尝试取消选中FBX导出设置中的Bake Animation复选框。但是,如果未烘焙动画曲线,则统一将无法正确解释您的动画。