Sdílet prostřednictvím


Nastavení fotoaparátu v Unity

Když nosíte náhlavní soupravu hybridní reality, stane se středem vašeho holografického světa. Komponenta Unity Camera bude automaticky zpracovávat stereoskopické vykreslování a sledovat pohyb a otáčení hlavy. Pokud ale chcete plně optimalizovat vizuální kvalitu a stabilitu hologramu, měli byste nastavit nastavení kamery popsané níže.

HoloLens vs. imerzivní náhlavní soupravy VR

Výchozí nastavení komponenty Unity Camera jsou určená pro tradiční 3D aplikace, které potřebují pozadí podobné skyboxu, protože nemají skutečný svět.

  • Při spouštění na imerzivní náhlavní soupravě vykreslujete všechno, co uživatel vidí, a proto budete pravděpodobně chtít skybox zachovat.
  • Když ale běží na holografické náhlavní soupravě , jako je HoloLens, skutečný svět by se měl objevit za vším, co fotoaparát vykresluje. Nastavte pozadí fotoaparátu tak, aby bylo průhledné (v HoloLens, černé vykreslení jako průhledné) místo textury Skyboxu:
    1. Výběr hlavní kamery na panelu Hierarchie
    2. Na panelu inspektoru najděte komponentu Kamera a změňte rozevírací seznam Vymazat příznaky z Skyboxu na Plnou barvu.
    3. Vyberte výběr barvy pozadí a změňte hodnoty RGBA na (0, 0, 0, 0)
      1. Pokud tuto možnost nastavíte z kódu, můžete použít Unity. Color.clear

MRTK bude zpracovávat konkrétní nastavení kamery automaticky na základě konfigurace v profilu systému kamery.

Obor názvů: Microsoft.MixedReality.Toolkit.CameraSystem
Typ: MixedRealityCameraSystem

Aby bylo možné zkontrolovat neprůhlivost kamery, má systém IsOpaque MixedRealityCamera vlastnost.

CoreServices.CameraSystem.IsOpaque;

Nastavení kamery

Bez ohledu na to, jaké zkušenosti vyvíjíte, je hlavní kamera vždy primární stereo vykreslovací komponentou připojenou k displeji připojenému k hlavnímu displeji vašeho zařízení. Pokud si představte počáteční pozici uživatele jako (X: 0, Y: 0, Z: 0, Z: 0, Z: 0, Z: 0, bude jednodušší. Vzhledem k tomu, že hlavní kamera sleduje pohyb hlavy uživatele, může být počáteční pozice uživatele nastavena nastavením počáteční pozice hlavní kamery.

Centrální volbou, kterou musíte udělat, je to, jestli vyvíjíte pro HoloLens nebo imerzivní náhlavní soupravy VR. Jakmile to získáte, přeskočte na oddíl nastavení, který se použije.

Nastavení kamery HoloLens

U aplikací HoloLens musíte použít kotvy pro všechny objekty, které chcete zamknout do prostředí scény. K maximalizaci stability a vytváření ukotvení ve více místnostech doporučujeme použít nevázaný prostor.

Podle tohoto podrobného kurzu přidáte a automaticky nakonfigurujete sadu nástrojů Mixed Reality v projektu Unity. Je také možné pracovat přímo se třídou MixedRealityPlayspace z MRTK pro Unity a nastavit cílové škálování na svět:

Okno nastavení MRTK

MRTK by měl zvládnout pozici playspace a kamery automaticky, ale je dobré pečlivě zkontrolovat:

Playspace MRTK

  1. Na panelu Hierarchie rozbalte objekt MixedRealityPlayspace GameObject a vyhledejte podřízený objekt hlavní kamery.
  2. Na panelu inspektoru najděte součást Transformace a změňte pozici na (X: 0, Y: 0, Z: 0)

Nastavení kamery VR

Windows Mixed Reality podporuje aplikace napříč širokou škálou prostředí, od aplikací jen pro orientaci a sesazených aplikací směrem nahoru prostřednictvím aplikací na úrovni místnosti. Na HoloLensu můžete pokračovat a vytvářet aplikace ve velkém měřítku, které uživatelům umožňují chodit po 5 metrech a zkoumat celé patro budovy a dál.

Prvním krokem při vytváření prostředí hybridní reality v Unity je určení, na které prostředí bude vaše aplikace cílit:

Prostředí na pokojích nebo na místě

Poznámka:

Pokud vytváříte pro HL2, doporučujeme vytvořit prostředí na úrovni očí nebo zvážit použití Funkce Rozpoznávání scény k odůvodnění podlahy scény.

Použijte třídu MixedRealityPlayspace z MRTK pro Unity a nastavte cílové měřítko na místnost nebo stojící:

Okno nastavení MRTK

MRTK by měl zvládnout pozici playspace a kamery automaticky, ale je dobré pečlivě zkontrolovat:

Playspace MRTK

  1. Na panelu Hierarchie rozbalte objekt MixedRealityPlayspace GameObject a vyhledejte podřízený objekt hlavní kamery.
  2. Na panelu inspektoru najděte součást Transformace a změňte pozici na (X: 0, Y: 0, Z: 0)

Sesadené prostředí

Použijte třídu MixedRealityPlayspace z MRTK pro Unity a nastavte Target Scale na Seated:

Okno nastavení MRTK

MRTK by měl zvládnout pozici playspace a kamery automaticky, ale je dobré pečlivě zkontrolovat:

Playspace MRTK

  1. Na panelu Hierarchie rozbalte objekt MixedRealityPlayspace GameObject a vyhledejte podřízený objekt hlavní kamery.
  2. Na panelu inspektoru najděte součást Transformace a změňte pozici na (X: 0, Y: 0, Z: 0)

Nastavení pozadí kamery

Pokud používáte MRTK, pozadí kamery se automaticky nakonfiguruje a spravuje. Pro projekty XR SDK nebo starší verze WSA doporučujeme nastavit pozadí kamery na plnou černou barvu na HoloLens a zachovat skybox pro VR.

Použití více fotoaparátů

Pokud je ve scéně více komponent fotoaparátu, Unity ví, kterou kameru použít pro stereoskopické vykreslování na základě toho, který GameObject má značku MainCamera. Ve starší verzi XR používá tato značka také k synchronizaci sledování hlavy. V sadě XR SDK je sledování hlavy řízeno skriptem TrackedPoseDriver připojeným ke kameře.

Vyrovnávací paměti hloubky sdílení

Sdílení hloubkové vyrovnávací paměti vaší aplikace s Windows každý rámec poskytne vaší aplikaci jednu ze dvou zvýšení stability hologramu na základě typu náhlavní soupravy, pro kterou vykreslujete:

  • Imerzivní náhlavní soupravy VR se můžou postarat o poziční přeprojektování, když je k dispozici vyrovnávací paměť hloubky, a upravit hologramy pro chybné diktování v poloze i orientaci.
  • Náhlavní soupravy HoloLens mají několik různých metod. HoloLens 1 automaticky vybere fokus , když je k dispozici vyrovnávací paměť hloubky, optimalizuje stabilitu hologramu podél roviny, která protíná nejvíce obsahu. HoloLens 2 stabilizuje obsah pomocí hloubky LSR (viz poznámky).

Konfigurační dialog MRTK se pokusí nastavit nastavení hloubkové vyrovnávací paměti pro sadu SDK XR i starší verzi WSA, ale je dobré zkontrolovat tyto karty a ověřit nastavení v Unity.

Použití rovin výřezů

Vykreslování obsahu příliš blízko uživatele může být v hybridní realitě nepříjemné. Na komponentě Kamera můžete upravit roviny blízkého a vzdáleného klipu.

  1. Výběr hlavní kamery na panelu Hierarchie
  2. Na panelu Inspektor najděte komponentu Kamera Výřez roviny a změňte textové pole Near z 0.3 na 0.85. Obsah vykreslený ještě blíž může vést k nepříjemnému chování uživatele a měl by se vyhnout pokynům pro vykreslení vzdálenosti.

Opětovné zadání kamery

Pokud vytváříte prostředí pro sesazení, můžete v současné pozici uživatele zavolat XR, abyste nedávno vytvořili původ světa Unity. Metoda InputTracking.Recenter ve starší verzi XR nebo metoda XRInputSubsystem.TryRecenter v sadě XR SDK

Teleportace

Tato funkce je obvykle vyhrazená pro prostředí vr:

MRTK poskytuje systém teleportu v balení, který automaticky funguje napříč kloubovými rukama a ovladači.

Režimy opětovného projektu

HoloLens i i imerzivní náhlavní soupravy přeprojektují jednotlivé snímky, které aplikace vykresluje, aby se při vygenerování fotonů upravily tak, aby se při vygenerování fotek zobrazovaly nesprávné diktování skutečné pozice hlavy uživatele.

Standardně:

  • Imerzivní náhlavní soupravy VR se postarají o poziční reprojektování, pokud aplikace poskytuje hloubkovou vyrovnávací paměť pro daný rámec. Imerzivní náhlavní soupravy také upraví hologramy pro chybné diktování v poloze i orientaci. Pokud není k dispozici hloubková vyrovnávací paměť, systém opraví pouze nesprávné předpoklady v orientaci.
  • Holografické náhlavní soupravy , jako je HoloLens 2, se postará o poziční reprojektování bez ohledu na to, jestli aplikace poskytuje hloubkovou vyrovnávací paměť nebo ne. Poziční reprojektování je možné bez vyrovnávacích pamětí hloubky na HoloLensu, protože vykreslování je často zhuštěné se stabilním pozadím poskytovaným skutečným světem.

MRTK momentálně nemá pomocné rutiny pro režim opětovného projektu. Další informace najdete na jedné z dalších karet.

Kontrolní bod dalšího vývoje

Pokud sledujete cestu vývoje Unity, kterou jsme vytvořili, jste uprostřed zkoumání základních stavebních bloků MRTK. Odtud můžete pokračovat k dalšímu stavebnímu bloku:

Nebo přejděte na možnosti platformy a rozhraní API hybridní reality:

Kdykoli se můžete vrátit k kontrolním bodům vývoje Unity.

Viz také