Jelenetrendszer-tartalom betöltése – MRTK2
Minden tartalombetöltési művelet aszinkron, és alapértelmezés szerint minden tartalombetöltés additív. A kezelői és a világítási jeleneteket soha nem érintik a tartalombetöltési műveletek. A terhelés előrehaladásának és a jelenetaktiválásnak a figyelésével kapcsolatos információkért lásd: Tartalombetöltés monitorozása.
Tartalom betöltése
A tartalomjelenetek betöltéséhez használja a metódust LoadContent
:
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" });
Egyetlen jelenet betöltése
Az egyetlen jelenetbetöltés megfelelője a választható mode
argumentumon keresztül érhető el. LoadSceneMode.Single
először eltávolítja az összes betöltött tartalomjelenetet, mielőtt továbblép a terhelésre.
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);
Következő/ előző jelenet betöltése
A tartalom az összeállítási index sorrendjében tölthető be. Ez olyan bemutatóalkalmazások esetében hasznos, amelyek egyenként átvezetik a felhasználókat a bemutató jeleneteken.
Vegye figyelembe, hogy a következő/előző tartalom betöltése alapértelmezés szerint a LoadSceneMode.Single parancsot használja az előző tartalom kiürítéséhez.
IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();
if (nextSceneRequested && sceneSystem.NextContentExists)
{
await sceneSystem.LoadNextContent();
}
if (prevSceneRequested && sceneSystem.PrevContentExists)
{
await sceneSystem.LoadPrevContent();
}
PrevContentExists
igaz értéket ad vissza, ha legalább egy olyan tartalom jelenet van, amely alacsonyabb buildindexet tartalmaz, mint a jelenleg betöltött legalacsonyabb buildindex. NextContentExists
igaz értéket ad vissza, ha legalább egy olyan tartalom jelenet van, amely magasabb buildindexet tartalmaz, mint a jelenleg betöltött legmagasabb buildindex.
Ha az wrap
argumentum igaz, a tartalom visszacsúszik az első/utolsó buildindexre. Ez eltávolítja a következő/előző tartalom keresésének szükségességét:
IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();
if (nextSceneRequested)
{
await sceneSystem.LoadNextContent(true);
}
if (prevSceneRequested)
{
await sceneSystem.LoadPrevContent(true);
}
Betöltés címke szerint
Néha kívánatos, hogy tartalomjeleneteket töltsön be csoportokba. Például egy élmény egy szakasza több jelenetből állhat, amelyek mindegyiket egyszerre kell betölteni a működéshez. Ennek megkönnyítése érdekében címkézheti a jeleneteket, majd betöltheti őket, vagy eltávolíthatja őket ezzel a címkével.
IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();
await LoadContentByTag("Stage1");
// Wait until stage 1 is complete
await UnloadContentByTag("Stage1");
await LoadContentByTag("Stage2);
A címke szerinti betöltés akkor is hasznos lehet, ha az előadók szkriptek módosítása nélkül szeretnének elemeket beépíteni vagy eltávolítani egy felületről. Ha például a szkriptet a következő két címkekészlettel futtatja, az eltérő eredményeket eredményez:
IMixedRealitySceneSystem sceneSystem = MixedRealityToolkit.Instance.GetService<IMixedRealitySceneSystem>();
await LoadContentByTag("Terrain");
await LoadContentByTag("Structures");
await LoadContentByTag("Vegetation");
Tartalom tesztelése
Jelenet neve | Jelenetcímke | Szkripttel betöltve |
---|---|---|
DebugTerrainPhysics | Terep | • |
StructureTesting | Struktúrák | • |
NövényzetToolok | Növényzet | • |
Hegyi | Terep | • |
Kabin | Struktúrák | • |
Fák | Növényzet | • |
Végső tartalom
Jelenet neve | Jelenetcímke | Szkripttel betöltve |
---|---|---|
DebugTerrainPhysics | DoNotInclude | |
StructureTesting | DoNotInclude | |
NövényzetToolok | DoNotInclude | |
Hegyi | Terep | • |
Kabin | Struktúrák | • |
Fák | Növényzet | • |
A szerkesztő viselkedése
Ezeket a műveleteket a Jelenetrendszer szolgáltatásfelügyelőjével végezheti el szerkesztőben és lejátszási módban. Szerkesztési módban a jelenetbetöltések azonnaliak lesznek, míg lejátszási módban megfigyelheti a betöltési folyamatot, és aktiválási jogkivonatokat használhat.