VR-alkalmazások portolása Windows Mixed Reality

Windows 10 támogatja a modern és holografikus headseteket. Más eszközök, mint például az Oculus Rift vagy a HTC Vive, az operációs rendszer platform API-ja fölötti kódtáraktól függenek. Ahhoz, hogy a meglévő Win32 Unity VR-alkalmazásokat átvihesse Windows Mixed Reality, újra létre kell hoznia a gyártóspecifikus VR SDK-használatot a Unity több gyártó közötti VR API-jaiban és beépülő moduljaiban.

A VR-alkalmazások Windows Mixed Reality történő átviteléhez a következő magas szintű folyamatokra van szükség:

  1. Győződjön meg arról, hogy a számítógépen a Windows 10, az 1709-es verzió (a Fall Creator's Update) vagy az újabb vagy Windows 11 fut.
  2. Frissítsen a grafikus vagy játékmotor legújabb verziójára. A játékmotoroknak támogatniuk kell a Windows 10 SDK 10.0.15063.0-s vagy újabb verzióját.
  3. Köztes szoftver, beépülő modulok és összetevők frissítése. Ha az alkalmazás tartalmaz összetevőket, frissítsen a legújabb verziókra.
  4. A Legújabb Unity-verzió és az OpenXR beépülő modul megcélzása. Távolítsa el az ismétlődő SDK-k függőségeit. Attól függően, hogy a tartalom melyik eszközre irányult, távolítsa el vagy állítsa le feltételesen az SDK-t.
  5. Az alkalmazásra, a motorra és az összetevő-függőségekre vonatkozó buildelési problémák megoldása.

A portolás gyakori lépései

Kezdje a következő gyakori portolási lépésekkel:

  1. Győződjön meg arról, hogy rendelkezik a megfelelő fejlesztői hardverlel. A VR rajongói útmutatója felsorolja az ajánlott fejlesztői hardvereket.

  2. Frissítsen a Windows 10 legújabb járatára.

    1. A Windows 10 alkotói frissítés telepítése
    2. Csatlakozzon a Windows Insider Programhoz.
    3. Fejlesztői mód engedélyezése
    4. Váltson a Windows Insider Fast járataira aBeállítások > frissítése & biztonsági szakaszon keresztül.

    Megjegyzés

    A Windows Mixed Reality platform még aktív fejlesztés alatt áll. Csatlakozzon a Windows Insider Programhoz a Windows Insider Fast-járat eléréséhez. Ne kapjon előzetes buildeket az Insider Skip Ahead körből, mert ezek a buildek nem a legstabilabbak a vegyes valóság fejlesztéséhez.

  3. Ha Visual Studiót használ, frissítsen a legújabb buildre. Lásd : Eszközök telepítése a Visual Studio 2022-ben. Mindenképpen telepítse a Játékfejlesztést Unity számítási feladattal .

A Unity portolásának lépései

Tekintse át a gyakori lépéseket, és győződjön meg arról, hogy a fejlesztési környezet megfelelően van beállítva. A meglévő Unity-tartalom portolásához kövesse az alábbi lépéseket:

1. Frissítés a Unity legújabb nyilvános verziójára Windows MR-támogatással

  1. Az első lépések előtt mentse a projekt másolatát.
  2. Töltse le a Unity legújabb ajánlott nyilvános buildét Windows Mixed Reality támogatással.
  3. Ha a projekt a Unity régebbi verziójára épült, tekintse át a Unity frissítési útmutatóit.
  4. Kövesse a Unity automatikus API-frissítőjének használatára vonatkozó utasításokat.
  5. Ellenőrizze, hogy kell-e más módosításokat végeznie a projekt futtatásához, és át kell-e dolgoznia a hibákon és figyelmeztetéseken.

2. Frissítse a köztes szoftverét a legújabb verziókra

Bármilyen Unity-frissítés esetén előfordulhat, hogy frissítenie kell egy vagy több köztes szoftvercsomagot, amelyektől a játék vagy az alkalmazás függ. A legújabb köztes szoftverre való frissítés növeli a sikeresség valószínűségét a többi portálási folyamat során.

3. Az alkalmazás megcélzása Win32-en való futtatásra

A Unity-alkalmazáson belül:

  1. Lépjen a Fájl>buildelési beállításai területre.
  2. Válassza a PC, a Mac, a Linux önálló lehetőséget.
  3. Állítsa a célplatformot Windowsra.
  4. Állítsa az architektúrát x86-ra.
  5. Válassza a Platformváltás lehetőséget.

Megjegyzés

Ha az alkalmazás bármilyen függőséget tartalmaz az eszközspecifikus szolgáltatásoktól, például a steames egyezés-készítéstől, tiltsa le őket most. A windowsos egyenértékű szolgáltatásokat később is csatlakoztathatja.

4. Támogatás hozzáadása az Mixed Reality OpenXR beépülő modulhoz

  1. Válasszon és telepítsen egy Unity-verziót és egy XR beépülő modult. Bár a Unity 2020.3 LTS és a Mixed Reality OpenXR beépülő modul a legjobb Mixed Reality fejlesztéshez, más Unity-konfigurációkkal is készíthet alkalmazásokat.

  2. Egy másik VR SDK-ra vonatkozó kódtár-támogatás eltávolítása vagy feltételes fordítása. Ezek az eszközök a Windows Mixed Reality nem kompatibilis módon módosíthatják a projekt beállításait és tulajdonságait.

    Ha például a projekt a SteamVR SDK-ra hivatkozik, frissítse a projektet úgy, hogy a Unity közös VR API-jait használja, amelyek Windows Mixed Reality és a SteamVR-t is támogatják.

  3. A Unity-projektben a Windows 10 SDK-t célozhatja meg.

  4. Minden jelenethez állítsa be a kamerát.

5. A Windows Mixed Reality hardver beállítása

  1. Tekintse át a modern headset beállításának lépéseit.
  2. Megtudhatja, hogyan használhatja a Windows Mixed Reality szimulátort, és hogyan navigálhat a Windows Mixed Reality kezdőlapon.

6. A színpad használatával helyezze a tartalmat a padlóra

A Mixed Reality élmények számos különböző felhasználói skálán építhetők. Ha helyalapú skálázást használ, győződjön meg arról, hogy a Unity a Helyhez kötött nyomkövetési hely típusra van állítva:

XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);

Ez a kód beállítja a Unity világkoordináta-rendszerét a helyhez kötött referenciakeret nyomon követésére. A Helyhez kötött nyomkövetési módban a szerkesztőben közvetlenül a kamera alapértelmezett helye elé helyezett tartalom (a továbbítás -Z) a felhasználó előtt jelenik meg az alkalmazás indításakor. A felhasználó helyének legutóbbi eléréséhez meghívhatja a Unity XR-jét. InputTracking.Recenter metódus.

Ha állandó vagy helyiségméretű élményt portoz, a tartalmat a padlóhoz viszonyítva helyezi el. A felhasználó padlójára a térbeli szakaszt használja, amely a felhasználó definiált padlószintű eredetét jelöli. A térbeli szakasz tartalmazhat egy választható helyiséghatárt, amit az első futtatáskor állított be.

Ezekhez a szolgáltatásokhoz győződjön meg arról, hogy a Unity a Helyiségskálázás nyomkövetési terület típusra van állítva. A RoomScale az alapértelmezett, de explicit módon állítsa be, és győződjön meg arról, hogy visszatér true. Ez a gyakorlat olyan eseteket kap, amikor a felhasználó áthelyezte a számítógépét a kalibrált helyiségből.

if (XRDevice.SetTrackingSpaceType(TrackingSpaceType.RoomScale))
{
    // RoomScale mode was set successfully.  App can now assume that y=0 in Unity world coordinate represents the floor.
}
else
{
    // RoomScale mode was not set successfully.  App can't make assumptions about where the floor plane is.
}

Miután az alkalmazás sikeresen beállítja a Helyiségskálázás követési terület típusát, az y=0 síkon elhelyezett tartalom megjelenik a padlón. A kezdőpont (0, 0, 0) az a konkrét hely a padlón, ahol a felhasználó a szoba beállítása során állt, a -Z pedig azt az előre irányt jelöli, amellyel a beállítás során szembesültek.

A szkriptkódban ezután meghívhatja a metódust a TryGetGeometryUnityEngine.Experimental.XR.Boundary típuson, hogy lekérjen egy határ sokszöget, megadva a határtípust.TrackedArea Ha a felhasználó meghatározta a határt, visszakapja a csúcspontok listáját. Ezután helyiségméretű élményt biztosíthat a felhasználónak, ahol körbejárhatják a létrehozott jelenetet.

A rendszer automatikusan megjeleníti a határt, amikor a felhasználó megközelíti. Az alkalmazásnak nem kell ezt a sokszöget használnia a határ megjelenítéséhez.

Példa az eredményekre:

Példa az eredményekre

További információ: Rendszerek koordinálása a Unityben.

7. A bemeneti modellen keresztüli munka

Minden olyan játék vagy alkalmazás, amely egy meglévő fejre szerelt kijelzőt (HMD- t) céloz meg, rendelkezik az általa kezelt bemenetekkel, a felhasználói élményhez szükséges bemenettípusokkal és az adott API-kkal, amelyeket a bemenetek lekéréséhez hív meg. Egyszerű és egyszerű kihasználni a Windows Mixed Reality elérhető bemeneteket.

A Unity bemeneti portolási útmutatójában részletesen tájékozódhat arról, hogy Windows Mixed Reality hogyan teszi elérhetővé a bemenetet, és hogy a bemeneti adatok hogyan képezik le az alkalmazás működését.

Fontos

Ha HP Reverb G2-vezérlőket használ, további bemeneti leképezési utasításokat a HP Reverb G2-vezérlők a Unityben című témakörben talál.

8. A teljesítmény tesztelése és finomhangolása

Windows Mixed Reality számos eszközön elérhető, a csúcskategóriás játék pc-ktől kezdve a széles piaci mainstream számítógépekig. Ezek az eszközök jelentősen eltérő számítási és grafikus költségvetésekkel rendelkeznek az alkalmazáshoz.

Ha az alkalmazást egy jelentős számítási és grafikus költségkerettel rendelkező prémium számítógéppel portálta, mindenképpen tesztelje és profilozhassa az alkalmazást a célpiacot képviselő hardveren. További információ: Windows Mixed Reality számítógép minimális hardverkompatibilitási irányelvei.

A Unity és a Visual Studio is tartalmaz teljesítményprofilozókat, valamint a Microsoft és az Intel is közzéteheti a teljesítményprofilozásra és -optimalizálásra vonatkozó irányelveket.

A teljesítményről bővebben a Mixed Reality teljesítményével kapcsolatos cikkben olvashat. A Unityre vonatkozó részletes információkért lásd: Teljesítménnyel kapcsolatos javaslatok a Unityhez.

Bemenetleképezés

A bemeneti leképezéssel kapcsolatos információkért és utasításokért lásd: Input porting guide for Unity (A Unity bemeneti portolásának útmutatója).

Fontos

HA HP Reverb G2-vezérlőket használ, további bemeneti leképezési utasításokért lásd: HP Reverb G2-vezérlők a Unityben .

Lásd még