Uzamykání světa a prostorové kotvy v Unity

Obrázek hrdiny nástroje pro uzamykání světa

Zajištění toho, aby hologramy zůstaly na svém místě, aby se pohybovaly s vámi nebo se v některých případech umístily vzhledem k jiným hologramům, je velkou součástí vytváření Mixed Reality aplikací. Tento článek vás provede doporučeným řešením pomocí nástrojů World Locking Tools, ale probereme také ruční nastavení prostorových ukotvení ve vašich projektech Unity. Než se pustíme do jakéhokoli kódu, je důležité pochopit, jak Unity zpracovává souřadnicový prostor a ukotvení ve vlastním modulu.

Souřadnicové systémy ve světovém měřítku

Při psaní her, aplikací pro vizualizaci dat nebo aplikací pro virtuální realitu je dnes typickým přístupem vytvoření jednoho absolutního souřadnicového systému světa , ke kterému se všechny ostatní souřadnice můžou spolehlivě namapovat. V takovém prostředí můžete vždy najít stabilní transformaci, která definuje vztah mezi libovolnými dvěma objekty v daném světě. Pokud byste tyto objekty nepřesunuli, jejich relativní transformace by vždy zůstaly stejné. Tento druh globálního souřadnicového systému je snadno použitelný při vykreslování čistě virtuálního světa, kde předem znáte veškerou geometrii. Aplikace VR v měřítku místností dnes obvykle vytvářejí tento druh absolutního souřadnicového systému v rozsahu místnosti se svým původem na podlaze.

Naproti tomu nepřipojené zařízení pro hybridní realitu, jako je HoloLens, má dynamické porozumění světu řízené senzory a průběžně upravuje své znalosti o okolí uživatele, když prochází mnoho metrů po celém patře budovy. Pokud byste ve světovém měřítku umístili všechny hologramy do naivního tuhého souřadnicového systému, tyto hologramy by se v průběhu času posunovaly, a to buď na základě světa, nebo by se vzájemně relativní.

Náhlavní souprava může například v současné době věřit, že dvě místa na světě jsou od sebe vzdálená 4 metry, a později toto porozumění upřesní a naučí se, že umístění jsou ve skutečnosti 3,9 metrů od sebe. Pokud by tyto hologramy byly původně umístěny 4 metry od sebe v jediném tuhém souřadnicovém systému, jeden z nich by se pak vždy objevil 0,1 m od skutečného světa.

Prostorové kotvy můžete v Unity umístit ručně, abyste zachovali pozici hologramu ve fyzickém světě, když je uživatel mobilní. To však obětuje samostatnou konzistenci ve virtuálním světě. Různé kotvy se neustále pohybují ve vztahu k sobě navzájem a také procházejí globálním souřadnicemi. V tomto scénáři jsou jednoduché úkoly, jako je rozložení, obtížné. Fyzikální simulace může být také problematická.

WLT (World Locking Tools ) vám poskytne to nejlepší z obou světů a stabilizuje jeden tuhý souřadnicový systém pomocí interní dodávky prostorových kotev rozprostřených po virtuální scéně při pohybu uživatele. WLT analyzuje souřadnice kamery a tyto prostorové kotvy na každém snímku. Místo změny souřadnic všeho na světě, aby se kompenzují opravy v souřadnicích hlavy uživatele, WLT místo toho pouze opravuje souřadnice hlavy.

Volba přístupu k uzamykání světa

Pokud je to možné, použijte k umístění hologramu nástroje World Locking Tools .

Nástroje world locking tools poskytují stabilní souřadnicový systém, který minimalizuje viditelné nekonzistence mezi značkami virtuálního a reálného světa. Nástroje world Locking Tools uzamknou celou scénu se sdíleným fondem ukotvení, místo aby zamkly každou skupinu objektů s vlastním individuálním ukotvením skupiny.

World Locking Tools automaticky zpracovává interní vytváření a správu prostorových ukotvení. Nemusíte interagovat s ARAnchorManager nebo WorldAnchor, aby vaše hologramy zůstaly ve světě uzamčené.

  • Pro Unity 2019/2020 pomocí OpenXR nebo modulu plug-in Windows XR použijte ARAnchorManager.
  • Pro starší verze Unity nebo projekty WSA použijte WorldAnchor.

Nastavení uzamykání světů

Pokud chcete začít používat nástroje World Locking Tools, stáhněte si nástroj Mixed Reality Feature Tool. Další informace o základech najdete na hlavní stránce dokumentace k nástrojům World Locking Tools, kde najdete odkazy na přehled, rychlý start a další užitečná témata.

Automatizované nastavení

Až bude projekt připravený, spusťte nástroj configure scene z Mixed Reality > World Locking Tools:

Editor Unity s vybranou nabídkou Mixed Reality Toolkit

Důležité

Nástroj Konfigurovat scénu můžete kdykoli spustit znovu. Mělo by se například znovu spustit, pokud se cíl rozšířené rozšířené správy změnil ze starší verze na XR SDK. Pokud je scéna již správně nakonfigurovaná, nemá spuštění nástroje žádný vliv.

Vizualizéry

Během počátečního vývoje může být přidání vizualizérů užitečné, aby se zajistilo správné nastavení a fungování WLT. Je možné je odebrat z důvodu produkčního výkonu, nebo pokud už z nějakého důvodu nejsou potřeba, pomocí nástroje Odebrat vizualizéry. Další podrobnosti o vizualizérech najdete v dokumentaci k nástrojům.

Trvalé uzamčení světa

Prostorové kotvy šetří hologramy v reálném prostoru mezi relacemi aplikace. Po uložení v úložišti ukotvení HoloLens se prostorové kotvy dají najít a načíst v různých relacích a jsou ideální náhradní v případě, že není dostupné připojení k internetu.

Důležité

Místní ukotvení se ukládají na zařízení, zatímco Azure Spatial Anchors jsou uložené v cloudu. Místní kotvy a kotvy Azure můžete mít ve stejném projektu bez konfliktu. Další informace o integraci cloudových služeb Azure do ukládání ukotvení najdete v tématu Azure Spatial Anchors.

Nástroje world locking tools ve výchozím nastavení obnovují souřadnicový systém Unity vzhledem k fyzickému světu napříč relacemi na zařízeních, která podporují trvalost místních prostorových ukotvení. Aby se po ukončení a opětovném spuštění aplikace zobrazil hologram na stejném místě ve fyzickém světě, stačí, když aplikace obnoví stejnou pozici v hologramu.

Komponenta kontextu uzamykání světů v inspektoru Unity

Pokud aplikace potřebuje jemnější kontrolu, můžete v inspektoru zakázat automatické ukládání a automatické načítání a spravovat trvalost ze skriptu. Další informace najdete v tématu Zachování prostorových souřadnicových systémů.

Nástroje world locking tools podporují trvalost místního ukotvení pouze na zařízeních HoloLens. Pro zařízení s Androidem, iOSem a HoloLensem se integrujte se službou Azure Spatial Anchors, abyste podpořili trvalost a sdílení prostorů souřadnic mezi relacemi a zařízeními. Další informace a ukázky s využitím nástrojů World Locking Tools s Azure Spatial Anchors najdete v tématu WLT (World Locking Tools) v kombinaci s Azure Spatial Anchors (ASA).

Další kroky

Sdílejte světem uzamčený prostor souřadnic:

Další informace o prostorovém mapování:

Zpět do kontrolních bodů vývoje Unity:

Viz také