Přehled zachytávání hybridní reality

Poznámka

Pokyny k nové funkci MRC pro HoloLens 2 najdete níže v článku o vykreslování z fotoaparátu PV.

Kdykoli můžete pořídit snímek hybridní reality (MRC) nebo video, ale při vývoji aplikace je dobré mít na paměti několik věcí. To zahrnuje osvědčené postupy pro kvalitu vizuálů MRC a schopnost reagovat na změny systému během zachytování mroků.

Vývojáři mohou také bez problémů integrovat zachytávání a vkládání hybridní reality do svých aplikací.

MRC na HoloLens (první generace) podporuje videa a fotky do 720p, zatímco MRC na HoloLens 2 podporuje videa s rozlišením až 1 080p a fotky s rozlišením až 4 tisíc.

Důležitost kvality MRC

Ať už se jedná o snímky obrazovky hybridní reality na vaší Microsoft Store stránce nebo jiné uživatele, kteří sdílejí zachytávání obsahu na sociálních sítích, Záznam hybridní reality média jsou často uživateli poprvé vystavená vaší aplikaci. MrC můžete použít k degradování aplikace, poučení uživatelů, k nabádání uživatelů ke sdílení jejich interakcí ve smíšeném světě a k uživatelskému výzkumu a řešení problémů.

Vliv MRC na vaši aplikaci

Povolení MRC v aplikaci

Aplikace nemusí ve výchozím nastavení dělat nic, aby uživatelé šly pořizovat zachytávání hybridní reality.

Povolení vylepšeného zarovnání pro MRC v aplikaci

Ve výchozím nastavení zachytávání hybridní reality kombinuje holografický výstup pravého oka s fotoaparátem na fotku/video (PV). Tyto dva zdroje se kombinují pomocí bodu fokusu nastaveného aktuálně spuštěnou imerzivní aplikací.

To znamená, že hologramy mimo rovině fokusu se nezarovná kvůli fyzické vzdálenosti mezi kamerou PV a pravým displejem.

Nastavení bodu fokusu

Imerzivní aplikace (HoloLens) by měly nastavit zaměření na to, kde chtějí mít svou stabilizační rovinu. Tím se zajistí nejlepší zarovnání jak v náhlavní soupravě, tak v zachytávání hybridní reality.

Pokud není nastavený fokus, nastaví se výchozí hodnota stabilizační roviny na 2 metry.

Vykreslení z kamery PV (výslovný souhlas)

HoloLens 2 přidává možnost, aby se imerzivní aplikace vykreslnila z fotoaparátu PV, zatímco je spuštěný záznam hybridní reality. Aby se zajistilo, že aplikace podporuje další vykreslení správně, musí se k této funkci přihlásit.

Render from the PV camera offers the following improvements over the default MRC experience:

  • Zarovnání hologramu k fyzickému prostředí a ruce pro blízkou interakci by mělo být přesné na všech vzdálenostech. Vyhněte se posunu v jiných vzdálenostech než v bodě fokusu, jak se může zobrazit ve výchozím mrc.
  • Pravé oko v náhlavní soupravě nebude ohroženo, protože se nebude používat k vykreslení hologramů pro výstup MRC.

Přečtěte si další informace o vykreslování z kamery PV (DirectX).

Osvědčené postupy (specifické HoloLens)

Očekává se, že MRC bude fungovat bez dalšího úsilí o vývoj, ale při poskytování nejlepšího prostředí pro zachytávání hybridní reality je třeba mít na paměti několik věcí.

MRC používá alfa kanál hologramu k kombinaci s snímky fotoaparátu.

Nejdůležitějším krokem je zajistit, aby se vaše aplikace místo vymazání neprůhledné černé vymazat průhledně černě. V Unity se to ve výchozím nastavení provádí pomocí sady MixedRealityToolkit. Pokud vyvíjíte v jiné než Unity, možná budete muset provést jednu změnu řádku.

Tady jsou některé artefakty, které se můžou zobrazit v MRC, pokud se vaše aplikace nevyčte na transparentní černou:

Příklad selhání:Černé hrany kolem obsahu (nedaří se vymazat na průhledné černé)

Selhání vymazání na průhledné černé: artefakty černé hrany kolem hologramů Nedaří se vymazat průhledné černé: artefakty černé hrany kolem hologramů

Příklad selhání:Celá pozadí scény hologramu vypadá černě. Nastavení alfa hodnoty pozadí jednoho výsledku na černém pozadí

Nastavení hodnoty alfa pozadí 1 má za výsledek černé pozadí.

Očekávaný výsledek:Hologramy správně prolnutí s reálným světem (očekávaný výsledek, pokud je vymazání transparentní černé).

Očekávaný výsledek při vymazání transparentní černé

Řešení:

  • Změňte obsah, který se zobrazuje jako neprůhledný, na hodnotu alfa 0.
  • Ujistěte se, že je aplikace neprůhledná a černá.
  • Unity ve výchozím nastavení automaticky vymaže sadu MixedRealityToolkit, ale pokud se jedná o aplikaci, která není aplikací Unity, měli byste upravit barvu použitou s ID3D11DeiceContext::ClearRenderTargetView(). Chcete zajistit, aby byla transparentní černá (0,0,0,0) místo neprůhledné černé (0, 0, 0, 1).

Pokud chcete, můžete teď ladit alfa hodnoty vašich prostředků, ale obvykle je nepotřebujete. Ve většině času budou mroky vypadat bez problémů. MRC předpokládá předem vynásobený alfa. Hodnoty alfa ovlivní pouze zachycení MRC.

Co očekávat, když je mrc povolené HoloLens

Následující postup platí pro HoloLens (první generace) i HoloLens 2, pokud není uvedeno jinak:

  • Systém aplikaci omešle na vykreslování na 30 Hz. Tím se vytvoří některá rezerva pro spuštění MRC, takže aplikace nemusí udržovat konstantní rezervu rozpočtu a také odpovídá snímkové rychlosti záznamu videa MRC 30 fps.
  • Obsah hologramu v pravém oku zařízení se při záznamu nebo streamování MRC může zdát jako "sparkle": Text se může obtížněji číst a hrany hologramu se dají zdát více žádročí (pokud se rozhodnete pro vykreslení třetího fotoaparátu na počítači HoloLens 2, zabráníte tomuto ohrožení zabezpečení).
  • Fotky a videa MRC budou respektovat zaměření aplikace, pokud ji aplikace povolila, což pomůže zajistit přesné umístění hologramů. U videí je fokus zaostřený, takže pokud se výrazně změní hloubka fokusu, hologramy se mohou pomalu odchýlet. Hologramy, které jsou v různých hloubkách od bodu zaměření, se mohou jeví jako posun od reálného světa (viz příklad níže, kde je focus point nastavený na 2 metry, ale hologram je umístěný na 1 měřiči).

Hologramy ve 2 metrech se bude dokonale registrovat do světa. Hologramy na těsné nebo velké vzdálenosti může být mírně posunutá.

Integrace funkcí MRC z vaší aplikace

Aplikace hybridní reality může v aplikaci spustit snímek fotografie nebo videa MRC a zachycený obsah se z ní zvolní, aniž by se uložil do fotoaparátu zařízení. Můžete vytvořit vlastní záznam MRC nebo využít integrované uživatelské rozhraní pro zachytávání fotoaparátů.

MRC s integrovaným uživatelským rozhraním fotoaparátu

Vývojáři mohou pomocí rozhraní API pro zachytávání fotoaparátů získat uživatelem zachycenou fotku nebo video hybridní reality s pouhými několika řádky kódu.

Toto rozhraní API spustí integrované uživatelské rozhraní fotoaparátu MRC, kde uživatelé mohou pořídit fotku nebo video a vrátí výsledný snímek do vaší aplikace. Pokud potřebujete přidat vlastní uživatelské rozhraní fotoaparátu nebo přístup nižší úrovně pro zachytávání datových proudů, můžete vytvořit vlastní záznam Záznam hybridní reality obrazovky.

Vytvoření vlastního záznamníku MRC

I když uživatel může vždy aktivovat fotku nebo video pomocí systémového záznamu MRC, aplikace může chtít vytvořit vlastní aplikaci fotoaparátu, která bude obsahovat hologramy ve streamu fotoaparátu stejně jako MRC. Aplikace tak může zapnout zachytávání ze vstupu uživatele, vytvořit vlastní uživatelské rozhraní pro záznam nebo přizpůsobit nastavení MRC, abyste si řekli několik příkladů.

HoloStudio přidává vlastní fotoaparát MRC s využitím efektů MRC.

HoloStudio přidává vlastní fotoaparát MRC s využitím efektů MRC.

V části Aplikace Unity by Locatable_camera_in_Unity, která vlastnost umožňuje hologramy.

Ostatní aplikace to mohou udělat pomocí rozhraní API Windows Media Capture k ovládání fotoaparátu a přidání videa a zvuku MRC, který zahrnuje virtuální hologramy a zvuk aplikace ve videích a ve videích.

Přečtěte si další informace o vytvoření vlastního záznamníku MRC (DirectX).

Souběžná omezení MRC

Pokud k MRC přistupuje více aplikací současně, je potřeba mít na paměti určitá omezení.

Přístup k fotce/videokameře

Na HoloLens 1 se MRC nepodaří zachytit fotku nebo zachytit video, zatímco proces nahrává video nebo pořizovat fotku. Platí to i obráceně: Pokud je mrc spuštěný, aplikaci se nepodaří získat přístup k fotoaparátu.

S HoloLens 2 můžete sdílet přístup k fotoaparátu. Pokud nepotřebujete přímou kontrolu nad rozlišením nebo snímkovou rychlostí, můžete mediaCapture inicializovat pomocí vlastnosti SharedMode s vlastností SharedReadOnly.

Integrovaný přístup k fotoaparátu nebo fotce MRC

Přečtěte si o integrovaném přístupu k fotoaparátu nebo fotce MRC (DirectX).

Přístup MRC pro vývojáře

Při používání MRC doporučujeme vždy požádat o výhradní řízení fotoaparátu. Tím zajistíte, že vaše aplikace bude mít úplnou kontrolu nad nastavením fotoaparátu, pokud jste si vědomi výše uvedených omezení.

Přečtěte si další informace o přístupu MRC pro vývojáře (DirectX).

Viz také