动画

支持的动画:

  • 所有类型对象的变换动画

  • 姿势骨骼的变换动画

  • 形状键动画

  • 灯光动画

  • 摄像机动画

单个对象的多个动作

在大多数游戏中,一个对象会有几个动画来切换。这个插件支持将多个动作同时导出到单个 AnimationPlayer 中,使切换动作变得很容易。

此工作流程使用 Blender 的 nla_track。以下是如何使用此功能的简要指南:

1. 暂存活动动作

新创建的动作始终是绑定到对象的活动动作. 有几种方法可以在NLA轨道上放置活动动作, 一种当然是在 NLA编辑器

../../../_images/nla_editor.jpg ../../../_images/nla_pushdown.jpg

或者可以将动作暂存在 动画摄影表

../../../_images/dope_sheet.jpg ../../../_images/stash_action.jpg

2. 检查NLA轨道的静默状态

NLA轨道可以是 静默取消静默, 导出器将导出所有 静默 NLA轨道作为一个单独的动作, 将所有 取消静默 NLA轨道混合到输出的每个动作(包括活动动作)中.

../../../_images/nla_strip.jpg

3. 导出场景

确保开启 导出暂存动作 选项.

../../../_images/stash_action_option.jpg

所有暂存的动作,以及活动动作,都将导出到一个 AnimationPlayer 中。

../../../_images/in_godot.jpg

约束

有时使用对象约束构建复杂动画, 通常的示例是反向运动学. 插件会自动检查对象是否有某些约束;如果有, 则所有约束都被烘焙到对象具有的每个动作中, 然后导出.

动画模式

Godot 和 Blender 用不同的结构来存储动画数据。在 Godot 中,动画数据存储在一个 AnimationPlayer 节点中,与被动画的节点无关。为了修复这种不一致性,同时让动画发挥其功能,这个插件有三种动画导出模式。

“动画作为动作” 模式

将所有动画视为对象动作,因此在导出的场景中,每个对象都有自己的 AnimationPlayer 来存储其动作。

“场景动画” 模式

如果您希望动画生成与在 Blender 的时间轴上播放相同的结果,这就是您想要的。在此模式下,场景中的所有动画都只放置在场景根中的一个 AnimationPlayer 中。

“动画作为压缩动作” 模式

这种模式与“动画即动作”模式的行为非常相似,但它可以生成较少的 AnimationPlayer;父子关系的对象将共享他们的 AnimationPlayer。当您有多个装备,并且每个 Skeleton 和 Mesh 都有动作时,这种模式就很有用;那么一个装备就只有一个 AnimationPlayer。