动画

支持的动画:

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

  • 姿势骨骼的变换动画

  • 形状键动画

  • 灯光动画

  • 摄像机动画

单个对象的多个动作

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

此工作流程使用blender nla_tracks. 以下是如何使用此功能的简要指南:

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 中.

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

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