Inhoud van scènesysteem laden — MRTK2

Alle bewerkingen voor het laden van inhoud zijn asynchroon en het laden van alle inhoud is standaard additief. Beheer- en lichtscènes worden nooit beïnvloed door laadbewerkingen voor inhoud. Zie Het laden van inhoud bewaken voor informatie over het bewaken van de voortgang van de belasting en het activeren van scènes.

Inhoud laden

Gebruik de LoadContent methode om inhoudsscènes te laden:

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

// Additively load a single content scene
await sceneSystem.LoadContent("MyContentScene");

// Additively load a set of content scenes
await sceneSystem.LoadContent(new string[] { "MyContentScene1", "MyContentScene2", "MyContentScene3" });

Laden met één scène

Het equivalent van één scènebelasting kan worden bereikt via het optionele mode argument. LoadSceneMode.Single lost eerst alle geladen inhoudsscènes uit voordat u verdergaat met het laden.

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

// ContentScene1, ContentScene2 and ContentScene3 will be loaded additively
await sceneSystem.LoadContent("ContentScene1");
await sceneSystem.LoadContent("ContentScene2");
await sceneSystem.LoadContent("ContentScene3");

// ContentScene1, ContentScene2 and ContentScene3 will be unloaded
// SingleContentScene will be loaded additively
await sceneSystem.LoadContent("SingleContentScene", LoadSceneMode.Single);

Volgende/vorige scène laden

Inhoud kan afzonderlijk worden geladen in volgorde van build-index. Dit is handig voor het presenteren van toepassingen die gebruikers één voor één door een reeks demonstratiescènes brengen.

Huidige scènes in de ingebouwde spelerinstellingen

Houd er rekening mee dat bij het laden van volgende/vorige inhoud standaard LoadSceneMode.Single wordt gebruikt om ervoor te zorgen dat de vorige inhoud wordt uitgeladen.

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

if (nextSceneRequested && sceneSystem.NextContentExists)
{
    await sceneSystem.LoadNextContent();
}

if (prevSceneRequested && sceneSystem.PrevContentExists)
{
    await sceneSystem.LoadPrevContent();
}

PrevContentExists retourneert true als er ten minste één inhoudsscène is met een lagere build-index dan de laagste build-index die momenteel is geladen. NextContentExists retourneert true als er ten minste één inhoudsscène is met een hogere build-index dan de hoogste build-index die momenteel is geladen.

Als het wrap argument waar is, wordt de inhoud teruggezet naar de eerste/laatste build-index. Hierdoor hoeft u niet te controleren op de volgende/vorige inhoud:

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

if (nextSceneRequested)
{
    await sceneSystem.LoadNextContent(true);
}

if (prevSceneRequested)
{
    await sceneSystem.LoadPrevContent(true);
}

Laden per tag

Inhoudsscènes laden op tag

Het is soms wenselijk om inhoudsscènes in groepen te laden. Een fase van een ervaring kan bijvoorbeeld bestaan uit meerdere scènes, die allemaal tegelijkertijd moeten worden geladen om te kunnen functioneren. Om dit mogelijk te maken, kunt u uw scènes taggen en ze vervolgens laden of verwijderen met die tag.

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

await LoadContentByTag("Stage1");

// Wait until stage 1 is complete

await UnloadContentByTag("Stage1");
await LoadContentByTag("Stage2);

Laden per tag kan ook handig zijn als artiesten elementen willen opnemen/verwijderen uit een ervaring zonder scripts te hoeven wijzigen. Het uitvoeren van dit script met de volgende twee sets tags levert bijvoorbeeld verschillende resultaten op:

IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();

await LoadContentByTag("Terrain");
await LoadContentByTag("Structures");
await LoadContentByTag("Vegetation");

Inhoud testen

Scènenaam Scènetag Geladen door script
DebugTerrainPhysics Terrein
StructureTesting Structuren
Vegetatietools Vegetatie
Berg Terrein
Cabine Structuren
Bomen Vegetatie

Definitieve inhoud

Scènenaam Scènetag Geladen door script
DebugTerrainPhysics DoNotInclude
StructureTesting DoNotInclude
Vegetatietools DoNotInclude
Berg Terrein
Cabine Structuren
Bomen Vegetatie

Gedrag van de editor

U kunt al deze bewerkingen uitvoeren in de editor en in de afspeelmodus met behulp van de servicecontrole van scènesysteem. In de bewerkingsmodus worden scènes onmiddellijk geladen, terwijl u in de afspeelmodus de voortgang van het laden kunt bekijken en activeringstokens kunt gebruiken.

Scènesysteem in de inspector met laden van inhoud gemarkeerd