Vegyes valóságú rögzítés áttekintése

Megjegyzés

Az alábbi Render from the PV camera (Renderelés a PV kamerából) oldalon útmutatást olvashat a 2. HoloLens MRC-képességről.

A vegyes valóságú fényképeket (MRC) bármikor rögzítheti, de az alkalmazás fejlesztésekor van néhány dolog, amit figyelembe kell vennie. Ez magában foglalja az MRC-vizualizációk minőségének ajánlott eljárásait, valamint a rendszer változásaira való reagálást az MRC-k rögzített ideje alatt.

A fejlesztők zökkenőmentesen integrálják a vegyes valóságú rögzítést és beszúrást az alkalmazásaikba.

Az HoloLens -on (első generációs) MRC legfeljebb 720p felbontású videókat és fényképeket támogat, míg az HoloLens 2-es HoloLens-ben az MRC legfeljebb 1080p felbontású videókat és legfeljebb 4K felbontású fényképeket támogat.

A minőségi MRC fontossága

Függetlenül attól, hogy vegyes valóságú képernyőképek az Microsoft Store-oldalon, vagy más felhasználók, akik közösségi hálózatokon osztják meg a rögzítési tartalmat, a Vegyes valóság rögzítése-média gyakran a felhasználók első alkalommal osztják meg az alkalmazást. Az MRC-t használhatja az alkalmazás bemutatóihoz, a felhasználók oktatásához, a vegyes világbeli interakciók megosztásához, valamint a felhasználói kutatáshoz és problémamegoldáshoz.

Az MRC hatása az alkalmazásra

Az MRC engedélyezése az alkalmazásban

Alapértelmezés szerint az alkalmazásnak semmit sem kell tennie ahhoz, hogy a felhasználók vegyes valóságú rögzítéseket készítsenek.

Továbbfejlesztett igazítás engedélyezése az MRC-hez az alkalmazásban

Alapértelmezés szerint a vegyes valóságú rögzítés a jobb oldali szem holografikus kimenetét kombinálja a fénykép-videó (PV) kamerával. Ezt a két forrást a jelenleg futó modern alkalmazás által beállított fókuszpont kombinálja.

Ez azt jelenti, hogy a fókuszsíkon kívüli hologramok nem fognak igazodni a PV kamera és a jobb kijelző közötti fizikai távolság miatt.

Fókuszpont beállítása

A modern alkalmazásoknak (a HoloLens) kell beállítaniuk a fókuszpontot, ahol a stabilizálási síkot szeretnék. Ez biztosítja a legjobb igazítást a headsetben és a vegyes valóságban is.

Ha nincs fókuszpont beállítva, a stabilizálási sík alapértelmezés szerint 2 métert ad meg.

Renderelés a PV kamerából (feliratkozás)

HoloLens 2. lehetőség arra, hogy egy modern alkalmazás renderelhető legyen a PV kamerából a vegyes valóságú rögzítés futtatása közben. Annak érdekében, hogy az alkalmazás megfelelően támogatja a további renderelést, az alkalmazásnak el kell látnia ezt a funkciót.

A PV kamera renderelése a következő fejlesztéseket kínálja az alapértelmezett MRC-élményhez:

  • A hologramnak a fizikai környezethez és a kézhez közel álló interakciókhoz való igazításának minden távolságban pontosnak kell lennie. Ne legyen eltolás a fókuszponttól más távolságban, ahogyan az alapértelmezett MRC-ban látható.
  • A headset jobb szemének biztonsága nem sérül, mivel nem fogja használni az MRC-kimenet hologramok renderelésekor.

További információ a PV kamera (DirectX) renderelési funkciójával kapcsolatban.

Ajánlott eljárások (HoloLens)

Az MRC várhatóan további fejlesztési erőfeszítések nélkül fog működni, de van néhány dolog, amit figyelembe kell tenni a legjobb vegyes valóságú rögzítési élmény biztosításakor.

Az MRC a hologram alfacsatornáját használja a kameraképekkel való elegyedéshez

A legfontosabb lépés annak érdekében, hogy az alkalmazás átlátszó fekete legyen, és ne átlátszó fekete legyen. A Unityben ez alapértelmezés szerint a MixedRealityToolkittel történik. Ha nem Unityben fejleszt, előfordulhat, hogy egysoros változtatást kell módosítania.

Íme néhány, az MRC-ban látható összetevő, ha az alkalmazás nem átlátszó fekete lesz:

Példahibák:A tartalom körüli fekete élek (nem átlátszó fekete)

Nem átlátszó fekete: a hologramok körüli fekete élű összetevők Nem sikerül a transzparens feketére ürítve: a hologramok körüli fekete élű összetevők

Példahibák:A hologram teljes háttérszíne feketén jelenik meg. Az egyik háttér-alfa értékének beállítása fekete hátteret ad vissza

Ha 1-es háttér-alfa értéket ad meg, az fekete hátteret ad vissza

Várt eredmény:Hologramok a valós világgal megfelelően elegyedve jelenik meg (a várt eredmény transzparens fekete színre való törlés esetén)

Várt eredmény transzparens fekete színre való törlés esetén

Megoldás:

  • Módosítsa az átlátszatlan fekete tartalmú tartalmakat, hogy az alfa értéke 0 legyen.
  • Győződjön meg arról, hogy az alkalmazás átlátszó feketévé válik.
  • A Unity alapértelmezés szerint automatikusan törli az adatokat a MixedRealityToolkittel, de ha nem Unity-alkalmazás, akkor módosítania kell az ID3D11DeiceContext::ClearRenderTargetView() használatával használt színt. Azt szeretné, hogy átlátszó fekete (0,0,0,0) legyen átlátszó a fekete (0,0,0,1) helyett.

Most már finomhangolhatja az eszközök alfa értékeit, ha szeretné, de általában erre nincs szükség. A legtöbb esetben az MRC-k jól fognak kinézni. Az MRC feltételezi az előre megszorzott alfa-értékeket. Az alfa értékek csak az MRC-rögzítésre vannak hatással.

Mire számíthat, ha az MRC engedélyezve van a HoloLens

A következők az (első HoloLens) és a 2. HoloLens vonatkoznak, hacsak másként nincs jelezve:

  • A rendszer 30 Hz-es renderelésre fogja az alkalmazást. Ez némi mozgástérhez vezet az MRC futtatásához, így az alkalmazásnak nem kell állandó költségvetési tartalékot tartania, valamint meg kell egyezést tartania az MRC 30-as videorekord-képkocka-értékével
  • Előfordulhat, hogy az eszköz jobb szemének hologramtartalmai "sparkle"-nak jelennek meg az MRC rögzítése/streamelése során: a szöveg nehezen olvashatóvá válhat, és a hologramélek nagyobb eséllyel jelennek meg (ha az HoloLens 2-ben a harmadik kamera-megjelenítés mellett dönt, elkerüli ezt a kompromisszumot)
  • Az MRC-fényképek és videók az alkalmazás fókuszpontját is tiszteletben tartják, ha az alkalmazás engedélyezte azt, ami segít biztosítani a hologramok pontos pozícióját. Videók esetén a fókuszpont elsimított, így a hologramok lassan a helyére eshetnek, ha a fókuszpont mélysége jelentősen változik. Hologramok fókuszponttól eltérő mélységben található fókuszpont eltolásnak tűnik a valós világtól (lásd az alábbi példát, ahol a fókuszpont 2 méterre van beállítva, a hologram pedig 1 méteren van eltolást állítva).

Hologramok 2 méternél a kép tökéletesen regisztrálva lesz a világra. Hologramok közeli vagy távoli távolságok kissé eltolást okozhatnak.

MRC-funkciók integrálása az alkalmazásból

A vegyes valóságú alkalmazás elindíthatja az MRC-fotó- vagy videórögzítést az alkalmazáson belül, és a rögzített tartalmak anélkül érhetők el az alkalmazás számára, hogy az eszköz "Kamera roll" eszközén tárolva volna. Létrehozhat egy egyéni MRC-rögzítőt, vagy kihasználhatja a beépített kamerarögzítési felhasználói felületet.

MRC beépített kamera felhasználói felülettel

A fejlesztők a Camera Capture UI API használatával néhány sornyi kóddal lekért vegyes valóságú fényképet vagy videót kaphatnak.

Ez az API elindítja a beépített MRC kamera felhasználói felületét, ahol a felhasználók fényképet vagy videót készítsenek, és az eredményül kapott rögzítést visszaküldik az alkalmazásnak. Létrehozhat egy egyéni Vegyes valóság rögzítése rögzítőt, ha saját kamera-felhasználói felületet vagy alacsonyabb szintű hozzáférést kell hozzáadnia a streamek rögzítéséhez.

Egyéni MRC-rögzítő létrehozása

Bár a felhasználó mindig aktiválhat fényképet vagy videót a rendszer MRC rögzítési szolgáltatásával, előfordulhat, hogy egy alkalmazás olyan egyéni kameraalkalmazást szeretne felépíteni, amely hologramokat tartalmaz a kamerastreamben, csakúgy, mint az MRC. Ez lehetővé teszi, hogy az alkalmazás adatokat készítsen a felhasználói bevitelből, egyéni rögzítési felhasználói felületet építsen ki, vagy testre szabja az MRC-beállításokat, hogy néhány példát is megszabhat.

A HoloStudio egy egyéni MRC-kamerát ad hozzá MRC-hatások használatával

A HoloStudio egy egyéni MRC-kamerát ad hozzá MRC-hatások használatával

A Unity-alkalmazásoknak látniuk Locatable_camera_in_Unity, hogy a tulajdonság engedélyezi-e a hologramokat.

Más alkalmazások ezt a Windows Media Capture API-kkal is meg tudják tenni a kamera vezérléséhez, és egy MRC videó- és hanghatás felvételéhez, amely virtuális hologramokat és alkalmazáshangokat tartalmaz az iramban és videókban.

További információ az egyéni MRC-rögzítő (DirectX) létrehozásáról.

Egyidejű MRC-korlátozások

Tisztában kell lennie bizonyos korlátozásokkal, ha egyszerre több alkalmazás is hozzáfér az MRC-hez.

Fénykép-/videokamerás hozzáférés

Az HoloLens 1. pillanatában az MRC nem fog tudni fényképet vagy videót rögzíteni, miközben egy folyamat videót vagy fényképet készít. Az ellenkezője is igaz: ha az MRC fut, az alkalmazás nem fog tudni hozzáférni a kamerához.

A HoloLens 2-es biztonsági pont segítségével megoszthatja a kamera hozzáférését. Ha nincs szüksége a felbontás vagy a képkocka-sebesség közvetlen szabályozására, inicializálhatja a MediaCapture-t a SharedMode tulajdonsággal a SharedReadOnly használatával.

Beépített MRC-fénykép-/videokamerás hozzáférés

Tudnivalók a beépített MRC fénykép-/videokamerás hozzáférésről (DirectX).

MRC-hozzáférés fejlesztőknek

Az MRC használata esetén javasoljuk, hogy mindig kizárólagos vezérlést kérjen a kamerához. Ez biztosítja, hogy az alkalmazás teljes mértékben vezérelni tudja a kamera beállításait, amíg tisztában van a fent felsorolt korlátozásokkal.

További információ a fejlesztők számára elérhető MRC-hozzáférésről (DirectX).

Lásd még