Přenesení aplikací VR do Windows Mixed Reality

Windows 10 zahrnuje podporu imerzivních a holografických náhlavních souprav. Další zařízení, jako je Oculus Rift nebo HTC Vive, mají závislosti na knihovnách, které existují nad rozhraním API platformy operačního systému. Pokud chcete přenést existující aplikace Win32 Unity VR do Windows Mixed Reality, musíte přecílit využití sady VR SDK specifické pro konkrétní dodavatele na rozhraní API a moduly plug-in pro virtuální realitu Unity.

Přenos aplikací VR do Windows Mixed Reality vyžaduje následující procesy vysoké úrovně:

  1. Ujistěte se, že na počítači běží Windows 10 verze 1709 (Fall Creator's Update) nebo novější nebo Windows 11.
  2. Upgradujte na nejnovější verzi grafiky nebo herního stroje. Herní stroje musí podporovat sadu Windows 10 SDK verze 10.0.15063.0 nebo vyšší.
  3. Upgradujte middleware, moduly plug-in a komponenty. Pokud vaše aplikace obsahuje nějaké součásti, upgradujte na nejnovější verze.
  4. Zaměřte se na nejnovější verzi Unity a modul plug-in OpenXR. Odeberte závislosti na duplicitních sadách SDK. V závislosti na tom, na které zařízení váš obsah cílil, odeberte nebo podmíněně zkompilujte sadu SDK.
  5. Projděte si problémy se sestavením specifické pro vaši aplikaci, modul a závislosti komponent.

Běžné kroky přenosu

Začněte následujícími běžnými kroky přenosu:

  1. Ujistěte se, že máte správný vývojový hardware. Průvodce nadšenci pro virtuální realitu uvádí doporučený vývojový hardware.

  2. Upgradujte na nejnovější testovací verzi Windows 10.

    1. Instalace Windows 10 Creators Update
    2. Zapojte se do programu Windows Insider.
    3. Povolení vývojářského režimu
    4. Přejděte na rychlé testovací verze programu Windows Insider prostřednictvím části Aktualizace nastavení > & zabezpečení.

    Poznámka

    Platforma Windows Mixed Reality je stále ve vývoji. Připojte se k programu Windows Insider a získejte přístup k letové verzi Windows Insider Fast. Nedobívejte buildy Preview z okruhu Insider Skip Ahead, protože tyto buildy nejsou nejstabilnější pro vývoj pro hybridní realitu.

  3. Pokud používáte Visual Studio, upgradujte na nejnovější build. Viz Instalace nástrojů v sadě Visual Studio 2022. Nezapomeňte nainstalovat úlohu Vývoj her pomocí Unity .

Kroky přenosu Unity

Projděte si běžné kroky a ujistěte se, že je vaše vývojové prostředí správně nastavené. Pokud chcete přenést existující obsah Unity, postupujte takto:

1. Upgrade na nejnovější veřejný build Unity s podporou Windows MR

  1. Než začnete, uložte si kopii projektu.
  2. Stáhněte si nejnovější doporučený veřejný build Unity s podporou Windows Mixed Reality.
  3. Pokud byl váš projekt postaven na starší verzi Unity, projděte si příručky k upgradu Unity.
  4. Postupujte podle pokynů pro použití automatického aktualizátoru rozhraní API Unity.
  5. Zjistěte, jestli potřebujete udělat nějaké další změny, aby se projekt spustil, a projděte si případné chyby a upozornění.

2. Upgrade middlewaru na nejnovější verze

S jakoukoli aktualizací Unity možná budete muset aktualizovat jeden nebo více balíčků middlewaru, na které vaše hra nebo aplikace závisí. Aktualizace na nejnovější middleware zvyšuje pravděpodobnost úspěchu ve zbytku procesu přenosu.

3. Zaměřte svou aplikaci tak, aby běžela na Win32.

Z aplikace Unity:

  1. Přejděte naNastavení sestavenísouboru>.
  2. Vyberte PC, Mac, Linux Standalone.
  3. Nastavte cílovou platformu na Windows.
  4. Nastavte architekturu na x86.
  5. Vyberte Přepnout platformu.

Poznámka

Pokud má vaše aplikace nějaké závislosti na službách specifických pro zařízení, jako je třeba match making ze služby Steam, zakažte je teď. Ekvivalentní služby pro Windows můžete připojit později.

4. Přidání podpory pro Mixed Reality modul plug-in OpenXR

  1. Zvolte a nainstalujte verzi Unity a modul plug-in XR. Unity 2020.3 LTS s Mixed Reality modulem plug-in OpenXR je sice nejvhodnější pro Mixed Reality vývoj, ale můžete také vytvářet aplikace s jinými konfiguracemi Unity.

  2. Odeberte nebo podmíněně zkompilujte jakoukoli podporu knihovny specifickou pro jinou sadu SDK vr. Tyto prostředky můžou měnit nastavení a vlastnosti projektu způsobem, který není kompatibilní s Windows Mixed Reality.

    Pokud například váš projekt odkazuje na sadu SteamVR SDK, aktualizujte projekt tak, aby místo toho používal běžná rozhraní API virtuální reality Unity, která podporují Windows Mixed Reality i SteamVR.

  3. V projektu Unity zaměřte Windows 10 SDK.

  4. Pro každou scénu nastavte kameru.

5. Nastavení hardwaru Windows Mixed Reality

  1. Projděte si postup v tématu Nastavení imerzivní náhlavní soupravy.
  2. Naučte se používat simulátor Windows Mixed Reality a navigovat na domovské stránce Windows Mixed Reality.

6. Pódiu použijte k umístění obsahu na podlahu

Můžete vytvářet Mixed Reality prostředí v široké škále možností. Pokud portujete prostředí v sesedě, ujistěte se, že je Unity nastavený na typ statického prostoru pro sledování:

XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);

Tento kód nastaví souřadnicový systém Unity pro sledování statického referenčního rámce. V režimu statického sledování se obsah, který umístíte do editoru přímo před výchozí umístění kamery (vpřed je -Z), zobrazí před uživatelem při spuštění aplikace. Pokud chcete nedávno použít původ usazeného uživatele, můžete volat XR Unity. Metoda InputTracking.Recenter

Pokud portujete prostředí ve stálém měřítku nebo prostředí v rozsahu místnosti, umísťujete obsah vzhledem k podlaze. K odůvodnění podlahy uživatele použijete prostorovou fázi, která představuje uživatelem definovaný původ na úrovni podlahy. Prostorová fáze může zahrnovat volitelnou hranici místnosti, kterou jste nastavili při prvním spuštění.

V případě těchto možností se ujistěte, že je Unity nastavená na typ prostoru pro sledování úrovně RoomScale . RoomScale je výchozí, ale nastavte ho explicitně a ujistěte se, že se vrátíte.true Tento postup zachycuje situace, kdy uživatel přesunul počítač mimo místnost, kterou kalibroval.

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.
}

Jakmile aplikace úspěšně nastaví sledovací prostor typu RoomScale, obsah umístěný v rovině y=0 se zobrazí na podlaze. Počátek na (0, 0, 0) je konkrétní místo v podlaze, kde uživatel stál během nastavování místnosti, přičemž -Z představuje směr dopředu, kterému čelí během nastavování.

V kódu skriptu pak můžete voláním TryGetGeometry metody pro UnityEngine.Experimental.XR.Boundary typ získat hraniční mnohoúhelník a zadat typ TrackedAreahranice . Pokud uživatel definoval hranici, získáte zpět seznam vrcholů. Pak můžete uživateli poskytnout prostředí v rozsahu místnosti , kde může procházet scénu, kterou vytvoříte.

Systém automaticky vykresluje hranici, když se k ní uživatel přiblíží. Aplikace nemusí tento mnohoúhelník používat k vykreslení samotné hranice.

Příklad výsledků:

Příklad výsledků

Další informace najdete v tématu Souřadnicové systémy v Unity.

7. Práce se vstupním modelem

Každá hra nebo aplikace, která cílí na existující monitor připojený k hlavě (HMD), má sadu vstupů, které zpracovává, typy vstupů, které potřebuje pro prostředí, a konkrétní rozhraní API, která volá, aby tyto vstupy získala. Využití vstupů dostupných v Windows Mixed Reality je jednoduché a jednoduché.

Podrobnosti o tom, jak Windows Mixed Reality zveřejňuje vstup a jak se vstup mapuje na to, co vaše aplikace teď dělá, najdete v průvodci přenosem vstupu pro Unity.

Důležité

Pokud používáte řadiče HP Reverb G2, podívejte se na článek Řadiče HP Reverb G2 v Unity, kde najdete další pokyny k mapování vstupu.

8. Testování a ladění výkonu

Windows Mixed Reality je k dispozici na mnoha zařízeních, od špičkových herních počítačů až po běžné běžné počítače na trhu. Tato zařízení mají pro vaši aplikaci k dispozici výrazně odlišné rozpočty na výpočetní prostředky a grafiku.

Pokud jste aplikaci přepojili pomocí prémiového počítače s významnými rozpočty na výpočetní a grafickou kartu, nezapomeňte aplikaci otestovat a profilovat na hardwaru, který představuje váš cílový trh. Další informace najdete v tématu Windows Mixed Reality pokyny pro minimální kompatibilitu hardwaru počítače.

Unity i Visual Studio obsahují profilátory výkonu a Microsoft i Intel publikují pokyny pro profilaci a optimalizaci výkonu.

Rozsáhlou diskuzi o výkonu najdete v tématu Vysvětlení výkonu Mixed Reality. Konkrétní podrobnosti o Unity najdete v tématu Doporučení k výkonu pro Unity.

Mapování vstupu

Informace o mapování vstupu a pokyny najdete v průvodci portováním vstupu pro Unity.

Důležité

Pokud používáte řadiče HP Reverb G2, podívejte se na článek Řadiče HP Reverb G2 v Unity, kde najdete další pokyny k mapování vstupu.

Viz také