Jelenetértekértő megfigyelő

A Scene Understanding a jelenetentitások szemantikai megjelenítését adja vissza, valamint a 2. HoloLens geometriai űrlapjukat (HoloLens 1. generációs elemek nem támogatottak).

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

  • Objektumokat helyezzen egy adott típusú (például fal- és padló) legközelebbi felületre
  • Navigációs háló 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, ha nem kell hasonló algoritmusokat írnia

A Scene Understanding az MRTK 2.6 kísérleti funkciójaként van bevezetve. Az MRTK-ba térbeli megfigyelőként van integrálva WindowsSceneUnderstandingObserver néven. 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.

A megfigyelők áttekintése

Amikor a rendszer kéri, a WindowsSceneUnderstandingObserver SpatialAwarenessSceneObject attribútumokat ad vissza, amelyek hasznosak az alkalmazás számára a környezetének a felfedezéséhez. A megfigyelés gyakorisága, a visszaadott objektumtípus (például fal, padló) és más megfigyelői viselkedések a megfigyelő profilon keresztüli konfigurációjá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 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.

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 Tool eszközt használja, vagy upM-en keresztül más módon importálja, importálja a Demos - SpatialAwareness mintát, mielőtt importálja a Kísérleti – SceneMintát egy 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:

  • A 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 lehet módosítani a megfigyelői beállításokat és figyelni a kapcsolódó eseményeket
  • Jelenetadatok mentése az eszközön 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) lesz. A szerializált mintatermek vizualizációját az alábbi, 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 Scene Understanding Observer-profilok ( és ) mindkét DefaultSceneUnderstandingObserverProfile DemoSceneUnderstandingObserverProfile folyamathoz működnek.

Megjegyzés

A minta jelenet egy There is no active AsyncCoroutineRunner when an action is posted. figyelmeztetést naplóz bizonyos körülmények között 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 AsyncCoroutineRunner 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.

jelenetértelmez a hely a hierarchiában

MRTK helye az inspectorban

Ezekkel a beállításokkal konfigurálható a WindowsSceneUnderstandingObserver .

Példaszkript

A DemoSceneUnderstandingController.cs példaszkprogram bemutatja a Scene Understanding szolgáltatás fő fogalmait.

  • Feliratkozás 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 mintaszkenn nyilvános függvényének hívásával változtatják meg a jelenet megértésének viselkedését.

A Példányos prefabs 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ás megjegyzései

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 a megfigyelőnek való lekérdezése bizonyos mátrokba esnek. A beolvasási kérelem 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 jelen a kitakarási maszk textúra. Ha a megfigyelő nincs beállítva hálók igénylésre, akkor sem jelenik meg a világháló. A DemoSceneUnderstandingController szkript gondoskodik néhány ilyen függőségről, de nem mindegyikről.

A mentett jelenetfájlok a webhelyen, az eszközportálon érhetők User Folders/LocalAppData/[APP_NAME]/LocalState/PREFIX_yyyyMMdd_hhmmss.bytes 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

Szerializált jelenet bájtok megfigyelőben

Lásd még: