问题: 当导出到 glTF 以在 Godot 中使用时,仅正确导出 NLA 编辑器中的顶部动画轨道。所有其他动画均已损坏且未对齐。
我的项目中有三个骨架:枪、左臂、右臂。手臂上有“约束之子”骨骼约束,将它们连接到枪上。
我已将所有动画推送到 NLA 轨道上。
我尝试过的事情:
单独导出每个动画并稍后在 Godot 中组合它们。干净的动画在粘贴到不同的 AnimationPlayer 节点时会中断。
烘焙动画。不完全确定正确的方法是什么,但我尝试过以多种方式进行烘焙,从对象和姿势模式,通过删除和维护约束,通过覆盖动作或不覆盖动作,它要么没有什么区别,要么延伸网格面目全非。
更改导出设置。它们似乎都没有什么区别。 “使用当前帧”必须打开。
应用变换。嗯,对网格应用变换不会造成任何损害,但不会发生任何变化。对骨骼应用变换会让它们飞到 3D 视图的每个角落。
单击约束子修改器上的应用。当我这样做时,对象会失去所有动画。
每帧手动设置关键帧。什么都不做。
不使用 NLA 导出。
我怀疑子约束与所有东西的错位有关,特别是考虑到早期的项目没有使用这样的修改器,并且导出了大约 10 个独特的动画。我真正不明白的是为什么只有一个动画能够完美导出。
我感谢任何和所有的帮助! 项目链接(谷歌驱动器)
我为迟到了三个月表示歉意,但是无论任何可能通过谷歌路过并看到此内容的人,我都会发布我的解决方案。
我的动画设置如下:
我成功地将所有动画正确导出到 Unity,如下所示:
完成此操作后,尝试测试动画是否可以在没有父骨骼(其他骨骼曾经被“Child Of”约束)的情况下正常工作。
如果您有多个动作,则更改为要烘焙的下一组动作,将所有“Child of”约束的影响力设置回 1,然后重复上述烘焙动作的过程。
为了导出,我将每个骨架的每个动作作为单独的 NLA 条带(也就是说,在枪支装备上有一个射击动作条、一个重新加载动作条等,而在手臂装备上也有一个射击动作条)动作条、重新加载动作条等。)
然后我将 NLA 片段导出到 .FBX 中。当导入到 Unity 中时,这就像一个魅力。我有一些来自左/右臂对象的重复动画,但当我注意到它们统一时,我刚刚删除了它们。
希望这对某人有帮助。而且,如果您正在阅读本文,您很可能已经在 YouTube 上找到了此播放列表,但无论如何我都会发布它,因为它包含有用的导出建议以及一般 FPS 动画提示和技巧。 https://youtube.com/playlist?list=PLn8ROcXT8fZgjdv4w6FczF8ziXkavUxdu