Aprire e riprodurre un file .xosc esistente
drawtonomy legge file OpenSCENARIO 1.x .xosc e li riproduce nel
browser su esmini compilato in WebAssembly. Lo
scenario importato non è in sola lettura — gli atti, gli eventi, le azioni e i
trigger finiscono nello stesso editor che useresti per creare uno scenario da zero.
Ti servono entrambi i file
Sezione intitolata “Ti servono entrambi i file”Un .xosc descrive quello che fanno gli attori. Non contiene la strada — fa riferimento a una mappa OpenDRIVE .xodr nel suo elemento RoadNetwork.
Senza quella strada, le entità non hanno dove essere posizionate, quindi drawtonomy te la chiede prima di importare.
Tieni a portata di mano entrambi i file prima di iniziare. Se il tuo .xosc viene dal repository esmini, il corrispondente .xodr si trova in resources/xodr/ accanto a resources/xosc/.
Tre modi per aprire uno scenario
Sezione intitolata “Tre modi per aprire uno scenario”Drag and drop
Sezione intitolata “Drag and drop”Seleziona il .xosc e il .xodr nel tuo file manager e rilasciali insieme sulla tela. Questo è il percorso più breve — drawtonomy li associa da solo e importa in un unico passaggio: la strada si carica, gli attori vi si posizionano e la scheda LOGIC si riempie, il tutto senza una seconda richiesta.
L’associazione si basa sulla strada che il .xosc nomina nel suo elemento RoadNetwork. Se il .xodr che hai rilasciato non è quello cui fa riferimento — oppure hai rilasciato il .xosc da solo — drawtonomy non può completare l’associazione e torna al banner OPENDRIVE MAP REFERENCED per permetterti di indicare il file strada corretto.
Il menu Importa
Sezione intitolata “Il menu Importa”Menu hamburger → Importa…, poi seleziona il .xosc.
Poiché la finestra di dialogo dei file accetta un solo file, drawtonomy mostra quindi un banner in cima allo schermo:
OPENDRIVE MAP REFERENCED
cut-in.xosc→../xodr/e6mini.xodr

Fai clic su Apri .xodr e scegli il file strada. Il banner ha anche una ×; chiuderla termina l’importazione senza caricare nulla, quindi usa Apri .xodr a meno che tu non intenda annullare.
Da un link GitHub
Sezione intitolata “Da un link GitHub”Aggiungi ?open= e un URL di file GitHub all’URL dell’app:
https://drawtonomy.com/?open=https://github.com/esmini/esmini/blob/master/resources/xosc/cut-in.xoscQuel link è attivo — provalo:
Apri lo scenario cut-in di esmini in drawtonomy →
drawtonomy scarica il .xosc, legge il suo riferimento RoadNetwork, e recupera il .xodr dallo stesso repository nello stesso commit o branch. Enumera anche le directory Catalogs che lo scenario referenzia e carica i file catalogo che trova — l’unica rotta in cui i cataloghi si risolvono automaticamente.
Cosa accetta e cosa no:
| Host accettati | link blob di file github.com, e raw.githubusercontent.com |
| Rifiutati | qualsiasi altro host, e link di directory tree/ |
| Repository | deve essere pubblico — il fetch non è autenticato |
| Limite di velocità | l’enumerazione del catalogo usa l’API GitHub non autenticata, limitata a 60 richieste all’ora |
| Percorsi strada assoluti | un RoadNetwork che punta a un percorso Windows (C:\…) non può essere risolto; ti verrà chiesto il .xodr invece |
Un unico link è sufficiente per condividere uno scenario eseguibile con un revisore — senza download, senza installazione.
Condividere il tuo scenario modificato
Sezione intitolata “Condividere il tuo scenario modificato”La rotta ?open= legge da GitHub, quindi per condividere uno scenario che hai modificato, metti i file dove GitHub può servirli:
- In drawtonomy, Esporta →
OpenSCENARIO (.xosc)…con INCLUDI impostato su.xosc+.xodraffinché la strada viaggi con lo scenario. (Mantieni il percorsoRoadNetworkrelativo che l’esportazione scrive.) - Esegui il commit e il push di entrambi i file a un repository GitHub pubblico.
- Copia l’URL blob GitHub del file
.xosc(il linkgithub.com/…/blob/…dalla pagina del file) e aggiungerlo ahttps://drawtonomy.com/?open=.
Chiunque apra quel link ottiene il tuo scenario modificato, la sua strada e tutti i cataloghi che il repository contiene — risolti automaticamente, poiché ?open= carica i cataloghi dallo stesso repo.
Quello che l’importazione produce
Sezione intitolata “Quello che l’importazione produce”Dopo un’importazione riuscita drawtonomy passa automaticamente alla modalità Scenario e la scheda LOGIC si riempie:
- Ogni
AttoOpenSCENARIO diventa una Fase, mantenendo il suo nome. Uno scenario conCutInAndBrakeActmostra una fase con quel nome. - Ogni
Eventodiventa una scheda evento sotto l’attore che la esegue, etichettata con il nome evento originale. - Il
StopTriggerdello storyboard diventa il nodo CONDIZIONI DI FINE — per esempioDopo che CutInManeuver si conclude.
Fai clic su una qualsiasi scheda evento per aprire l’editor di evento. I trigger, le azioni, i profili di dinamica e le priorità eseguono il round-trip, quindi un trigger importato Intervallo di tempo dall'attore viene letto di nuovo come Intervallo di tempo dall'attore con la stessa soglia. I nomi di Maneuver e ManeuverGroup vengono conservati nella sezione AVANZATE piuttosto che mostrati sulla scheda.
Informazioni su l’avvertimento del catalogo
Sezione intitolata “Informazioni su l’avvertimento del catalogo”Molti scenari pubblicati dichiarano <CatalogLocations> e richiedono i loro modelli di veicoli da file catalogo esterni. Quando importi un file di questo tipo, drawtonomy mostra un toast informativo:
Questo scenario referenzia cataloghi esterni che non sono stati forniti. Rilascia i file catalogo con il .xosc, oppure gli attori potrebbero non caricarsi.
Leggi come informazione, non un errore:
- Appare ogni volta che il
.xoscdichiara le posizioni del catalogo, indipendentemente dal fatto che manca effettivamente qualcosa. - Le voci del catalogo veicoli standard si mappano sui modelli integrati di drawtonomy, quindi nella maggior parte dei casi ogni attore si carica con la forma, il colore e la posizione iniziale corretti, e lo scenario si riproduce completamente.
- Il toast scompare da solo dopo pochi secondi; reimporta il file se hai bisogno di leggerlo di nuovo.
- I cataloghi si risolvono automaticamente sulla rotta GitHub
?open=.
Se gli attori mancano davvero dopo un’importazione, appare chiaramente — le entità interessate non compaiono affatto sulla tela.
Modificare uno scenario importato
Sezione intitolata “Modificare uno scenario importato”Puoi cambiare qualsiasi cosa dopo l’importazione, ma un dettaglio colpisce le persone di sorpresa. Il pannello Variabili — il pulsante {x} sulla scheda LOGIC — lo dice direttamente:
La modifica dei valori qui non modifica le azioni già importate con un valore letterale (i riferimenti vengono risolti al momento dell’importazione).
In altre parole: se il .xosc originale usava $HostVehicle_Speed e quel parametro era 27.7, l’azione importata contiene 27.7, non il riferimento. Cambiare il parametro in seguito non sposta l’azione. Modifica l’azione stessa.
Riproduzione e ispezione
Sezione intitolata “Riproduzione e ispezione”La riga di trasporto in cima alla scheda LOGIC gestisce la riproduzione: play e pausa, ripristino all’inizio, velocità di riproduzione, fotocamera di follow, tracce fantasma e il badge verdetto. Trascina o fai clic sulla linea temporale per cercare in qualsiasi momento. Vedi Riproduzione per l’insieme completo.
Due abitudini che vale la pena adottare per gli scenari importati:
- Imposta la fotocamera di follow prima di riprodurre. Le reti stradali importate sono spesso lunghe chilometri e la fotocamera predefinita non traccia nulla.
- Cerca invece di guardare. Ogni posizione proviene dalla simulazione, quindi mettere in pausa sul fotogramma esatto di un cut-in è esatto, non una stima.
Risoluzione dei problemi
Sezione intitolata “Risoluzione dei problemi”| Sintomo | Causa |
|---|---|
Nulla si carica dopo aver selezionato un .xosc | Il file strada non è mai stato fornito. Reimporta e usa Apri .xodr sul banner. |
| Gli attori si siedono uno sopra l’altro | La strada non si è caricata, quindi ogni entità è tornata all’origine. Verifica che il .xodr corrisponda allo scenario. |
| Un attore si ferma a metà strada e non si muove mai più | Ha raggiunto la fine della strada. Estendi la strada o usa un .xodr più lungo. |
| Toast di catalogo su ogni importazione | Previsto per qualsiasi .xosc con <CatalogLocations> — vedi sopra. |
| Un link GitHub è rifiutato | Solo i link blob github.com e raw.githubusercontent.com sono accettati, e il repository deve essere pubblico. |
Vedi anche
Sezione intitolata “Vedi anche”- Simulare un file OpenSCENARIO nel browser — la guida incentrata sul lettore, inclusa l’esportazione video.
- Fasi e eventi
- Riproduzione
- Che cos’è OpenSCENARIO?
- Che cos’è esmini?