在Blender中,我为Godot游戏中的一个简单机器人角色建模、纹理化和动画化了一个空闲动画。使用KhronosGroup的Blender gltf导出器,我成功地将网格、材质和动画导出到一个.glb文件中,然后成功地将其导入Godot 3.0.3。没有任何问题。
我选择了Autoplay on Load
按钮,并通过选择其相应的按钮来启用循环。然而,当我运行游戏时,动画确实在加载时播放,但它没有循环。对于Collada导入,只需按下循环按钮即可使其循环。.gltf/.glb文件是否存在使循环选项不起作用的不同之处?
我已经广泛搜索了Godot、gltf导出器的文档,以及一些谷歌搜索和教程,但似乎没有一个涵盖这个问题,因为大多数人都使用Collada(.dae(文件。但出于不同的原因,如果可能的话,我想使用.glb文件。我还想避免使用代码强制循环属性,但如果这是唯一的可能性,那么就是这样
编辑:
我终于找到了一个名为set_loop(bool)
的函数,它可以设置动画是否循环,允许用这行代码成功设置循环:$AnimationPlayer.get_animation("Animation_Name").set_loop(true)
然而,如果可能的话,我仍然希望在编辑器中设置这一点;它并不是那种需要在代码中设置的东西。
我遇到了和你一样的问题。
首先更新Blender中的gltf导出插件。之后,在Blender中,将动画隐藏在动作编辑器中。在NLA编辑器中,为相应的动画名称重命名动画条带。例如";空闲";动画
在disire动画循环中-循环;端带名称中的热学。
完成,导出带有动画的gltf。在godot动画中-循环;thermology,Godot编辑器中的循环将默认启用。
这是一个老问题,但我希望它能帮助新的开发人员。