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.

A build aktuális jelenetei a játékosbeállításokban

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

Tartalomjelenetek betöltése 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.

Jelenetrendszer az ellenőrben, kiemelt tartalombetöltéssel