Kamera beállítása a Unityben

Amikor vegyes valóságú headsetet visel, az a holografikus világ középpontjává válik. A Unity Kamera összetevő automatikusan kezeli a sztereoszkopikus renderelést, és követi a fej mozgását és forgását. A vizuális minőség és a hologram stabilitásának teljes optimalizálásához azonban meg kell adnia az alább ismertetett kamerabeállításokat.

HoloLens vs VR modern headsetek

A Unity Kamera összetevő alapértelmezett beállításai a hagyományos 3D-s alkalmazásokhoz tartoznak, amelyeknek skybox-szerű háttérre van szükségük, mivel nincs valós világuk.

  • Modern headseten való futtatáskor mindent renderel, amit a felhasználó lát, így valószínűleg meg szeretné tartani a skyboxot.
  • HoloLenshez hasonló holografikus headseten való futtatáskor azonban a valós világnak minden mögött meg kell jelennie, amit a kamera renderel. Állítsa a kamera hátterét átlátszóra (a HoloLensben a fekete áttetszőként jelenik meg) a Skybox textúra helyett:
    1. Válassza ki a Fő kamerát a Hierarchia panelen
    2. Az Inspector panelen keresse meg a Kamera összetevőt, és módosítsa a Jelölők törlése legördülő listát a Skyboxról az Egyszínűre
    3. Válassza ki a Háttérszínválasztót, és módosítsa az RGBA értékeket értékre (0, 0, 0, 0)
      1. Ha ezt kódból állítja be, használhatja a Unity Color.clear

Az MRTK automatikusan kezeli az adott kamerabeállításokat a kamerarendszer-profil konfigurációja alapján.

Névtér:Microsoft.MixedReality.Toolkit.CameraSystem
Típus:MixedRealityCameraSystem

A kamera átlátszóságának ellenőrzéséhez a MixedRealityCamera rendszer rendelkezik egy tulajdonságtalIsOpaque.

CoreServices.CameraSystem.IsOpaque;

Kamera beállítása

Bármilyen felületet is fejleszt, a fő kamera mindig az eszköz fejhez csatlakoztatott kijelzőjéhez csatlakoztatott elsődleges sztereó renderelő összetevő. Ha a felhasználó kezdőpozícióját (X: 0, Y: 0, Z: 0) képzeli el, egyszerűbben elrendezheti az alkalmazást. Mivel a fő kamera a felhasználó fejének mozgását követi nyomon, a felhasználó kezdőpozíciója a fő kamera indítási pozíciójának beállításával állítható be.

A központi választás az, hogy HoloLenshez vagy VR modern headsetekhez fejleszt. Ha ezzel elkészült, ugorjon a megfelelő beállítási szakaszra.

HoloLens kamera beállítása

A HoloLens-alkalmazások esetében horgonyokat kell használnia a jelenetkörnyezetbe zárolni kívánt objektumokhoz. Javasoljuk, hogy kötetlen helyet használjon a stabilitás maximalizálása és horgonyok létrehozása több helyiségben.

Ezt a lépésenkénti oktatóanyagot követve hozzáadhatja és automatikusan konfigurálhatja Mixed Reality Toolkitet a Unity-projektben. Közvetlenül is dolgozhat a Unityhez készült MRTK MixedRealityPlayspace osztályával, és a Célskáláta World értékre állíthatja:

MRTK-beállítások ablak

Az MRTK-nak automatikusan kezelnie kell a játéktér és a kamera pozícióját, de érdemes duplán ellenőrizni:

MRTK-lejátszási tér

  1. A Hierarchia panelen bontsa ki a MixedRealityPlayspace GameObject elemet, és keresse meg a Fő kamera gyermekobjektumot
  2. Az Inspector panelen keresse meg az Átalakítás összetevőt, és módosítsa a Pozíciót(X: 0, Y: 0, Z: 0)

VR-kamera beállítása

Windows Mixed Reality támogatja az alkalmazásokat a különféle élményskálákon, a csak tájolású és a ülőméretű alkalmazásoktól kezdve egészen a helyiségméretű alkalmazásokig. A HoloLensen továbbhaladhat, és világméretű alkalmazásokat készíthet, amelyekkel a felhasználók 5 métert meghaladó sétát tehetnek, és felfedezhetik egy épület teljes emeletét és azon túl is.

A vegyes valósági élmény Unityben történő kiépítésének első lépése annak meghatározása, hogy az alkalmazás milyen skálázást céloz meg:

Helyiségméretű vagy álló élmények

Megjegyzés

Ha a HL2-re készül, javasoljuk, hogy hozzon létre egy szemszintű élményt, vagy fontolja meg a Jelenetfelismerés használatát a jelenet padlójára vonatkozó érveléshez.

Használja a Unityhez készült MRTK MixedRealityPlayspace osztályát, és állítsa a CélskálátHelyiség vagy Álló értékre:

MRTK-beállítások ablak

Az MRTK-nak automatikusan kezelnie kell a játéktér és a kamera pozícióját, de érdemes duplán ellenőrizni:

MRTK-lejátszási tér

  1. A Hierarchia panelen bontsa ki a MixedRealityPlayspace GameObject elemet, és keresse meg a Fő kamera gyermekobjektumot
  2. Az Inspector panelen keresse meg az Átalakítás összetevőt, és módosítsa a Pozíciót(X: 0, Y: 0, Z: 0)

Ülő élmények

Használja a Unityhez készült MRTK MixedRealityPlayspace osztályát, és állítsa a CélskálátÜlésre:

MRTK-beállítások ablaka

Az MRTK-nak automatikusan kezelnie kell a játéktér és a kamera helyzetét, de érdemes duplán ellenőrizni:

MRTK-játéktér

  1. A Hierarchia panelen bontsa ki a MixedRealityPlayspace GameObject elemet, és keresse meg a Fő kamera gyermekobjektumot
  2. Az Inspector panelen keresse meg az Átalakítás összetevőt, és módosítsa a pozíciót(X: 0, Y: 0, Z: 0)

A kamera hátterének beállítása

HA MRTK-t használ, a kamera háttere automatikusan konfigurálva és felügyelve lesz. XR SDK- vagy örökölt WSA-projektek esetén javasoljuk, hogy állítsa a kamera hátterét fekete színre a HoloLensen, és tartsa meg a VR-hez készült skyboxot.

Több kamera használata

Ha a jelenetben több Kamera összetevő is található, a Unity tudja, hogy melyik kamerát használja a sztereoszkopikus rendereléshez annak alapján, hogy melyik GameObject rendelkezik a MainCamera címkével. Az örökölt XR-ben ezt a címkét használja a fejkövetés szinkronizálásához is. Az XR SDK-ban a fejkövetést egy, a kamerához csatlakoztatott TrackedPoseDriver-szkript vezérli.

Megosztási mélységi pufferek

Ha az alkalmazás mélységi pufferét windowsosra osztja, az egyes keretekkel az alkalmazás két hologramstabilitási lökést ad az alkalmazásnak a renderelt headset típusától függően:

  • A VR modern headsetjei a mélységi pufferek használatakor gondoskodhatnak a pozíció-újraprojectionről, így a hologramok pozícióban és tájolásban is módosíthatók.
  • A HoloLens headsetek többféle módszert is használnak. A HoloLens 1 automatikusan kijelöl egy fókuszpontot mélységi puffer megadásakor, optimalizálva a hologram stabilitását azon a síkon, amely a legtöbb tartalmat metszi. HoloLens 2 a mélységi LSR használatával stabilizálja a tartalmat (lásd a megjegyzéseket).

Az MRTK konfigurációs párbeszédpanelje megpróbálja beállítani a mélységi pufferbeállításokat az XR SDK-hoz és az örökölt WSA-hoz is, de érdemes ellenőrizni ezeket a lapokat, és ellenőrizni a beállításokat a Unityben.

Vágósíkok használata

A tartalomnak a felhasználóhoz való túl közel való megjelenítése kényelmetlen lehet a vegyes valóságban. A Kamera összetevőn módosíthatja a közeli és a távoli vágósíkokat .

  1. Válassza ki a Fő kamerát a Hierarchia panelen
  2. Az Inspector panelen keresse meg a Kamera összetevő vágósíkjait , és módosítsa a Közelszövegmezőt 0,3-ról0,85-re. A még közelebb renderelt tartalom felhasználói kényelmetlenséghez vezethet, és a renderelési távolságra vonatkozó irányelvek szerint el kell kerülni.

A kamera legutóbbi beállítása

Ha ülő léptékű élményt hoz létre, az XR meghívásával a Unity világának eredetét a felhasználó aktuális vezető pozíciójában teheti meg. InputTracking.Recenter metódus az örökölt XR-ben vagy az XRInputSubsystem.TryRecenter metódusban az XR SDK-ban.

Teleportáció

Ez a funkció általában VR-élményekhez van fenntartva:

Az MRTK egy beépített teleportrendszert biztosít, amely automatikusan működik a csuklós kezek és vezérlők között.

Ismételt leépítési módok

A HoloLens és a modern headsetek is újraprojálják az alkalmazás által renderelt egyes kereteket, hogy igazodjanak a felhasználó tényleges fejpozíciójának helytelenségéhez fotonok kibocsátásakor.

Alapértelmezés szerint:

  • A VR modern mikrofonos fejhallgatók gondoskodnak a pozíció-újraprojectionről, ha az alkalmazás mélységi puffert biztosít egy adott kerethez. A modern headsetek a hologramokat is beállítják, hogy mind pozícióban, mind tájolásban helytelenül lássa el a készüléket. Ha nincs megadva mélységi puffer, a rendszer csak a tájolásban korrigálja a helytelenül megadott hibákat.
  • Az olyan holografikus headsetek, mint a HoloLens 2, gondoskodnak a pozícióprojectionről, függetlenül attól, hogy az alkalmazás biztosítja-e a mélységi puffert vagy sem. A holoLens-en mélységi pufferek nélkül is lehetséges a pozíció-újraprojection, mivel a renderelés gyakran ritka a valós világ által biztosított stabil háttérrel.

Az MRTK jelenleg nem rendelkezik segítőkkel a reprojection módhoz. További információért tekintse meg a többi lap egyikét.

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

Ha követi a Unity által meghatározott fejlesztési folyamatot, akkor az MRTK alapvető építőelemeinek felfedezése közben jár. Innen továbbléphet a következő építőelemre:

Vagy ugorjon Mixed Reality platform képességeire és API-ira:

Bármikor visszatérhet a Unity fejlesztési ellenőrzőpontjaihoz .

Lásd még