Skip to content

编辑动画

本章节介绍如何在 Zephyr3D 编辑器中为节点创建、管理和编辑动画。 在开始具体步骤之前,先了解 Zephyr3D 中动画相关的几个核心对象。


1. 动画数据结构概述

在 Zephyr3D 中,每个节点都拥有一个动画集容器对象 AnimationSet,用于管理与该节点相关的所有动画资源。

  • AnimationSet

    • 挂载在单个节点上;
    • 作为该节点所有动画的集合容器。
  • AnimationClip

    • 表示一段完整的动画片段,例如:Door_Open、Camera_Move_01;
    • 每个AnimationClip中可以包含多个轨道。
  • AnimationTrack

    • 表示对某个属性的动画轨道,例如:

      • 位置轨道
      • 旋转轨道
      • 缩放轨道
      • 自定义数值/颜色属性轨道等
    • 每条轨道由多个关键帧组成,用于描述该属性随时间的变化。

关系可以概括为:

  • 每个节点 → 拥有一个 AnimationSet
  • AnimationSet → 包含多个 AnimationClip
  • 每个 AnimationClip → 包含一条或多条 AnimationTrack
  • 每条 AnimationTrack → 绑定到该节点上的某个可动画属性

2. 创建动画轨道的基本流程

在编辑器中,动画是从“属性”出发创建的: 你先选择节点,再在属性面板中对某个支持动画的字段创建对应的 AnimationTrack。

下面是完整的操作步骤。

步骤 1:选中要绑定动画的节点

  1. 在场景层级/视图中,选中需要添加动画的节点。
  2. 属性面板会显示该节点的所有可编辑属性(如位置、旋转、缩放、灯光参数等)。

注意:动画是绑定在该节点的 AnimationSet 上,所以请确认你选中的是目标节点本身


步骤 2:在属性面板中找到可动画属性

在属性面板中,所有支持生成动画轨道的属性字段左侧,会有一个标题为A的按钮:

  • 该按钮表示:

    “此属性可以创建动画轨道(AnimationTrack)”

  • 没有A按钮的属性,当前版本不支持直接为其创建动画轨道。

操作方式:

  1. 在属性面板中,定位到你想要添加动画的属性。
  2. 确认该属性左侧存在 A 按钮。

步骤 3:点击 A 按钮,创建轨道

  1. 点击该属性左侧的 A 按钮。
  2. 编辑器会弹出 创建轨道对话框,用于配置该属性对应的动画轨道。

在创建轨道对话框中,你可以:

  • 选择绑定于该节点的现有动画(AnimationClip
    • 从下拉列表中选择该节点 AnimationSet 中已经存在的某个 Clip;
    • 此时新轨道会被添加到该已有 Clip 中。
  • 或新建一个动画(AnimationClip
    • 输入新动画剪辑的名称(如 Door_Open, Light_Flicker 等);
    • 编辑器会在该节点的 AnimationSet 中创建一个新的 AnimationClip。

同时需要:

  • 输入该轨道的名称
    • 用于在动画/属性面板中标识该轨道;
    • 建议采用能体现用途的命名,如:
      • PosY_MoveUp
      • Intensity_Pulse
      • Door_RotateY 等。

确认无误后,点击 【确认】 按钮:

  • 会在所选 AnimationClip 中创建一条新的 AnimationTrack;
  • 该轨道会绑定到当前属性上。

步骤 4:在属性面板中选择轨道并打开编辑器

轨道创建成功后:

  1. 在属性面板的动画属性部分,可以看到该属性下关联的一个或多个动画轨道。
  2. 在此处选择刚刚创建的那条轨道。
  3. 点击 【编辑】 按钮(是一个编辑图标)。

执行上述操作后,会弹出 轨道编辑器(Track Editor) 窗口。

轨道编辑器是专门用于编辑该 AnimationTrack 的时间轴和关键帧的工具界面。


步骤 5:在轨道编辑器中创建 / 编辑 / 删除关键帧

在轨道编辑器中,你可以对这条AnimationTrack进行完整的关键帧编辑操作,包括:

  • 调整曲线属性(对于非颜色类轨道)

    • 展开Curve Settings面板
    • 调整属性值的范围(最小值,最大值),该属性影响曲线的展示
    • 调整曲线插值类型(LinearStepCubicSpline),该属性影响曲线的插值计算
  • 创建关键帧

    • 点击时间轴窗口,在该时刻创建一个关键帧
    • 当前时间点的属性值会被记录到 AnimationTrack 中,形成一个新的关键帧。
  • 编辑关键帧

    • 在轨道时间轴上选中某个关键帧:
    • 直接拖动关键帧左右移动以调整其时间;
    • 在主编辑界面中调整该属性的当前值(例如移动节点)或在属性/数值面板中修改该关键帧的具体值;
  • 删除关键帧

    • 右键单击关键帧可删除此关键帧
  • 动画效果预览

    • 在轨道编辑器中拖动红色竖线可预览动画效果

步骤 6:播放已创建的动画

可以通过以下两种方式播放动画:

  • 在属性编辑器面板中设置为动画选中自动播放,这样当该节点加载完毕后会自动循环播放指定的动画。
  • 在代码中手动播放:
ts
node.animationSet.playAnimation('Transform');

Released under the MIT License.