Azure Spatial Anchors in Unreal

Az Azure Spatial Anchors egy Microsoft Mixed Reality szolgáltatás, amely lehetővé teszi a kibővített valóságon alapuló eszközök számára, hogy felfedezzék, megosszák és megmaradják a fizikai világban a horgonypontokat. Az alábbi dokumentáció útmutatást nyújt az Azure Spatial Anchors integrálásához egy Unreal-projektbe. Ha további információt keres, tekintse meg az Azure Spatial Anchors szolgáltatást.

Megjegyzés

Az Unreal Engine 4.26 mostantól beépülő modulokat biztosít az ARKit és az ARCore támogatásához, ha iOS vagy Android rendszerű eszközöket céloz meg.

Fontos

A helyi horgonyok az eszközön, az Azure Spatial Anchors pedig a felhőben vannak tárolva. Ha helyileg egy eszközön tárolja a horgonyokat, van egy Helyi Spatial Anchors dokumentumunk, amely végig tudja menni a folyamaton. Vegye figyelembe, hogy helyi és Azure-horgonyokat is használhat ugyanabban a projektben ütközés nélkül.

Előfeltételek

Az útmutató befejezéséhez győződjön meg arról, hogy a következővel fog:

Az Azure Spatial Anchors-fiókadatok lekérte

Mielőtt az Azure Spatial Anchors használ a projektben, a következőt kell használnia:

További információt az Azure Spatial Anchors hitelesítési dokumentumokban található.

Megjegyzés

Az Azure Spatial Anchors az Unreal 4.25-ben nem támogatja az Azure AD hitelesítési jogkivonatokat, de ennek a funkciónak a támogatása egy későbbi kiadásban lesz elérhető.

Az internet-hozzáférés engedélyezése

Nyissa Project Gépház > HoloLens és engedélyezze az Internetes ügyfél képességet:

HoloLens projektbeállítások kiemelése a kiemelt képességekkel

Azure Spatial Anchors beépülő modulok hozzáadása

Engedélyezze az Azure Spatial Anchors beépülő modulokat az Unreal szerkesztőben:

  1. Kattintson az Edit > Plugins (Beépülő modulok szerkesztése) elemre, és az AzureSpatialAnchors és az AzureSpatialAnchorsForWMR keresésére.
  2. Jelölje be az Engedélyezve jelölőnégyzetet mindkét beépülő modulban, hogy hozzáférést biztosítson az Azure Spatial Anchors-tervkódtárakhoz az alkalmazásban.

Képernyőkép a spatial Anchors beépülő modulról az Unreal szerkesztőben

Ha ezzel végzett, indítsa újra az Unreal-szerkesztőt, hogy a beépülő modul módosításai érvénybe lépnek. A projekt most már készen áll az Azure Spatial Anchors.

Munkamenet Spatial Anchors indítása

Az Azure Spatial Anchors-munkamenet lehetővé teszi, hogy az ügyfélalkalmazások kommunikáljanak az Azure Spatial Anchors szolgáltatással. Létre kell hoznia és el kell kezdenie egy Azure Spatial Anchors-munkamenetet az Azure-beli virtuális Spatial Anchors:

  1. Nyissa meg az alkalmazásban használt pawn tervét.
  2. Adjon hozzá két sztringváltozót a Fiókazonosítóhoz és a Fiókkulcshoz, majd rendelje hozzá a megfelelő értékeket az Azure Spatial Anchors-fiókból a munkamenet hitelesítéséhez.

Képernyőkép a Részletek panelről, kiemelt Azure Spatial Anchors-fiókazonosítóval, -kulccsal és változótípussal

Indítson el egy Azure Spatial Anchors munkamenetet a következővel:

  1. Annak ellenőrzése, hogy fut-e egy AR-munkamenet a HoloLens-alkalmazásban, mivel az Azure Spatial Anchors-munkamenet nem indul el, amíg egy AR-munkamenet le nem fut. Ha még nincs beállítva, hozzon létre egy AR-munkamenet-adateszközt.
  2. Adja hozzá a Start Azure Spatial Anchors Session (Azure-munkamenet Spatial Anchors) egyéni eseményt, és konfigurálja az alábbi képernyőképen látható módon.
    • A munkamenet létrehozása alapértelmezés szerint nem indítja el a munkamenetet, így konfigurálhatja a munkamenetet az Azure Spatial Anchors hitelesítéséhez.

Az Azure Spatial Anchors-munkamenet egyéni eseményének kezdő terve

  1. Konfigurálja az Azure Spatial Anchors munkamenetet a fiókazonosító és a fiókkulcs megszava.

Konfigurációs munkamenet-függvény terve fiókazonosítóval és -kulccsal

  1. Indítsa el az Azure Spatial Anchors munkamenetet, így az alkalmazás létrehozhatja és megkeresheti az Azure-Spatial Anchors.

Az Azure Spatial Anchors-munkamenet start függvényének terve

Ha már nem használja a szolgáltatást, Spatial Anchors az Event Graph-tervben az Azure-erőforrásokat:

  1. Állítsa le az Azure Spatial Anchors munkamenetet. A munkamenet a továbbiakban nem fog futni, de a társított erőforrások továbbra is létezni fognak az Azure Spatial Anchors beépülő modulban.

Az Azure Spatial Anchors-munkamenetek egyéni esemény és munkamenet-leállítási függvényének leállítási terve

  1. Semmisítse meg az Azure Spatial Anchors-munkamenetet az Azure Spatial Anchors beépülő modul által még ismert Azure Spatial Anchors-munkamenet-erőforrások Spatial Anchors érdekében.

A munkamenet-függvény megsemmisítési terve

Az Event Graph tervnek az alábbi képernyőképhez hasonlónak kell lennie:

Az Azure Spatial Anchor-munkamenet beállításának teljes eseménygrafikonja

Horgony létrehozása

Az Azure Spatial Anchor fizikai világbeli pozíciót jelent a kiterjesztett valóság alkalmazásterületén, amely zárolja a kiterjesztett valóság tartalmát a fizikai helyeken. Az Azure Spatial Anchors is megoszthatók a különböző felhasználók között. Ez a megosztás lehetővé teszi, hogy a különböző eszközökre rajzolt kibővített valóságú tartalmak a fizikai világ ugyanazon helyén legyen.

Új Azure Spatial Anchor létrehozása:

  1. Ellenőrizze, hogy fut-e Spatial Anchors Azure-beli virtuális munkamenet. Az alkalmazás nem hozhat létre vagy nem tarthat meg Azure Spatial Anchor-horgonyt, ha Spatial Anchors Azure-beli virtuális munkamenet fut.

Az Azure Spatial Anchor egyéni eseményének létrehozása terv

  1. Hozzon létre vagy szerezzen be egy Unreal Scene összetevőt, ahol meg kell lennie a helyének.
    • Az alábbi képen a Scene Component Needing Anchor összetevőt használjuk változóként. Az Unreal Scene összetevőre azért van szükség, hogy alkalmazásvilág-átalakítást alakítsunk ki egy AR Pin-kódhoz és az Azure Spatial Anchorhoz.

Terv az Azure Spatial Anchor egyéni esemény létrehozásához jelenetösszetevővel

Az Azure Spatial Anchor konstrukciója és mentése az Unreal Scene összetevő számára:

  1. Hívja meg az Unreal Scene összetevő Rögzítés összetevőjét, és adja meg a Scene Component's World Transform (Jelenetösszetevő world transform) elemét az AR Pin-hez használt világ-átalakításként.
    • Az Unreal AR-tűk használatával követi az alkalmazástérben az AR-pontokat, amelyek egy Azure Spatial Anchor létrehozásához használhatók. Az Unrealben az AR-tű hasonló a SpatialAnchorhoz a HoloLens.

A rögzítés összetevő funkcióhoz csatlakoztatott jelenetösszetevő terve

  1. Hívja meg a Create Cloud Anchor (Felhőhorgony létrehozása) hívást az újonnan létrehozott AR Pin-kód használatával.
    • A Create Cloud Anchor létrehoz egy Azure Spatial Anchor-horgonyt helyileg, de az Azure Spatial Anchor szolgáltatásban nem. Az Azure Spatial Anchor paraméterei( például lejárati dátum) az Azure Spatial Anchor szolgáltatásban való létrehozása előtt beállíthatók.

Az ARPint visszaadó felhőhorgony-függvény létrehozásához csatlakoztatott rögzítési összetevő-függvény terve

  1. Állítsa be az Azure Spatial Anchor lejáratát. Ennek a függvénynek az Élettartam paramétere lehetővé teszi, hogy a fejlesztő másodpercekben adja meg, hogy a szolgáltatás mennyi ideig tartsa fenn a horgonyt.
    • Egy hét hosszú lejáratának értéke például 60 másodperc x 60 perc x 24 óra x hét nap = 604 800 másodperc.

A felhőhorgonyhoz csatlakoztatott terv az elévülési függvény 604 800 másodpercre beállított élettartam-értékkel való beállításához

A horgonyparaméterek beállítása után a horgonyt mentésre készként deklarálja. Az alábbi példában az újonnan létrehozott Azure Spatial Anchor hozzá lesz adva a mentésre Spatial Anchors Azure-beli horgonykészlethez. Ez a készlet változóként van deklarálva a Pawn-tervhez.

A rögzített változóban való mentésre kész horgony tervét

Horgony mentése

Miután konfigurálta az Azure Spatial Anchorot a paraméterekkel, hívja meg a Save Cloud Anchor (Felhőhorgony mentése) hívást. A Save Cloud Anchor deklarálta az Azure Spatial Anchors horgonyát. Ha a Save Cloud Anchor hívása sikeres, az Azure Spatial Anchor elérhető lesz az Azure Spatial Anchor szolgáltatás többi felhasználója számára.

A hívott felhőbeli horgony függvény mentésének terve

Megjegyzés

A Save Cloud Anchor egy aszinkron függvény, és csak egy játékszál eseményén hívható meg, például az EventTick eseményen. Előfordulhat, hogy a Cloud Anchor mentése nem jelenik meg elérhető tervfunkcióként az egyéni tervek függvényében. Ennek azonban elérhetőnek kell lennie a Pawn Event Graph tervszerkesztőben.

Az alábbi példában az Azure Spatial Anchor egy készletben van tárolva egy bemeneti esemény visszahívása során. A horgony ezután az EventTickbe lesz mentve. Az Azure Spatial Anchor mentése több kísérletet is megkísérelhet attól függően, hogy az Azure-beli Spatial Anchors milyen mennyiségű térbeli adatot hozott létre. Ezért érdemes ellenőrizni, hogy a mentés sikeres volt-e.

Ha a horgony nem ment, akkor beolvassa azt a menteni szükséges horgonykészletbe. A jövőbeli EventTicks mindaddig megpróbálja menteni a horgonyt, amíg sikeresen el nem tárolja.

A nem mentett horgonyok tervének mentése a beállított változóban

A horgony mentése után az AR Pins-átalakító referencia-átalakítóként működik a tartalom alkalmazásba való elhelyezéséhez. Más felhasználók észlelni tudjak ezt a horgonyt, és igazítják az AR-tartalmakat a fizikai világ különböző eszközeihez.

Horgony törlése

A horgonyokat az Azure Spatial Anchor szolgáltatásból a Delete Cloud Anchor hívással törölheti.

A hívott felhőbeli horgony függvény törlésének terve

Megjegyzés

A Delete Cloud Anchor egy rejtett függvény, és csak egy játékszál eseményén hívható meg, például az EventTicken. Előfordulhat, hogy a Delete Cloud Anchor nem jelenik meg elérhető tervfunkcióként az egyéni tervfunkciók függvényében. Ennek azonban elérhetőnek kell lennie a Pawn Event Graph tervszerkesztőben.

Az alábbi példában a horgony törlésre van megjelölve egy egyéni bemeneti eseményen. Ezután a rendszer megkísérli a törlést az EventTicken. Ha a horgony törlése sikertelen, adja hozzá az Azure Spatial Anchort a törlésre megjelölt horgonykészlethez, és a későbbi EventTicksen próbálkozik újra.

Az Event Graph tervnek most az alábbi képernyőképhez hasonlónak kell lennie:

Teljes eseménygrafikon a felhőbeli horgonyok kezelésével

Már meglévő horgonyok keresése

Meglévő horgonyokat az Azure Spatial Anchors társviszonyai Spatial Anchors létre:

  1. Szerezzen be egy Azure Spatial Anchor-azonosítót ahhoz a horgonyhoz, amit észlelni szeretne.
    • Ugyanannak az eszköznek egy korábbi Azure-beli virtuális munkamenetben létrehozott horgonyhoz Spatial Anchors azonosítót. Emellett az Azure-beli virtuális szolgáltatással kommunikáló társeszközök is Spatial Anchors megoszthatják.

A store azure spatial anchor identifier egyéni esemény terve az azure cloud identifier függvény lekért funkcióval

  1. Adjon hozzá egy AzureSpatialAnchorsEvent összetevőt a Pawn-tervhez.
    • Ez az összetevő lehetővé teszi, hogy előfizetsen különböző Azure Spatial Anchors eseményekre, például az Azure-Spatial Anchors eseményekre.

Képernyőkép a BP_Pawn megnyitott tervszerkesztőről, megnyitott összetevőkkel és részletpanelekkel

  1. Iratkozzon fel az AsAAnchor helyen található delegáltra az AzureSpatialAnchorsEvent összetevőre.
    • A delegált tudatja az alkalmazással, ha az Azure Spatial Anchors-fiókhoz társított új horgonyok találhatók.
    • Az esemény-visszahívással az Azure Spatial Anchors használatával létrehozott Azure-beli virtuális Spatial Anchors az AR-PIN-kódokat alapértelmezés szerint nem fogja létrehozni. Ha létre kell hoznia egy AR-pin-kódot az észlelt Azure Spatial Anchorhoz, a fejlesztők a Create ARPin around Azure Cloud Spatial Anchor (ARPin létrehozása az Azure Cloud Spatial Anchor körül) hívásával hozhatnak létre.

Az ASAAnchor által elhelyezett delegálthoz csatlakoztatott Begin Play-esemény terve

Ha meg Spatial Anchors Azure Spatial Anchor szolgáltatással létrehozott Azure-erőforrásokat, az alkalmazásnak létre kell hoznia egy Azure Spatial Anchors Watchert:

  1. Ellenőrizze, hogy fut-e Spatial Anchors Azure-beli virtuális munkamenet.
  2. Hozzon létre egy AzureSpatialAnchorsLocateCriteria szolgáltatásokat.
    • Különböző helyparamétereket is megadhat, például a felhasználótól való távolságot vagy egy másik horgonytól való távolságot.
  3. Deklarálnia kell a keresett Azure Spatial Anchor-azonosítót az AzureSpatialAnchorsLocateCritieria elemben.
  4. Hívja meg a Create Watchert.

Az Azure Spatial Anchors Watcher egyéni eseményének kezdő terve

Az alkalmazás most már az Azure Spatial Anchors szolgáltatás által ismert Azure Spatial Anchors-t keresi, ami azt jelenti, hogy a felhasználók megkeresik a társuk által Spatial Anchors Azure-beli virtuális hálózatokat.

Miután megkereste az Azure Spatial Anchort, hívja meg a Stop Watchert az Azure Spatial Anchors Watcher leállítása és a figyelő erőforrásainak megtisztítása érdekében.

A hívott Stop Watcher függvény terve

A végső Event Graph tervnek most az alábbi képernyőképhez hasonlónak kell lennie:

A horgony delegáltesemények kezelésével kapcsolatos teljes eseménygrafikon tervét

Következő fejlesztési ellenőrzőpont

Ha az Irreális fejlesztési utat követi, amit mi fektettünk le, akkor már csak az MRTK alapvető építőelemei vizsgálatának közepén van. Innen folytathatja a következő építőelemre:

Vagy ugorjon a Mixed Reality képességekre és API-kra:

Bármikor visszamehet az Unreal fejlesztési ellenőrzőpontjaira.

Következő lépések