版权声明:本文为 CSDN 博主「开发游戏的老王」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
前言
原作
在油管上看到的教程 How to use Blender Shape Keys in Godot,作者是 Dave the Dev
环境
Blender 2.82 Alpha + Godot Engine 3.2 Beta
正文
形态键(Shape Key),在有的软件中也被称作 Blend Shape 或者 Morph target ,这个东西可以用于做动画,也可以用于制作参数化模型。为游戏中某些功能的实现提供了更方便快捷的方法(比如你要做一个类似 MetaHuman 那样的捏人儿系统,可以让玩家自己设定主角的形象)。
设置 Blender 的形态键位置在这里,似曾见过,从没用过
下面是一个简单的例子
Blender 中的步骤
-
新建一个经纬球
-
在其
物体模式
下,先添加一个形态键,默认名是Basis
,用这个形态键记录网格当前(原始)的状态
- 再添加一个形态键, 我把它更名为
Breath
,注意点击右下方的形态键编辑模式
的按钮,并把值
设置为 1。然后进入物体的编辑模式
,用软选择笔刷随意调整一下形状
4. 在 Blender 中的工作就做完了,退回到
物体模式
下,调节一下 值
,看下效果。
所谓 形态键 就是创建了一种 相对于原始形态的形变形态 ,而 值 就是这 两种形态之间的过渡程度。
导出
注意: 教程中使用的是用 godot-blender-exporter 插件导出 escn 文件,我尝试导出的时候一直报错,最终选的是 Blender 自带的 gltf 格式导出方式。总之,不管导出什么格式,关键 要勾选形态键的选项
导入到 Godot 中
在 MeshInstance 下面就出现了一个 Blender Shapes 栏目,下面的那个 Breath
就是我们之前在 Blender 中定义的那个形态键。
并且这个形态键会被自动解析为一个 属性(Property)。在 GDScript 中我们可以通 Object
基类中的 get
和 set
方法调用它。也可以在 Editor 中通过改变 Breath
的值改变这个网格的形状
接下来,是做动画还是做参数化集合体就任君选择了