当前位置: 代码迷 >> 综合 >> Godot Engine:街霸隆的动画(Idle/波动拳/升龙拳)导入步骤以及运行时的简单切换
  详细解决方案

Godot Engine:街霸隆的动画(Idle/波动拳/升龙拳)导入步骤以及运行时的简单切换

热度:88   发布时间:2024-03-08 02:06:56.0

文章目录

      • 效果展示
      • 0. 动画准备
        • Idle动画
        • 波动拳
        • 升龙拳
      • 1. 导出模型与动画
        • 1.1. 隐藏不必要的集合
        • 1.2. 以glTF格式导出
      • 2. 导入Godot Engine
      • 3. 模型提取以及动画数据的提取与加载
        • 3.1. 模型提取
        • 3.2. 动画提取及加载
        • 3.3. 动画加载
        • 3.4. 动画设置
          • 设置默认动画
          • 设置循环动画
      • 4. 场景搭建
      • 5. 简单的动画切换

效果展示

在这里插入图片描述

0. 动画准备

Idle动画

在这里插入图片描述

波动拳

在这里插入图片描述

升龙拳

在这里插入图片描述

1. 导出模型与动画

这三个动画全是用的同一个绑定,下载地址见Blender Rigify版街霸角色隆(Ryu)

导出设置

1.1. 隐藏不必要的集合

只有下图红框中的内容是需要导出的,其它内容一律放到其它集合中并取消勾选
在这里插入图片描述

1.2. 以glTF格式导出

以FBX格式导出也是可以的,只不过导出到Godot中解析出的场景结构会略有不同

在这里插入图片描述

注意: 一定要勾选 仅导出形变骨骼,否则后果不堪设想

在这里插入图片描述
导出完毕后,得到如下三个文件

在这里插入图片描述

2. 导入Godot Engine

如果你的项目使用了git管理,老王建议你把这三个glb文件先导入一个被gitignore的文件夹

导入后
在这里插入图片描述

3. 模型提取以及动画数据的提取与加载

3.1. 模型提取

这三个glb文件中的模型是相同的,所以提取其中一个就可以

双击Ryu Idle.glb

在这里插入图片描述打开以后

在这里插入图片描述

Ctrl + S另存为tscn文件

在这里插入图片描述

清除继承

在这里插入图片描述
清除继承以后“Ryu Idle”的子节点都从灰色变亮了

在这里插入图片描述

顺便把“Ryu Idle”更名为“Ryu”

在这里插入图片描述

3.2. 动画提取及加载

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
导出后的动画文件

在这里插入图片描述

其它的3个glb文件中的动画也这样导出就可以

导出后的动画文件

在这里插入图片描述

3.3. 动画加载

选择Ryu.tscn文件中的AnimationPlayer,它里面只有1个动画

AnimationPlayer的本质就是一个动画的容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4. 动画设置

设置默认动画

本例中默认动画为隆的Idle动画
在这里插入图片描述

设置循环动画

有些动画是循环动画,比如隆的Idle动画(设置方法见上图)

4. 场景搭建

这个场景的搭建见《Blender图解教程:人肉三维重建 之照着图片扣个街霸本田澡堂子》

在这里插入图片描述

在这里插入图片描述

5. 简单的动画切换

篇幅的原因,本文仅实现一个通过单一按键来触发必杀的效果,后面的教程中,老王将结合《Godot Engine:格斗游戏中的必杀技(大招/绝招/特殊技/Special Move )输入系统实现》以及状态机实现更复杂的动画控制

在Ryu上添加一个代码
在这里插入图片描述

代码

extends Spatialonready var anim = $AnimationPlayerfunc _process(delta):if Input.is_action_just_pressed("ui_j"):anim.play("Hadoken@Ryu")if Input.is_action_just_pressed("ui_k"):anim.play("Syoryuken@Ryu")

在这里插入图片描述

  相关解决方案