Scenebestand (JSON)
Een scenebestand bevat één scene en al haar markers in één JSON-document. Gebruik het om een scene te back-uppen, twee versies te vergelijken, inhoud tussen scenes te verplaatsen, of een AI-assistent een scene te laten bewerken en terug te geven.
Het bestand wordt gecontroleerd met een gepubliceerd JSON Schema: https://voluma.ai/schemas/voluma-scene-v1.schema.json. Editors zoals VS Code gebruiken het voor aanvulling en foutcontrole tijdens het bewerken.
Exporteren
- Open de scene in Studio en kies Geavanceerd in de menubalk.
- Klik onderaan de scenebrowser op Opslaan als en open het tabblad Exporteren.
- Klik op Downloaden. Het bestand krijgt de naam van de scene, bijvoorbeeld
lobby.voluma-scene.json.
De export bevat ook niet-opgeslagen wijzigingen, dus komt overeen met wat je in Studio ziet.
Importeren
- Open in Studio de scene die je wilt wijzigen, in de modus Geavanceerd.
- Klik onderaan de scenebrowser op Herstellen en open het tabblad Importeren.
- Klik op Bestand kiezen en selecteer een
.voluma-scene.json-bestand. - Controleer de samenvatting: hoeveel markers worden bijgewerkt, toegevoegd en verwijderd, en of de hoofdsplat verandert.
- Klik op Importeren. Het resultaat opent als niet-opgeslagen wijzigingen. Klik op Opslaan om het te bewaren, of op Herstellen om het ongedaan te maken.
Importeren vervangt de inhoud van de scene door het bestand:
- Scene-instellingen, titel en hoofdsplat komen uit het bestand. Het adres, project en de eigenaar van de scene blijven gelijk.
- Markers van deze scene die in het bestand staan, worden bijgewerkt.
- Nieuwe markers, of markers uit een andere scene, worden toegevoegd met nieuwe id's. Verwijzingen ernaar gaan mee.
- Opgeslagen markers die niet in het bestand staan, worden verwijderd zodra je opslaat.
- Bezoekersmarkers worden nooit door een import verwijderd.
Opbouw van het bestand
{
"$schema": "https://voluma.ai/schemas/voluma-scene-v1.schema.json",
"format": "voluma.scene",
"version": 1,
"exportedAt": "2026-10-16T12:00:00.000Z",
"generator": { "name": "voluma-web-app", "version": "1.32.0" },
"scene": {
"title": "Lobby",
"mainSplat": { "url": "https://assets.example.com/lobby.sog" },
"properties": {
"controls": { "autoRotate": true, "autoRotateSpeed": 0.5 },
"skyDome": { "image": "https://assets.example.com/sky.jpg" }
}
},
"markers": [
{
"id": 101,
"parentId": null,
"order": 0,
"title": "Reception",
"private": false,
"shape": {
"geometry": "sphere",
"position": { "x": 0, "y": 1.2, "z": -2 },
"rotation": { "x": 0, "y": 0, "z": 0 },
"scale": { "x": 0.3, "y": 0.3, "z": 0.3 },
"color": "#ffffff"
},
"properties": {
"schemaVersion": 2,
"triggers": [
{
"on": "click",
"sources": { "scene": true, "menu": true },
"responses": [{ "type": "action", "action": { "type": "overlay", "html": "<h2>Reception</h2><p>Open 9:00 to 17:00.</p>" } }]
}
]
}
}
]
}| Veld | Inhoud |
|---|---|
scene.properties | Instellingen voor de hele scene: camera en besturing, first person (fpv), XR, omgeving (bgColor, skyDome, fog, lights, groundPlane), markerstijl en lay-out, minikaart. |
markers[].shape | Markertype (geometry) en plaatsing. Posities zijn in meters, y wijst omhoog, rotaties zijn in radialen. |
markers[].properties.triggers | Wanneer de marker reageert (hover, click, approach, leave, focus, unfocus) en wat hij dan doet, in volgorde. |
markers[].properties.sound | Het eigen geluid van de marker. Triggers bepalen wanneer het speelt. |
Het schema beschrijft elk veld met betekenis en eenheid.
Regels voor bewerken
Volg deze regels als je een scenebestand zelf of met een AI-assistent bewerkt:
- Laat
formatenversionstaan. Andere formaten en versies worden geweigerd. - Behoud de id van een marker die je wijzigt. Dan werkt de import hem bij in plaats van een kopie toe te voegen.
- Geef een nieuwe marker een id die geen andere marker in het bestand gebruikt, bijvoorbeeld een groot getal. De import vervangt het door een echte id.
- Verwijs naar markers met hun id.
parentId, demarker_idvan een actie enmediaTargetIdmoeten naar een marker in het bestand wijzen. - Haal een marker uit het bestand om hem te verwijderen. Hij verdwijnt als je na het importeren opslaat.
- Laat velden die je niet kent ongemoeid. De import bewaart ze.
- Gebruik getallen voor numerieke instellingen. Sommige oudere scenes slaan getallen op als tekst. De import accepteert beide, maar Studio schrijft getallen.
Assets zoals de hoofdsplat, afbeeldingen, video en audio staan er als URL in. Een scenebestand bevat de bestanden zelf niet.
