动画

支持的动画:

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

  • 姿势骨骼的变换动画

  • 形状键动画

  • 灯光动画

  • 摄像机动画

单个对象的多个动作

在大多数游戏中,一个对象会有几个动画来切换。这个插件支持将多个动作同时导出到单个 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 and Blender have different structure to store animation data. In Godot animation data is stored in an AnimationPlayer node, instead of in each animated node. In order to fix this inconsistency and still make the animation play versatile, this add-on has three animation exporting modes.

“动画作为动作” 模式

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

“场景动画” 模式

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

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

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