场景回放 — 运行、跳转、追踪和录制
运行场景所需的所有控制都集中在 LOGIC 卡片顶部的一行按钮中。场景运行由 esmini 编译成 WebAssembly 在你的浏览器中执行。

| 控制项 | 功能说明 |
|---|---|
| ▶ / ❚❚ | 启动或暂停运行。当运行时环境初始化时显示加载状态。 |
| ⏮ | 重置回起点。 |
| 0.00s | 模拟时间。运行时不断累加。 |
| 1x | 播放速率 — 0.25x、0.5x、1x、2x、4x。 |
| Follow: Off | 相机追踪目标 — Off(关闭)或场景中的任意对象。 |
| Ghost | 运动轨迹。打开弹出菜单选择间隔:OFF、0.25s、0.5s、1s、2s、5s。 |
| PASS / FAIL / RUN / IDLE | 判定徽章。详见 结束与失败条件。 |
卡片本身还有另外两个控制项:{x} 打开参数和变量面板,˅ 收起卡片以让画布获得全屏显示。卡片顶边是尺寸调整句柄(Resize Logic pane)— 当相位图需要更多空间时可以拖动它向上。
如果没有道路,播放控制条会显示提示:No road — draw a road or import .xodr,其中两个短语都是链接。
播放控制条下方是时间线。在首次运行前,它显示 Run ▶ to see the timeline。

运行开始后时间线会显示:
- 每个对象的时间块,显示该对象执行操作的时间段。
- 事件开始位置的标记。
- 当前模拟时间的播放头。
点击或拖动时间线上的任何位置可以跳转。跳转是精确的 — 每一帧都来自模拟,所以你落在的帧对每个对象都有确定的状态。这就是为什么回放可以用于审查:在切线的准确时刻暂停并检查几何数据,而不是在运行继续时猜测。
尺度上没有数字标记,运行跳转后从 0.00s 的数字显示读取时间。

Follow: Off 是默认设置,相机保持在你离开时的位置。下拉菜单列出 Follow: Off 以及每个对象的一条记录 — Follow: Ego、Follow: OverTaker 等。
对于较长的场景打开追踪。导入的道路网络通常长达数公里;如果不设置追踪目标,对象在几秒内会驶出视野,运行看起来像断掉了一样。

Ghost 按固定间隔在画布上绘制对象的轮廓,在其身后留下可见的运动轨迹。从弹出菜单选择间隔:OFF、0.25s、0.5s、1s、2s、5s。
因为时间戳按时间间隔均匀分布,它们在画布上的间距会反映速度 — 时间戳聚集表示制动,时间戳分散表示加速。这是查看速度曲线的最快方法,无需读取数字。
幽灵轨迹也会烘焙到图像和 SVG 导出中,所以你保存用于幻灯片的图表显示的是轨迹而不是单一帧。详见 路径和足迹。

| 徽章 | 含义 |
|---|---|
IDLE | 未运行。 |
RUN | 运行中,尚未触发失败条件。 |
PASS | 到达结束条件且未触发失败条件。 |
FAIL | 触发了失败条件;运行在该处停止。 |
触发失败条件时,徽章变为红色 FAIL,时间线上相应位置会出现匹配的 × 标记:

没有标记为”Run”的按钮 — ▶ 按钮启动场景,RUN 是它运行时显示的徽章。
汉堡菜单 → Export → Export video… 将运行录制为视频文件。导出在你的浏览器中进行,没有任何数据上传。宽高比和相机选项在 在浏览器中模拟 OpenSCENARIO 文件 中介绍。
Export 子菜单的其他选项也很有用:OpenSCENARIO (.xosc)… 用于导出场景、.xodr (OpenDRIVE) 用于导出道路、图像格式用于导出图表、Copy URL 用于获取可分享的链接。
导出场景为 .xosc
Section titled “导出场景为 .xosc”Export → OpenSCENARIO (.xosc)…(仅在场景模式中可用)不会立即下载 — 它首先打开一个小对话框:
| 字段 | 选项 |
|---|---|
| VERSION | OpenSCENARIO 架构版本 — 1.0、1.1 或 1.2(默认 1.1)。1.3 显示但被禁用(“敬请期待”),暂不可选。 |
| INCLUDE | .xosc 单独导出,或 .xosc + .xodr 一起导出(道路加故事板)。 |
| TARGET SIMULATOR | esmini 或 Generic。esmini 针对 esmini 运行时优化输出。 |
| FILE NAME | 文件的基础名称。 |
选择需要的版本和打包方式,然后确认下载。相比之下,旁边的 .xodr (OpenDRIVE) 项 立即下载,无对话框(默认名称 Untitled-<date>-<time>.xodr)。要进行完整的 esmini 往返导出,请参考 导出到 OpenDRIVE / OpenSCENARIO / esmini。
仅录制运行的一部分
Section titled “仅录制运行的一部分”RANGE 决定运行的多少内容会被保存到文件。它默认打开在 Full — 整个运行,和之前一样。切换到 Trim 可以录制一个片段:
-
打开 Export → Export video…,然后点击 Trim。
-
在寻径条上出现两个句柄,分别对应范围的两端。它们之间的内容会被录制;条的其他部分变暗。

-
沿着条拖动任一句柄,或将秒数输入到 Start [s] 和 End [s] 中。对话框在它们下方保持计数 —
5 s selected。
-
点击 Start。文件的时长将完全是你选择的范围。
拖动句柄时播放头保持活跃,所以你可以点击范围内的位置检查录制前的帧。
范围故意不被记住:每次打开 Export video… 时都会重新从 Full 开始。宽高比、相机和幽灵轨迹是样式设置并会保持,但范围与具体场景绑定 — 每次运行的长度不同,所以上次的秒数会在这里落在错误的位置。
如果没有任何动作
Section titled “如果没有任何动作”| 症状 | 可能原因 |
|---|---|
| 对象始终不动 | 尚未触发任何事件 — 检查触发条件的 SECONDS,或该事件的 Start 条件是否满足。 |
| 对象行进然后完全停止 | 它到达了道路的终点。延伸道路或导入更长的 .xodr。 |
| 对象立即驶出屏幕 | 追踪相机设置为 Off。 |
| Change Lane 事件触发但没有横向移动 | TARGET 仍然是 Same lane 且对象引用自己。参考 动作参考。 |
| 两个事件同时发生 | 两个触发条件仍都在 0.00 s。 |