跳到內容

Phases and events — how scenario logic is structured

本頁內容尚未翻譯。

The LOGIC card at the bottom of the screen is where a scenario’s behaviour lives. This page explains what its parts are and in what order they run.

The LOGIC pane — phase card with an actor row, event cards, + Event, and the END CONDITIONS node

The graph nests four things, outermost first.

LevelWhat it isOpenSCENARIO
PhaseA named container with a Start condition.Act
Actor rowOne row per entity taking part in the phase.ManeuverGroup (its entityRef)
EventOne trigger plus one or more actions.Event
END CONDITIONSThe node at the end of the graph. Decides when the run stops.the storyboard’s StopTrigger

Click + Phase to add one. The button is disabled until the scenario has at least one actor — its tooltip says Add an actor first.

A new phase does not arrive empty. One click produces Phase 1, an actor row for your entity, and Event_1 carrying a default Change Speed action and a default Simulation time trigger. The event editor opens on the right at the same time.

Imported scenarios keep the original act names, so a phase may be called something like CutInAndBrakeAct rather than Phase 1.

Every phase has a Start row with three options:

OptionMeaning
At scenario startThe phase becomes active as soon as the run begins.
After a delay…The phase becomes active a fixed number of seconds into the run.
Custom…Any trigger condition — the same catalogue used for event triggers.

A phase’s Start condition is independent of the phases drawn above it. Two phases both set to At scenario start both become active at t=0. Sequencing comes from the Start conditions you set, not from the vertical order of the cards.

The small × on a phase card deletes it, along with every event, action, and trigger inside it — with no confirmation prompt. Undo it with Ctrl+Z or the ↶ button in the toolbar.

Right-clicking a phase gives you Add Event (actor) and Delete Phase.

An event is the unit of behaviour: one trigger, one or more actions, applied to one actor.

Add one with + Event in the actor’s row. Each new event arrives with the same defaults as the first — a Change Speed action and a Simulation time trigger at 0.00 s. Two events left at 0.00 s fire simultaneously, so set the trigger before you move on.

Each card carries two lines:

  • Top line — the event name, the simulation time at which it fired (t=2.05s), and a once it has completed.
  • Bottom line — a summary of the action, for example 8.3 m/s · over 2 s, 1 → · over 30 m, same lane as Ego · over 3 s, or parallel 0 m/s · @-4 m/s².

The fire time and the check mark are filled in during playback, so the graph doubles as a run log.

Selecting a card opens the editor at the top right, headed actor › event.

The event editor — ACTOR, TRIGGER with its ALL OF (AND) group, ACTION, + Action, ADVANCED

SectionWhat it holds
ACTORThe entity the event acts on.
TRIGGEROne or more conditions, grouped. See Triggers.
ACTIONWhat happens when the trigger fires. See Actions.
+ ActionAdds another action to the same event — they all run when the trigger fires.
ADVANCEDThe attributes below.
FieldOptionsOpenSCENARIO
PROFILELinear / Cubic / Sinusoidal / StepdynamicsShape
PRIORITYAuto / overwrite / parallel / skipEvent@priority
REPEAT (EVENT)how many times the event repeatsEvent@maximumExecutionCount
REPEAT (GROUP)how many times the actor’s group repeatsManeuverGroup@maximumExecutionCount
MANEUVERthe maneuver name the event belongs toManeuver@name
DELAY AFTER METseconds to wait after the trigger is satisfiedCondition@delay

PRIORITY decides what happens when this event fires while another event is still running on the same actor: overwrite stops the running one, parallel lets both continue, and skip drops the new one. Auto lets drawtonomy pick.

MANEUVER exists mostly for round-tripping. drawtonomy does not draw maneuvers or maneuver groups as separate boxes, but it preserves their names so an imported scenario exports with the same structure.

  1. The run starts. Every phase whose Start condition is already satisfied becomes active.
  2. Inside an active phase, each event evaluates its TRIGGER every step. When the trigger is satisfied — plus any DELAY AFTER MET — the event’s actions start.
  3. Actions run to completion according to their DYNAMICS (over a time, over a distance, or at a rate).
  4. The run stops when the END CONDITIONS node is satisfied. Left on Automatic, that means “when everything has finished”.
  5. If a FAIL CONDITION triggers at any point, the run ends with a FAIL verdict instead.

See End and fail conditions for steps 4 and 5.

The {x} button on the LOGIC card opens the PARAMETERS and VARIABLES panel — OpenSCENARIO’s ParameterDeclarations and VariableDeclarations. Parameters are fixed at the start of a run; variables can be changed during one with the Set Variable and Modify Variable actions.

One caveat, stated in the panel itself: editing a parameter does not retroactively change actions that were imported with a literal value, because parameter references are resolved at import time.