序列器是将场景 Actor 的运动和过场动画放在时间轴上的编辑器。制作出的每一个成果称为片段。片段通过世界逻辑的动作「播放动画」进行播放。服务器插件 NP Scene 会在游戏中播放同一片段。
片段中有两类轨道。
| 轨道 | 内容 | 面向谁 |
|---|
| Actor 轨道 | 场景 Actor 的位置 · 旋转 · 大小 · 显示 · 文本 · 颜色 | 所有人看到相同的运动。 |
| 主轨道 | 镜头切换 · 事件(信号)· 声音 · 标题 · 淡入淡出 | 按「播放动画」的「过场观看者」分别呈现 |
| 内容 | 位置 |
|---|
| 序列器 | 工具 › 序列器 (动画·过场)(下方停靠区域的「序列器」选项卡。也可在「窗口」菜单中打开) |
制作一个将门前的展示 Actor 在 3 秒内向旁边移动的片段。
- 打开序列器。
- 点击「片段」旁边的 + 新建片段(4 秒)。将名称改为
gate_open。
- 在大纲中选择要移动的展示 Actor。
- 将播放位置置于 0 秒,点击「添加关键帧」。勾选的属性(位置 · 旋转 · 大小 · 显示)的当前状态会成为关键帧。
- 点击时间轴刻度,将播放位置移到 3 秒。
- 打开自动关键帧按钮。
- 在视口中用操纵器(W)移动 Actor。3 秒处会生成位置关键帧。
- 按 Space 播放预览。Actor 实际上不会改变。
- 在世界逻辑规则中添加动作「播放动画」,并选择片段
gate_open。
| 部分 | 内容 |
|---|
| 第一行 | 选择片段 · 新建片段 · 复制 · 删除 · 名称 · 长度 ·「循环」· 播放按钮 · 区间循环 · 时间 |
| 第二行 | 吸附 · 自动关键帧 ·「摄像机视图」·「镜头预览」·「添加关键帧」及属性复选框 · 要创建轨道的 Actor · 属性 ·「轨道」 |
| 左侧树 | 「序列 (主轨道)」·「Actor 轨道」(Actor 组 · 属性轨道) |
| 右侧时间轴 | 刻度 · 关键帧 · 镜头条 · 标题 · 淡入淡出曲线 |
| 底部行 | 所选关键帧 · 条目的值 |
| 字段 | 含义 |
|---|
| 片段 | 选择要编辑的片段。含有主轨道条目的片段会标注「序列」。 |
| 名称 | 片段名称。 |
| 长度 | 以秒为单位的长度(最长 3600 秒)。 |
| 循环 | 开启后,结束时从头再次播放。在服务器上也会一直循环,直到执行「停止动画」。 |
不循环的片段结束后会停留在最后的姿态。
| 属性 | 值 | 含义 |
|---|
位置(pos) | x, y, z | Actor 位置 |
旋转(rot) | yaw, pitch, roll 度 | Actor 朝向 |
大小(scale) | x, y, z | 倍率 |
显示(visible) | true · false | 显示 · 隐藏 |
文本(text) | 文本 | 文本 Actor 的文字 |
颜色(color) | #aarrggbb | 颜色 |
创建轨道有三种方法。
- 在大纲中选择 Actor,然后点击「添加关键帧」。每个勾选的属性都会生成关键帧。
- 在「轨道」旁边选择 Actor 和属性,然后点击「轨道」。
- 从 Actor 组行的 + 菜单中添加属性轨道。
每个关键帧都有插值。关键帧的插值作用于从该关键帧到下一个关键帧的区间。
| 插值 | 含义 |
|---|
| linear 直线 | 以相同速度变化(默认)。 |
| step 阶梯 | 到下一个关键帧之前值保持不变。 |
| smooth 平滑 | 缓慢开始、缓慢停止。 |
- 显示、文本属性始终以阶梯方式变化。
- 旋转不做超过 360 度的处理。要从 350 度转到 10 度,请将关键帧设为 350 → 370。
- 多个片段驱动同一 Actor 的同一属性时,后开始的片段优先。
| 轨道 | 字段 | 含义 |
|---|
| 镜头切换 | 摄像机 · 混合(秒) | 从该时刻起以该相机 Actor 的视角观看。选择「玩家视角」则结束过场动画。混合大于 0 时,从前一个相机平滑过渡。 |
| 事件 | 信号 | 在该时刻发送信号。该名称的「收到信号时」规则会被执行。 |
| 声音 | 声音事件 · 音量 · 音调 · 位置 | 在该时刻播放声音。位置为空时为观看者所在位置。 |
| 标题 | 标题 · 副标题 · 停留 · 淡入 · 淡出 | 在该时刻显示屏幕标题。 |
| 淡入淡出 | 遮罩(0~1)· 插值 · 颜色 | 用颜色覆盖画面。0 = 透明,1 = 完全覆盖。整个片段只有一种颜色。 |
- 点击主轨道行的 + 会在播放位置添加条目。
- 没有镜头切换的时间为玩家自己的视角。
- 移动镜头的镜头,可在同一片段中加入该相机 Actor 的位置 · 旋转轨道来制作。
- 镜头的「操控此摄像机」会以该镜头的相机打开「摄像机视图」。
- 事件条目每次播放发送一次信号。循环片段每轮发送一次。「停止动画」之后不再发送。
- 片段结束后,淡入淡出遮罩会被撤去。
| 功能 | 作用 |
|---|
| 播放 · 暂停 | 预览。Actor 不会改变,只在视口中绘制姿态。声音条目为试听,事件条目以通知显示。 |
| 停止 | 停止并恢复原状。 |
| 区间循环 | 只循环播放刻度上的黄色区间。拖动手柄可更改。 |
| 吸附 | 将关键帧和播放位置对齐到 0.05 秒(服务器一刻)单位。按住 Shift 可暂时关闭。 |
| 自动关键帧 | 开启后,用操纵器移动 Actor 时会在当前时间生成位置 · 旋转 · 大小关键帧。移动和关键帧在撤销中为两步。 |
| 摄像机视图 | 将视口锁定为所选相机 Actor(没有时为当前镜头的相机)的视角。在视口中移动时相机 Actor 会跟随。开启自动关键帧时会生成关键帧。 |
| 镜头预览 | 播放和拖动时间时,镜头切换会移动视口相机。淡入淡出和标题也会叠加绘制。 |
| type | 类型 | 字段 | 作用 |
|---|
anim_play 播放动画 | 动作 | 片段 · 过场观看者 · 等待结束 | 从头播放片段。即使正在播放也从头开始。 |
anim_stop 停止动画 | 动作 | 片段 | 在当前位置停止,不恢复。事件条目和结束信号也会停止。 |
anim_finished 序列结束时 | 触发器 | 片段(为空时为任意片段) | 不循环的片段播放到结尾时执行。 |
- 「过场观看者」是观看主轨道(镜头 · 声音 · 标题 · 淡入淡出)的人。值为
player(触发者)· inside · world · radius。Actor 轨道始终对所有人可见。
- 开启「等待结束」后,下一个动作会在片段结束后执行。若为循环片段,则在一轮之后执行。
- 用「停止动画」停止时,不会发生「序列结束时」。
- 「序列结束时」规则继承播放规则的触发者。
自 0.9.7 起:新增「等待结束」字段和触发器「序列结束时」。事件条目的信号在运行预览中也会在准确的时刻发出。
| 选项 | 默认值 | 含义 |
|---|
| 循环 | 关 | 循环播放片段。 |
| 吸附 | 开 | 以 0.05 秒为单位对齐 |
| 自动关键帧 | 关 | 用操纵器移动时生成关键帧 |
| 镜头预览 | 开 | 镜头切换移动视口相机 |
| 「添加关键帧」属性复选框 | 位置 · 旋转 · 大小 · 显示 | 「添加关键帧」包含的属性 |
以下为焦点在时间轴上时的按键。
| 键 · 操作 | 动作 |
|---|
| Space | 播放 · 暂停 |
| ← · → | 前进 · 后退一帧(0.05 秒) |
| Home · End | 跳到开头 · 结尾(开启区间循环时为区间的开头 · 结尾) |
| F | 适配视图 |
| Ctrl+鼠标滚轮 | 以鼠标位置为基准放大 · 缩小 |
| Shift+鼠标滚轮 · 中键拖动 | 平移时间轴 |
| 鼠标滚轮 | 上下滚动轨道 |
| 单击 · 拖动刻度 | 播放位置 |
| 单击关键帧 | 选择关键帧(Ctrl · Shift = 追加) |
| 拖动空白处 | 框选关键帧 |
| 拖动所选关键帧 | 移动关键帧(放开时为一步撤销) |
| 双击行 | 在该时刻插入关键帧 · 条目 |
| 右键 | 插值 · 复制 · 删除 / 在此添加关键帧 · 粘贴 · 区间循环 |
| Ctrl+C · Ctrl+V | 复制所选关键帧 · 粘贴到播放位置 |
| Ctrl+A | 选择所有关键帧 |
| Delete | 删除所选关键帧 |
- 序列器预览是非破坏性的。停止或关闭选项卡后会恢复原状。
- 在编辑器运行中,「播放动画」会显示 Actor 轨道 · 事件 · 声音 · 标题 · 淡入淡出。镜头切换不改变视角,只做记录。镜头请用「镜头预览」确认。
- 相机 Actor 的 roll 和视场角(FOV)无法由原版客户端更改。服务器会忽略它们,只有编辑器预览会使用视场角。
- 位置关键帧在导出时会转换为以建筑最小角为基准的坐标。
- 在服务器上,观看过场动画的人按 Shift 即可跳过该过场动画。