跳转到内容

场景回放 — 运行、跳转、追踪和录制

运行场景所需的所有控制都集中在 LOGIC 卡片顶部的一行按钮中。场景运行由 esmini 编译成 WebAssembly 在你的浏览器中执行。

运行中的播放控制条 — 包含播放按钮、重置按钮、模拟时间、速率、追踪相机、幽灵轨迹、判定徽章

控制项功能说明
▶ / ❚❚启动或暂停运行。当运行时环境初始化时显示加载状态。
重置回起点。
0.00s模拟时间。运行时不断累加。
1x播放速率 — 0.25x0.5x1x2x4x
Follow: Off相机追踪目标 — Off(关闭)或场景中的任意对象。
Ghost运动轨迹。打开弹出菜单选择间隔:OFF0.25s0.5s1s2s5s
PASS / FAIL / RUN / IDLE判定徽章。详见 结束与失败条件

卡片本身还有另外两个控制项:{x} 打开参数和变量面板,˅ 收起卡片以让画布获得全屏显示。卡片顶边是尺寸调整句柄(Resize Logic pane)— 当相位图需要更多空间时可以拖动它向上。

如果没有道路,播放控制条会显示提示:No road — draw a road or import .xodr,其中两个短语都是链接。

播放控制条下方是时间线。在首次运行前,它显示 Run ▶ to see the timeline

运行中的时间线 — 播放头、事件标记、对象时间块

运行开始后时间线会显示:

  • 每个对象的时间块,显示该对象执行操作的时间段。
  • 事件开始位置的标记
  • 当前模拟时间的播放头

点击或拖动时间线上的任何位置可以跳转。跳转是精确的 — 每一帧都来自模拟,所以你落在的帧对每个对象都有确定的状态。这就是为什么回放可以用于审查:在切线的准确时刻暂停并检查几何数据,而不是在运行继续时猜测。

尺度上没有数字标记,运行跳转后从 0.00s 的数字显示读取时间。

运行中的画布,追踪设置为 Ego — 相机跟踪车辆沿道路行进时保持车辆居中

Follow: Off 是默认设置,相机保持在你离开时的位置。下拉菜单列出 Follow: Off 以及每个对象的一条记录 — Follow: EgoFollow: OverTaker 等。

对于较长的场景打开追踪。导入的道路网络通常长达数公里;如果不设置追踪目标,对象在几秒内会驶出视野,运行看起来像断掉了一样。

运行中的画布,幽灵轨迹间隔为 0.5s — 轿车轮廓均匀间隔地沿道路绘制为运动轨迹

Ghost 按固定间隔在画布上绘制对象的轮廓,在其身后留下可见的运动轨迹。从弹出菜单选择间隔:OFF0.25s0.5s1s2s5s

因为时间戳按时间间隔均匀分布,它们在画布上的间距会反映速度 — 时间戳聚集表示制动,时间戳分散表示加速。这是查看速度曲线的最快方法,无需读取数字。

幽灵轨迹也会烘焙到图像和 SVG 导出中,所以你保存用于幻灯片的图表显示的是轨迹而不是单一帧。详见 路径和足迹

干净运行后的播放控制条 — 绿色 PASS 徽章显示在模拟时间和时间线旁

徽章含义
IDLE未运行。
RUN运行中,尚未触发失败条件。
PASS到达结束条件且未触发失败条件。
FAIL触发了失败条件;运行在该处停止。

触发失败条件时,徽章变为红色 FAIL,时间线上相应位置会出现匹配的 × 标记:

带红色 FAIL 徽章的播放控制条,时间线上失败条件触发处有一个红色叉标记

没有标记为”Run”的按钮 — ▶ 按钮启动场景,RUN 是它运行时显示的徽章。

汉堡菜单 → ExportExport video… 将运行录制为视频文件。导出在你的浏览器中进行,没有任何数据上传。宽高比和相机选项在 在浏览器中模拟 OpenSCENARIO 文件 中介绍。

Export 子菜单的其他选项也很有用:OpenSCENARIO (.xosc)… 用于导出场景、.xodr (OpenDRIVE) 用于导出道路、图像格式用于导出图表、Copy URL 用于获取可分享的链接。

Export → OpenSCENARIO (.xosc)…(仅在场景模式中可用)不会立即下载 — 它首先打开一个小对话框:

字段选项
VERSIONOpenSCENARIO 架构版本 — 1.01.11.2(默认 1.1)。1.3 显示但被禁用(“敬请期待”),暂不可选。
INCLUDE.xosc 单独导出,或 .xosc + .xodr 一起导出(道路加故事板)。
TARGET SIMULATOResminiGenericesmini 针对 esmini 运行时优化输出。
FILE NAME文件的基础名称。

选择需要的版本和打包方式,然后确认下载。相比之下,旁边的 .xodr (OpenDRIVE)立即下载,无对话框(默认名称 Untitled-<date>-<time>.xodr)。要进行完整的 esmini 往返导出,请参考 导出到 OpenDRIVE / OpenSCENARIO / esmini

RANGE 决定运行的多少内容会被保存到文件。它默认打开在 Full — 整个运行,和之前一样。切换到 Trim 可以录制一个片段:

  1. 打开 ExportExport video…,然后点击 Trim

  2. 在寻径条上出现两个句柄,分别对应范围的两端。它们之间的内容会被录制;条的其他部分变暗。

    启用 Trim 的寻径条 — 两个句柄之间的高亮部分是录制范围,两侧变暗

  3. 沿着条拖动任一句柄,或将秒数输入到 Start [s]End [s] 中。对话框在它们下方保持计数 — 5 s selected

    RANGE 设置为 Trim 的导出视频对话框,显示开始和结束输入框及选中的时长

  4. 点击 Start。文件的时长将完全是你选择的范围。

拖动句柄时播放头保持活跃,所以你可以点击范围内的位置检查录制前的帧。

范围故意不被记住:每次打开 Export video… 时都会重新从 Full 开始。宽高比、相机和幽灵轨迹是样式设置并会保持,但范围与具体场景绑定 — 每次运行的长度不同,所以上次的秒数会在这里落在错误的位置。

症状可能原因
对象始终不动尚未触发任何事件 — 检查触发条件的 SECONDS,或该事件的 Start 条件是否满足。
对象行进然后完全停止它到达了道路的终点。延伸道路或导入更长的 .xodr
对象立即驶出屏幕追踪相机设置为 Off
Change Lane 事件触发但没有横向移动TARGET 仍然是 Same lane 且对象引用自己。参考 动作参考
两个事件同时发生两个触发条件仍都在 0.00 s