https://viniguerrero.itch.io/godot-game-tools
Godot Game Tools - GGT 发布页
 
https://www.youtube.com/channel/UCbEKIr_SrQriVr2zNnVTHTg
作者的油管主页
 
https://www.acfun.cn/v/ac33413682
我自己录的流程

1.1 下载安装

通过发布页下载到安装包之后
打开 blender 偏好设置

点击安装

找到 GGT 的根目录

找到根目录下面的 godot_game_tools.zip 点击安装

安装成功如图所示

1.2 导入模型添加动作

点击初始化角色

随便去 mixamo 上面下载一点什么,这时就选择下载好的 fbx

添加模型之后如图所示
它确实不是所有模型都能尽善尽美

添加动画如图所示

也不是所有动画都能正常导入
我遇到了一个情况是,导入了一个动作之后,整个模型就不显示了
这样的话就把世界层级的 collection 全删了,然后重新 initialize,之前导入的正常的动作是不用删的

然后给所有的动作添加根节点

1.3 从 Blender 导出

1.4 导入 Godot


将 gogot_game_tools 拖入 godot 的文件系统

再去项目设置里看
哦,没有

看了一下,它是需要文件夹名字叫 addons
依赖都是按照 addons 文件夹名的,算了,为了不改依赖,还是就是这个命名吧

启用之后如图所示

接下来我看教程是可以导入一个 json,但是我这里由 Blender 导出之后没有这个 json
之后我就自己琢磨了

1.5 RootMotion 位置错误的修改方法

我在 Blender 里面就注意到的根节点的位置不对,果然,可以在 Godot 中看到角色那个根节点是在角色外面的

于是我又重新在 Blender 里面导出了角色,这次没有加 Root,就会有位移

root 的问题还是必须解决,因为在 godot 中更改不了骨骼
我就想,能不能不用 rootmove 骨骼

我找到骨骼的世界层级,看了一下,最高层是 hips,我就用了 hips 填入 root bone,是可以的
所以我就不懂为什么他就会生成一个 rootmove 骨骼

再导出,还是变成了与原点有偏移的样子

之后我就随便调,想着能不能移动 rootmotion 的位置。结果是不行的,因为 rootmotion 被他设置为了最高的父级,所以我就想着移动 rootmotion 的子骨骼,还真的成功了
更神奇的是,这个工具自己添加的 rootmotion 就在模型中心 1m 的地方,这让我怀疑它就是故意设置成这个 1m 的偏移的,毕竟,不是所有模型都有把 rootmotion 放在模型中心的需要,并且放在中心也可能被模型本身挡住

修改方法为:

进入姿态模式,全选帧

然后移动 rootmotion 的子节点 1m,移到 rootmotion 的地方

在 骨骼属性 里面修改,回车

再回到物体模式,就能看到原来的动画的 rootmotion 进模型里去了

之后我又不能用这个全选再修改的方法做了。虽然我不太懂,但是感觉应该是被人已经做好了关键帧的问题
我打开曲线编辑器把 Z 位置的关键帧都删掉,然后再自己首尾新加关键帧就好了







最后记得把 Amateur 移动回原点,所有的动画就都处理完了

导出的时候可能遇到一点麻烦就是
在 Blender 中看到的是正常的动画

但是通过 GGT 导出的 GLTF 文件导入到 Godot 中,原点显示会错误

但是如果使用 Blender 导出 GLTF 就不会有错误

1.6 模型缺少网格的修复方法

使用 GGT 初始化拥有多个网格部分的模型,结果出来可能它就只识别到一个网格
那就只能自己手动重新导入一遍,然后添加完整网格和骨骼的关联了

首先使用 Blender 的导入,导入模型,获得完整网格

然后把完整网格的 Armature 修改器关联到 GGT 创建出来的骨骼

然后父级也设置到 GGT 的骨骼

现在应该是这样子的

两个都缩放到 0.01,因为 GGT 的设置就是 0.01
实验出来跟 GGT 的也是一样的大小

然后旋转,然后,嗯
好的,动不了

上网搜了一下,他们绑骨都用 ctrl+p
我看着跟设置父级是一样的,只是他那里可以设置权重

所以应该是我权重的问题
比如我要是嗯设自动权重,跑出来就是

这样的话,我又不想自己做权重,那就只能借助 GGT 了

我觉得这个可能是因为我改了骨骼的姿态才导致的,所以我得试试一开始导入之后,立即绑完整网格

……

后来我新建一个文件,初始化又米有问题了
很神奇
那就不管了

1.7 Tirm 新动画的方法

不知道为什么,不能够直接把一个动画的关键帧复制到另外一个动画上,这样的话,我想要新建一个动画就不能在已有的动画上面粘贴了,必须要用 GGT 提供的 Trim
但是他这个 Trim 很奇怪,因为他要选择的帧数的下标比时间轴的帧数少1(如果相等的话,在需要截取末尾的时候就会告诉你没有这一帧,比如我想要截时间轴的 23~26,末尾是 26,然后在 Trim 中输入 23 到 26 是非法的)

1.8 可能遇到的报错

Python: Traceback (most recent call last):
File “C:\Users\18221\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\src\operators\export_character_controller.py”, line 98, in execute
if target_armature[“animation_tree_preset”]:
KeyError: ‘bpy_struct[key]: key “animation_tree_preset” not found’
location: :-1

说实话不懂
我应该是没有选择什么关于 animation_tree 的操作的
反正即使有这个报错,也能够成功导出 gltf

1.9 更好的解决方法:不使用 GGT 自带的 RootMotion

我感觉每次用它的 RootMotion 都会要整一大堆东西,还很多错
而且 RootMotion 和 Hips 都是单节点,Hips 完全可以代替 RootMotion 的作用
试了一下,确实如此,在使用 GGT 导入动画之后,直接切换到每个动画,对着 HIps 的坐标改就完事了,省去了一大堆东西

[Godot] Godot Game Tools - GGT v2.0.4 使用记录相关推荐

  1. TCP聊天文件服务器v2.0 - 重大bug修复+PyQt5文件传输可视化

    TCP聊天+传输文件服务器服务器套接字v2.0 所有版本记录: v1.0 : TCP聊天服务器套接字|PyQt5+socket(TCP端口映射+端口放行)+logging+Thread(含日志,htm ...

  2. CMakeLists.txt V2.0

    CMakeLists.txt V2.0 最简单例子 分include src目录 多个模块加载编译 CMakeLists.txt 添加arm-gcc 最简单例子 main.c #include < ...

  3. Git和GitHub学习笔记 V2.0(更新中...)

    文章目录 1. 什么是Git? 2. 为什么要使用Git? 3. Git和Svn的区别 4. Git的历史 5. 版本控制工具应该具备哪些功能 6. 安装Git 7. Git的三区和三种状态 8. G ...

  4. Palisade Decision Tools(Risk) 7.0 1CD风险与决策分析工具套件

    Palisade Decision Tools(Risk) 7.0 1CD风险与决策分析工具套件 Proteus Design Suite v8.4 SP0 1CD PCB设计软件带高级模拟仿 MPM ...

  5. 教你使用 Reflector中的Reflexil插件反编译.NET,修复Help Viewer v2.0 - Error: .cab未经Microsoft签名

    教你使用 Reflector中的Reflexil插件反编译.NET,修复Help Viewer v2.0 - Error: Cab was not signed 1. 下载.NET Reflecto并 ...

  6. ANA 2 优化版含预设 – Sonic Academy ANA 2 Bundle v2.0.94 WiN

    ANA2 Slate Bundle v2.0.94 WiN| 1.78 GB 一键安装优化版,已包含官方预设和第三方预设合集 我们高度期待的发布终于在这里!我们已经花费了数千个小时来重建和重新设计AN ...

  7. 银狐在线 YhLiveXP Plus V2.0

    银狐在线 YhLiveXP Plus V2.0     说明:这个地址是1月12日重新提供..官方提供! thunder://QUFodHRwOi8vZnRwLnlobGl2ZS5jb206MjA2N ...

  8. Error:The SDK Build Tools revision (23.0.3) is too low for project ':app'. Minimum required is 25.0.

    导入github上项目的时候出现 Error:The SDK Build Tools revision (23.0.3) is too low for project ':app'. Minimum ...

  9. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    "System.IO.FileLoadException"类型的未经处理的异常在 XXX.dll 中发生 其他信息: 混合模式程序集是针对"v2.0.50727" ...

最新文章

  1. OBJECT subcommand [arguments [arguments ...]]
  2. Failed to load module script: The server responded with a non-JavaScript MIME type of “text/plain“.
  3. 面试官问:能否模拟实现JS的new操作符
  4. 为什么 Redis 要比 Memcached 更火?
  5. 【Codeforces Round #442 (Div. 2) A】Alex and broken contest
  6. python3 网站状态监控_基于python3监控服务器状态进行邮件报警
  7. wxpython使用简介_wxpython简介
  8. 互联网大厂、架构设计、稳定性、高可用、必备知识点技能,进大厂必备!!快来瞧瞧吧
  9. Linux---生产者与消费者模型
  10. php对象复制,PHP 对象复制 - 对象复制 - phpStudy
  11. 关于信号处理中的复信号
  12. 教妹学Java:数组打印最优雅的方式deepToString
  13. 如何给word文档添加注释
  14. 计算机python考试真题及答案新课标_CCF计算机职业资格认证考题答案详解(Python)...
  15. Android自定义Transition动画
  16. java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id null at org.spr
  17. 菜鸟必看IPC空连接的使用(转载)
  18. 使用LIS2DH12三轴加速度传感器检测震动与倾斜角度
  19. 线程上下文切换扫盲文
  20. 3步实现 华为云服务器IPV4-> IPV6改造方法

热门文章

  1. Mac下使用Xquartz连接CentOS的Xdm服务器
  2. 外卖点餐 堂食点餐 扫码点餐源码 点餐APP源码
  3. 英特尔® 驱动程序和支持助理 (intel-driver-support-assistant) 安装后无法扫描电脑硬件驱动解决
  4. Latex Error: Misplaced alignment tab character
  5. 最新web/springboot打造通用的短信验证码微服务(详细)
  6. .NET开源工作流RoadFlow-表单设计-保存与发布
  7. 快来给你个人微信公众号认个证吧
  8. 传值和传引用(米斯特吴22)
  9. 使用正则表达式来匹配URL或者网址
  10. 视频监控 智能交通 数据集(目标检测、跟踪)