A megfigyelők jelenetért való megértése

A Scene Understanding visszaadja a jelenetentitások szemantikai ábrázolásait, valamint azok geometriai űrlapokat HoloLens 2. HoloLens (HoloLens 1. generációs elemek nem támogatottak).

A technológia néhány várható használata a következő:

  • Objektumokat helyezzen egy bizonyos típusú legközelebbi felületre (például a falra és a padlóra)
  • Nav-mesh létrehozása platform stílusú játékokhoz
  • A fizikai motor felhasználóbarát geometriái quadokként
  • Felgyorsíthatja a fejlesztést, elkerülve, hogy hasonló algoritmusokat kelljen írnia

A Scene Understanding az MRTK 2.6 kísérleti funkciójaként van bevezetve. Ez a nevű térbeli megfigyelőként van integrálva az MRTK-ba. A Scene Understanding az örökölt XR-folyamatokkal és az XR SDK-folyamatokkal is működik (OpenXR (az MRTK 2.7-től kezdve) és az Windows XR beépülő modullal). Mindkét esetben a WindowsSceneUnderstandingObserver használatos.

Megjegyzés

A Scene Understanding használata az eltolásban nem támogatott.

Megfigyelők áttekintése

Amikor a rendszer kéri, a WindowsSceneUnderstandingObserverWindowsSceneUnderstandingObserver attribútumokat ad vissza, amelyek hasznosak az alkalmazás számára, hogy át tudja érteni annak környezetét. A megfigyelés gyakorisága, a visszaadott objektumtípus (például fal, padló) és más megfigyelői viselkedések a megfigyelő profilján keresztüli konfigurációtól függenek. Ha például az eltolási maszkra van szükség, a megfigyelőt úgy kell konfigurálni, hogy quadokat hozzon létre. A megfigyelt jelenet szerializált fájlként menthető, amely később betölthető a jelenet szerkesztői lejátszás módban való újbóli létrehozása során.

Telepítés

Fontos

A Scene Understanding csak a 2. HoloLens Unity 2019.4-es és újabb verziókban támogatott.

  1. Győződjön meg arról, hogy a platform UWP-re van állítva a buildbeállításokban.
  2. A Scene Understanding csomag az Mixed Reality eszköz használatával szerezhető be.

A Scene Understanding használata

A Scene Understanding a leggyorsabban a minta jelenet áttekintésével kezdődik.

Scene Understanding minta jelenet

A Unityben a Project Explorerrel nyissa meg a jelenetfájlt a alkalmazásban, Examples/Experimental/SceneUnderstanding/Scenes/SceneUnderstandingExample.unity és nyomja le a Play billentyűt!

Fontos

Csak az MRTK 2.6.0-s verzióra vonatkozik – Ha az Mixed Reality Feature Toolt használja, vagy upM-en keresztül más módon importálja, importálja a Demos - SpatialAwareness mintát a Kísérleti – SceneMinta importálása előtt függőségi probléma miatt. További információért GitHub tekintse meg ezt a problémát.

A jelenet a következőket mutatja be:

  • Megfigyelt jelenetobjektumok vizualizációja az alkalmazás felhasználói felületén a megfigyelő konfigurálásához
  • DemoSceneUnderstandingControllerPéldaszkprogram, amely bemutatja, hogyan módosíthatja a megfigyelő beállításait, és hogyan figyelheti a releváns eseményeket
  • Jelenetadatok mentése eszközre offline fejlesztéshez
  • Korábban mentett jelenetadatok (.bytes-fájlok) betöltése a szerkesztőn lévő fejlesztési munkafolyamat támogatásához

Fontos

Alapértelmezés szerint ShouldLoadFromFile a megfigyelő tulajdonsága false (hamis) értékkel van beállítva. A szerializált mintatermek vizualizációját az alábbi, A megfigyelő szolgáltatás konfigurálása című szakaszban láthatja, és állítsa a tulajdonságot true (igaz) értékre a szerkesztőben.

Megjegyzés

A minta jelenet az örökölt XR-folyamaton alapul. Ha az XR SDK-folyamatot használja, ennek megfelelően módosítsa a profilokat. A megadott Scene Understanding Spatial Awareness System-profil ( DemoSceneUnderstandingSystemProfile ) és a Scene Understanding Observer-profilok ( és ) mindkét DefaultSceneUnderstandingObserverProfileDemoSceneUnderstandingObserverProfile folyamathoz működnek.

Megjegyzés

A minta jelenet bizonyos körülmények között naplóz egy figyelmeztetést There is no active AsyncCoroutineRunner when an action is posted. az inicializálási/szálvégrehajtási sorrend miatt. Ha meg tudja erősíteni, hogy az összetevő csatolva van a "Demo Controller" GameObjecthez, és az összetevő/GameObject engedélyezve/aktív marad a jelenetben (ez az alapértelmezett eset), a figyelmeztetés nyugodtan figyelmen kívül AsyncCoroutineRunner hagyható. Ha azonban új jelenet létrehozása a Scene Understanding használatával történik, mindenképpen hozzon létre egy üres GameObjectet a gyökérnél, és csatolja hozzá a szkriptet, különben előfordulhat, hogy a Scene Understanding nem fog megfelelően működni.

A megfigyelő szolgáltatás konfigurálása

Válassza ki a "MixedRealityToolkit" játékobjektumot, és ellenőrizze a vizsgálót.

a hely helyének megértése a hierarchiában

MRTK helye a vizsgálóban

Ezek a beállítások lehetővé teszik, hogy az egyik konfigurálja a WindowsSceneUnderstandingObserver következőt: .

Példaszkript

A DemoSceneUnderstandingController.cs példaszk szkript bemutatja a Scene Understanding szolgáltatás használatával kapcsolatos fő fogalmakat.

  • Feliratkozás a Scene Understanding-eseményekre
  • Scene Understanding-események kezelése
  • A konfigurálása WindowsSceneUnderstandingObserver futásidőben

A jelenet panelén található váltógombok a mintaszkent nyilvános funkcióinak hívásával megváltoztatják a jelenet megértésének viselkedését.

A Példányosítóalapobjektumok bekapcsolása bemutatja, hogyan lehet olyan méretű objektumokat létrehozni, amelyek minden SpatialAwarenessSceneObjectobjektumhoz illeszkednek, és egy szülőobjektum alatt vannak összegyűjtve.

bemutatóvezérlő-beállítások

Beépített alkalmazásjegyek

Build és üzembe helyezés HoloLens a szokásos módon. A futtatás után több gombnak kell megjelennie, hogy lejátssa a funkciókat.

Figyelje meg, hogy a lekérdezések megfigyelőnek való lekérdezésében van néhány leesés. A beolvasási kérés helytelen konfigurációja azt eredményezi, hogy az esemény hasznos adatai nem tartalmazzák a várt adatokat. Ha például nem kér quadokat, akkor nem lesz kitakarási maszkú textúra. Ahogy a legjobb, akkor sem jelenik meg világháló, ha a megfigyelő nincs konfigurálva hálók kéréseként. A DemoSceneUnderstandingController szkript gondoskodik néhány ilyen függőségről, de nem mindegyikről.

A mentett jelenetfájlok az eszközportálon, a következő webhelyen érhetők el: . Ezek a jelenetfájlok a szerkesztőben is használhatók, ha megadja őket a vizsgálóban található megfigyelői profilban.

Eszközportál bájtfájl helye

A szerializált jelenet bájtja a megfigyelőben

Lásd még: