【发布时间】: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 但还有其他问题。我可以测试一下它是否修复了动画