Az első HoloLens Unreal-alkalmazás létrehozása

Ez az útmutató végigvezeti az első Mixed Reality alkalmazás futtatásán a HoloLensben az Unreal Engine-ben. A ""Helló világ!" alkalmazás" hagyománya szerint egy egyszerű alkalmazást fog létrehozni, amely egy kockát jelenít meg a képernyőn. A hasznosabb használat érdekében az első kézmozdulatot is létre kell hoznia a kocka elforgatásához és az alkalmazásból való kilépéshez.

Célkitűzések

  • HoloLens-projekt indítása
  • A megfelelő beépülő modulok engedélyezése
  • ARSessionConfig adategység létrehozása
  • Kézmozdulat-bemenetek beállítása
  • Alapszintű buildelés
  • Csippentő kézmozdulat implementálása

Új projekt létrehozása

Az első dolog, amire szüksége van, egy projekt, amellyel dolgoznia kell. Ha Ön első alkalommal van Unreal fejlesztő, le kell töltenie a támogató fájlokat az Epic Launcherből.

  1. Indítsa el az Unreal Engine-t
  2. Az Új projektkategóriák területen válassza a Játékok lehetőséget, majd kattintson a Tovább gombra:

A Legutóbbi projektek ablak megnyílt a Játékok kiemelésével

  1. Jelölje ki az Üres sablont, és kattintson a Tovább gombra:

Unreal project browser window with Blank template highlighted

  1. A Projektbeállítások területen állítsa be a C++, a Méretezhető 3D vagy a 2D, a Mobil/táblagép és a Nincs kezdő tartalom beállítást, majd válasszon egy mentési helyet, és kattintson a Projekt létrehozása gombra.

Megjegyzés

Tervprojekt helyett C++ verziót használ, hogy később készen álljon az OpenXR beépülő modul használatára. Ez a rövid útmutató az Unreal Engine alapértelmezett OpenXR beépülő modulját használja. A hivatalos Microsoft OpenXR beépülő modul letöltése és használata azonban ajánlott. Ehhez a projektnek C++ projektnek kell lennie.

Projektbeállítások ablak kiemelt projekt-, teljesítmény-, célplatform- és kezdőtartalom-választási lehetőségekkel

Az új projektnek automatikusan meg kell nyílnia az Unreal szerkesztőben, ami azt jelenti, hogy készen áll a következő szakaszra.

A szükséges beépülő modulok engedélyezése

Mielőtt objektumokat adhatna hozzá a jelenethez, engedélyeznie kell két beépülő modult.

  1. Nyissa meg a Beépülő modulok szerkesztése > elemet, és válassza a Kiterjesztett valóság lehetőséget a beépített lehetőségek listájából.
  • Görgessen le a HoloLensig , és jelölje be az Engedélyezve jelölőnégyzetet

Plugins window with augmented reality section open and HoloLens highlighted

  1. Írja be az OpenXR kifejezést a jobb felső keresőmezőbe, és engedélyezze az OpenXR és az OpenXRMsftHandInteraction beépülő modult:

Beépülő modulok ablak, amelyen engedélyezve van az OpenXR

Beépülő modulok ablak, amelyen engedélyezve van az Open XR Msft Hand Interaction (Az Open XR Msft Hand Interaction engedélyezése)

  1. A szerkesztő újraindítása

Megjegyzés

Ez az oktatóanyag OpenXR-t használ, de a fent telepített két beépülő modul jelenleg nem biztosítja a HoloLens-fejlesztés teljes funkciókészletét. A HandInteraction beépülő modul elegendő lesz a később használni kívánt "Csippentés" kézmozdulathoz, de ha túl szeretne lépni az alapismereteken, le kell töltenie a Microsoft OpenXR beépülő modult.

Ha a beépülő modulok engedélyezve van, akkor a tartalommal való feltöltésre összpontosíthat.

Szint létrehozása

A következő feladat egy kezdőponttal és egy kockával rendelkező lejátszóbeállítás létrehozása referencia és skálázás céljából.

  1. Válassza az Új szint fájlba, > majd az Üres szint lehetőséget. A nézetablak alapértelmezett jelenetének most üresnek kell lennie
  2. A Módok lapon válassza az Alapszintű lehetőséget, és húzza a PlayerStart elemet a jelenetbe
  • A Részletek lapon állítsa a Hely beállítást X = 0, Y = 0 és Z = 0 értékre, hogy a felhasználó a jelenet közepén legyen az alkalmazás indításakor

Unreal szerkesztő jelenet a hely és a lejátszó kezdődik hozzá

  1. Az Alapszintű lapról húzzon egy kockát a jelenetbe
  • Állítsa a kocka helyétX = 50, Y = 0 és Z = 0 értékre, hogy a kocka 50 cm-re legyen a lejátszótól az indításkor
  • A kocka méretezésének módosítása X = 0,2, Y = 0,2 és Z = 0,2 értékre

A kocka csak akkor látható, ha fényt ad a jelenethez, ami az utolsó feladat a jelenet tesztelése előtt.

  1. A Módok panelen váltson a Fények lapra, és húzzon egy Irányjelző fényt a jelenetbe
  • Helyezze a fényt a PlayerStart fölé, hogy látható legyen

Unreal editor scene with cube and directional light added

  1. Lépjen az Aktuális fájl > mentése elemre, nevezze el a főszintet, és válassza a Mentés lehetőséget.

A jelenetkészlettel nyomja le a Lejátszás gombot az eszköztáron a kocka működés közbeni megtekintéséhez! Ha végzett a munkával, nyomja le az Esc billentyűt az alkalmazás leállításához.

Jelenet lejátszási módban a képernyő közepén lévő kockával

Most, hogy a jelenet be van állítva, készen áll néhány alapvető interakcióra az AR-ben. Először létre kell hoznia egy AR-munkamenetet, és terveket adhat hozzá a kézhasználat engedélyezéséhez.

Munkamenet-objektum hozzáadása

Az Unreal AR-munkamenetei önmagukban nem történnek meg. Munkamenet használatához szüksége lesz egy ARSessionConfig adategységre, amely a következő feladat:

  1. A Tartalomböngészőben válassza az Új > egyéb > adategység hozzáadása lehetőséget, és győződjön meg arról, hogy a tartalom gyökérmappájának szintjén van
  2. Válassza az ARSessionConfig lehetőséget, kattintson a Kiválasztás gombra, és adja az objektumnak az ARSessionConfig nevet:

Válassza ki az adategység-osztály ablakát, amelyen ki van emelve az AR-munkamenet konfigurációs objektuma

  1. Kattintson duplán az ARSessionConfig elemre a megnyitásához, mentse az összes alapértelmezett beállítással, és térjen vissza a Fő ablakba:

Az AR-munkamenet konfigurációs adategységének részletes ablaka

Ezzel a következő lépés annak biztosítása, hogy az AR-munkamenet elinduljon és leálljon, amikor a szint betöltődik és befejeződik. Szerencsére az Unreal rendelkezik egy Level Blueprint nevű speciális tervvel, amely szintszintű globális eseménygráfként működik. Ha csatlakoztatja az ARSessionConfig objektumot a Level Blueprintben, az garantálja, hogy az AR-munkamenet közvetlenül a játék indításakor aktiválódik.

  1. A szerkesztő eszköztárán válassza a Tervek > Nyílt szintű terv lehetőséget:

Megnyílik a Terv menü a nyitott szintű terv lehetőség kiemelésével

  1. Húzza a végrehajtási csomópontot (balra mutató nyíl ikon) az Event BeginPlay és a release elemről
  • Keresse meg az AR-munkamenet indítása csomópontot , és nyomja le az Enter billentyűt
  • Kattintson az Eszköz kiválasztása legördülő listára a Munkamenet-konfiguráció területen, és válassza ki az ARSessionConfig objektumot

Blueprint graph with event begin play connected to the start ar session function

  1. Kattintson a jobb gombbal az EventGraph tetszőleges pontjára, és hozzon létre egy új Event EndPlay csomópontot.
  • Húzza a végrehajtási pin-kódot és engedje fel, majd keressen egy Stop AR Session csomópontot, és nyomja le az Enter billentyűt
  • Kattintson a Fordítás gombra, majd a Mentés gombra , és térjen vissza a Fő ablakba

Fontos

Ha az AR-munkamenet továbbra is fut, amikor a szint véget ér, bizonyos funkciók leállhatnak, ha újraindítja az alkalmazást, miközben headsetbe streamel.

A stop ar munkamenetfüggvényhez csatolt eseményvégi lejátszási csomópont

Bemenetek beállítása

  1. Válassza a Projektbeállítások szerkesztése > lehetőséget, és lépjen a Motorbemenet > elemre
  2. Válassza a +Műveletleképezések melletti ikont , és hozzon létre RightPinch - és LeftPinch-műveleteket :

Kötésbeviteli beállítások a jobb és bal oldali csippentési műveletleképezések kiemelésével

  1. A RightPinch és a LeftPinch művelet leképezése a megfelelő OpenXR Msft Hand Interaction műveletre:

Műveletleképezések a kiemelt Open XR Msft Hand interakciós lehetőségekkel

Kézmozdulatok beállítása

Most, hogy beállítottuk a bemeneteket, a következő izgalmas részhez értünk: Kézmozdulatok hozzáadása! A kockát a jobb csippentésen elforgathatja, és kiléphet az alkalmazásból a bal csippentésen.

  1. Nyissa meg a Szinttervet , és adjon hozzá egy InputAction RightPinch és InputAction LeftPinch elemet
  • Csatlakoztassa a megfelelő csippentési eseményt egy AddActorLocalRotation objektumhoz a kockával célként, a Delta Rotáció pedig X = 0, Y = 0 és Z = 20 értékre van állítva. A kocka ekkor minden csippentéskor 20 fokkal elfordul
  • A bal oldali csippentési esemény csatlakoztatása a játékból való kilépéshez

Simítási szint megnyitása a jobb és bal oldali csippentéses események bemeneti műveleteivel

  1. A kocka Átalakítás beállításai között állítsa a Mobilitás beállítást Mozgatható értékre, hogy dinamikusan mozogjon:

Tranform settings with mobility property highlighted

Ezen a ponton készen áll az alkalmazás üzembe helyezésére és tesztelésére!