콘텐츠로 이동

재생 — 시나리오 실행, 탐색, 추적 및 기록

시나리오를 실행하는 데 필요한 모든 컨트롤은 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}**는 매개변수와 변수 패널을 열고, **˅**는 카드를 접어 캔버스에 전체 화면을 제공합니다. 카드의 상단 모서리는 크기 조정 핸들(LOGIC 패널 크기 조정)입니다 — 위상 그래프가 더 많은 공간이 필요할 때 위로 드래그하세요.

도로가 없으면 조작 막대에 No road — draw a road or import .xodr이 표시되며, 두 문구 모두 링크입니다.

조작 막대 아래는 타임라인입니다. 첫 번째 실행 전에는 Run ▶ to see the timeline이 표시됩니다.

재생 중 타임라인 — 플레이헤드, 이벤트 시작 마커, 액터 블록

실행이 시작되면 다음과 같이 채워집니다:

  • 각 액터별 블록 — 액터가 뭔가 하는 시간 구간.
  • 마커 — 각 이벤트가 시작되는 위치.
  • 플레이헤드 — 현재 시뮬레이션 시간.

타임라인의 아무 곳이나 클릭하거나 드래그하여 탐색할 수 있습니다. 탐색은 정확합니다. 모든 자세는 시뮬레이션에서 가져오므로 도착하는 프레임은 모든 엔티티에 대해 정의된 상태를 갖습니다. 이것이 재생을 리뷰하는 데 유용하게 만드는 이유입니다. 컷인의 정확한 순간에서 일시정지하고 기하학을 검사할 수 있으며, 실행이 계속되는 동안 추측할 필요가 없습니다.

자 (ruler)에는 숫자가 표시되지 않으므로 탐색 후 0.00s 표시에서 시간을 읽으세요.

Follow: Ego가 활성화된 상태에서 캔버스 재생 중 — 자동차가 도로를 따라 카메라가 추적하면서 중앙에 유지

Follow: Off가 기본값이며, 카메라는 남긴 위치에 유지됩니다. 드롭다운에는 Follow: Off와 엔티티당 하나의 항목이 나열됩니다 — Follow: Ego, Follow: OverTaker 등.

화면보다 긴 모든 것에 대해 이를 켜세요. 가져온 도로 네트워크는 흔히 킬로미터 단위로 길며, 추적 대상이 없으면 액터가 몇 초 내에 화면 밖으로 나가고 실행이 깨진 것처럼 보입니다. 실제로는 그렇지 않습니다.

Ghost가 0.5s로 설정된 상태에서 캔버스 재생 중 — 세단의 외형이 도로를 따라 균일하게 간격을 둔 모션 트레일로 인장됨

Ghost는 액터의 외형을 캔버스에 고정된 간격으로 인장하여 눈에 띄는 모션 트레일을 남깁니다. 팝오버에서 간격을 선택하세요: OFF, 0.25s, 0.5s, 1s, 2s, 5s.

인장은 시간에 따라 균일하게 간격이 띄어져 있으므로 캔버스의 간격은 속도를 나타냅니다. 인장이 몰려 있으면 제동이고, 퍼져 있으면 가속입니다. 이것이 숫자를 읽지 않고 속도 프로필을 볼 수 있는 가장 빠른 방법입니다.

고스트는 또한 이미지와 SVG 내보내기로 구워지므로 슬라이드를 위해 저장한 그림이 단일 프레임이 아닌 궤적을 보여줍니다. 경로 및 풋프린트를 참고하세요.

클린 실행 후 조작 막대 — 시뮬레이션 시간과 타임라인 옆에 초록색 PASS 배지

배지의미
IDLE실행 중이 아닙니다.
RUN실행 중이며, 아직 실패 조건이 발동하지 않았습니다.
PASS종료 조건에 도달했으며, 실패 조건이 발동하지 않았습니다.
FAIL실패 조건이 발동했으며, 실행이 그곳에서 멈추었습니다.

실패 조건이 발동하면 배지가 빨간색 **FAIL**로 바뀌고, 타임라인의 발동 시점에 일치하는 × 마커가 나타납니다:

빨간색 FAIL 배지와 실패 조건이 발동한 타임라인 위치의 빨간 십자 마커가 있는 조작 막대

“Run”이라는 라벨의 버튼은 없습니다. ▶ 버튼이 시나리오를 시작하고, RUN은 진행되는 동안 나타나는 배지입니다.

햄버거 메뉴 → Export → **Export video…**에서 실행을 영상 파일로 기록합니다. 내보내기는 브라우저에서 실행되므로 업로드되지 않습니다. 화면비와 카메라 옵션은 OpenSCENARIO 파일을 브라우저에서 시뮬레이션에서 다루었습니다.

Export 서브메뉴의 나머지 부분은 그 옆에서 유용합니다: 시나리오의 OpenSCENARIO (.xosc)…, 도로의 .xodr (OpenDRIVE), 그림의 이미지 형식, 공유 가능한 링크의 Copy URL.

Export → OpenSCENARIO (.xosc)… (시나리오 모드에만 해당)는 바로 다운로드하지 않습니다. 먼저 작은 대화상자를 엽니다:

필드선택지
VERSIONOpenSCENARIO 스키마 버전 — 1.0, 1.1 또는 1.2 (기본값 1.1). 1.3은 표시되지만 회색으로 처리됨 (“coming soon”), 아직 선택 불가.
INCLUDE.xosc 단독, 또는 .xosc + .xodr 함께 (도로와 스토리보드).
TARGET SIMULATOResmini 또는 Generic. esmini는 esmini 런타임용 출력을 조정합니다.
FILE NAME파일의 기본 이름.

필요한 버전과 번들링을 선택한 후 확인하여 다운로드합니다. 그 옆의 .xodr (OpenDRIVE) 항목은 대조적으로 대화상자 없이 즉시 (기본 이름 Untitled-<date>-<time>.xodr) 도로를 기록합니다. 전체 왕복을 esmini로 보내려면 OpenDRIVE / OpenSCENARIO / esmini로 내보내기를 참고하세요.

RANGE는 실행의 얼마나 많은 부분이 파일에 도달하는지 결정합니다. Full로 열립니다. 전체 실행입니다. 이전처럼요. Trim으로 전환하여 구간을 기록합니다:

  1. Export → **Export video…**를 열고, Trim을 클릭합니다.

  2. 두 개의 핸들이 탐색 막대에 나타납니다. 각 범위의 끝에 하나씩. 그 사이에 있는 것이 기록되는 것이고; 막대의 나머지는 어두워집니다.

    Trim이 켜진 상태의 탐색 막대 — 기록된 범위가 시작 및 끝 핸들 사이에 강조 표시되고, 양쪽에서 실행이 어두워짐

  3. 막대를 따라 핸들을 드래그하거나, Start [s] 및 **End [s]**에 초를 입력합니다. 대화상자는 그들 아래에 개수를 유지합니다. 5 s selected.

    RANGE가 Trim으로 설정된 내보내기 영상 대화상자, Start 및 End 입력 및 선택한 길이 표시

  4. Start를 클릭합니다. 파일은 정확히 선택한 범위만큼 지속됩니다.

핸들이 켜져 있는 동안 플레이헤드는 계속 활성입니다. 범위 안을 클릭하고 기록하기 전에 프레임을 확인할 수 있습니다.

범위는 의도적으로 기억되지 않습니다. **Export video…**를 열 때마다 Full에서 다시 시작합니다. 화면비, 카메라와 고스트는 하우스 스타일이며 유지되지만, 범위는 하나의 시나리오와 연결됩니다. 모든 실행은 길이가 다르므로 지난번의 초는 여기서 잘못된 위치에 도달합니다.

증상가능한 원인
액터가 전혀 움직이지 않음아직 아무 이벤트도 발동하지 않음 — 트리거의 SECONDS를 확인하거나, 페이즈의 Start 조건이 만족되는지 확인합니다.
액터가 주행한 후 영구적으로 멈춤도로의 끝에 도달했습니다. 도로를 연장하거나 더 긴 .xodr을 가져옵니다.
액터가 즉시 화면 밖으로 이동카메라 추적이 Off입니다.
Change Lane 이벤트가 발동했으나 옆으로 움직임이 없음TARGET이 여전히 Same lane이고 액터가 자신을 참조하고 있습니다. 액션을 참고하세요.
두 이벤트가 동시에 발동두 트리거 모두 아직 0.00 s입니다.