您当前的位置: 首页 >  动画

开发游戏的老王

暂无认证

  • 2浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Blender图解教程:导出glTF骨骼动画到Godot引擎的流程与注意事项(4月29日补充Action和网格丢失的处理办法)

开发游戏的老王 发布时间:2020-04-27 20:50:58 ,浏览量:2

Blender2.82a Godot Engine 3.2.1stable 老王感觉目前来讲Blender到Godot的工作流中,还是glTF支持得最好

文章目录
        • 1. 导出
        • 2. 导入Godot
        • 3. 把glTF转换成tscn
        • 4. 清除继承(非常重要)
        • 5. 动画设置
        • 6. 关于Action丢失和网格丢失的处理办法
          • Action丢失
          • 网格丢失

1. 导出

导出选项中选择导出glTF2.0(.glb/.gltf) .glb是二进制格式 .gltf是文本格式

在这里插入图片描述

导出设置,注意要勾选仅导出形变骨骼 在这里插入图片描述

导出的gltf文件中包含着导入Godot所需的所有信息(网格模型、骨骼动画以及材质)

在这里插入图片描述

2. 导入Godot

直接拖拽到Godot中,材质文件会被自动解析出来 在这里插入图片描述

3. 把glTF转换成tscn

双击gltf文件,然后点击新建继承,打开这个场景 在这里插入图片描述 这时你会发现根节点以下的节点都是灰色不可编辑的 在这里插入图片描述Ctrl + S把这个场景保存成tscn格式 在这里插入图片描述

4. 清除继承(非常重要)

然后在这个场景的根节点右键,选择清除继承

在这里插入图片描述 清除继承关系以后,子节点都可以编辑了

在这里插入图片描述

5. 动画设置
  • 这时我们就可以为角色添加AnimationTree了(如果需要的话)
  • 并且此时再设置AnimationPlayer中的默认动画以及循环动画才会生效。

在这里插入图片描述

在这里插入图片描述

6. 关于Action丢失和网格丢失的处理办法
  • Action丢失

有时候我们按照上述方法导出动画并导入引擎,发现Blender中的多组动画片段只导出了一个。

解决办法: 这是因为导出glTF格式时,光给Action添加一个伪用户还不行,能够导出的Action必须隶属于某一个NLA Stack,所以如果发现有动画丢失,点击存放,然后重新导出就可以了。

在这里插入图片描述

  • 网格丢失

这也是老王偶然发现的,比如下面这个例子

在这里插入图片描述

最初花盆部分不隶属于任何骨骼(顶点组),结果导出以后花盆是丢失的。

解决办法:

进入骨骼的编辑模式,新建一个独立的骨骼,本例中我将它命名为"pot"

在这里插入图片描述

然后进入网格的编辑模式,为它添加一个名为"pot"的顶点组,然后把花盆指定给"pot"顶点组。换句话说,当前Blender2.82a 的glTF导出插件在遍历导出对象的时候,貌似是从一个根节点开始遍历,这样当根节点为骨骼的时候,不隶属于任何骨骼的网格是遍历不到的,所以要给它一个骨头 在这里插入图片描述

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0438s