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.
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
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.