Prostorové ukotvení
Prostorové ukotvení představuje důležitý bod na světě, který systém sleduje v průběhu času. Každá kotva má upravitelný souřadnicový systém založený na jiných kotvách nebo rámcích odkazu, aby ukotvené hologramy zůstaly přesně na místě. Vykreslení hologramu v souřadnicovém systému ukotvení vám poskytne nejpřesnější umístění hologramu v daném okamžiku. To má cenu malých úprav v průběhu času na pozici hologramu, protože systém ho průběžně přesouvá zpět na místo na základě reálného světa.
Můžete také zachovat a sdílet prostorové kotvy napříč relacemi aplikace: Uložením místních prostorových ukotvení na disk a jejich pozdějším načtením zpět může vaše aplikace vypočítat stejné umístění v reálném světě napříč několika relacemi aplikací na jednom HoloLensu.
Pro prostředí se stálým nebo prostorovým měřítkem pro stolní náhlavní soupravy, které zůstanou v průměru 5 metrů, můžete obvykle místo prostorových ukotvení použít prostorový rámec odkazu , který poskytuje jeden souřadnicový systém, ve kterém se má vykreslit veškerý obsah. Pokud ale vaše aplikace umožňuje uživatelům procházet více než 5 metrů v HoloLensu, možná pracuje v celém patře budovy, budete potřebovat prostorové kotvy, abyste zachovali stabilní obsah.
Prostorové kotvy jsou sice skvělé pro hologramy, které by měly zůstat ve světě pevné, ale jakmile je ukotvení, nedá se přesunout. Existují alternativy k ukotvení, které jsou vhodnější pro dynamické hologramy, které označují společně s uživatelem. Nejlepší je umístit dynamické hologramy pomocí statického rámce odkazu (základ pro souřadnice světa Unity) nebo připojeného rámce odkazu.
Osvědčené postupy
Tyto pokyny prostorového ukotvení vám pomůžou vykreslit stabilní hologramy, které přesně sledují skutečný svět.
Vytvoření prostorových ukotvení, kde je uživatelé umístí
Uživatelé obvykle explicitně umísťují prostorové kotvy.
Například v HoloLensu může aplikace protínnout pohled uživatele s prostorovou mapovací sítí, aby se uživatel rozhodl, kam má hologram umístit. Když uživatel klepne na místo tohoto hologramu, vytvoří prostorovou kotvu v průsečíku a pak hologram umístí na začátek souřadnicového systému dané ukotvení.
Místní prostorové kotvy jsou snadné a výkonné k vytvoření. Systém kombinuje interní data, pokud může několik ukotvení sdílet podkladová data ze snímačů. Doporučujeme vytvořit nové místní prostorové ukotvení pro každý hologram, který uživatel explicitně umístí, s výjimkou níže uvedených případů, jako jsou pevné skupiny hologramů.
Vždy vykreslovat ukotvené hologramy do 3 metrů od ukotvení
Prostorové kotvy stabilizují svůj souřadnicový systém poblíž původu ukotvení. Pokud hologramy vykreslujete více než 3 metry od počátku, mohou hologramy zaznamenat viditelné poziční chyby v poměru k jejich vzdálenosti od tohoto původu kvůli účinkům pákové ramene. To funguje, pokud uživatel stojí blízko ukotvení, protože hologram je daleko od uživatele. Jinými slovy, úhlová chyba vzdáleného hologramu bude malá. Pokud ale uživatel přejde na tento vzdálený hologram, bude ve svém zobrazení velký, což zjeví efekty pákové ramene od vzdáleného původu ukotvení.
Seskupte hologramy, které by měly tvořit pevný cluster
Více hologramů může sdílet stejné prostorové ukotvení, pokud aplikace očekává, že tyto hologramy vzájemně udržují pevné vztahy.
Pokud například animujete holografický solární systém v místnosti, je lepší svázat všechny objekty sluneční soustavy s jednou kotvou ve středu. Tímto způsobem se budou plynule pohybovat na sebe. V tomto případě se jedná o sluneční soustavu jako celek, který je ukotvený, i když se její součásti dynamicky pohybují kolem ukotvení.
Klíčovým upozorněním na zachování stability hologramu je dodržovat výše uvedené pravidlo 3 měřiče.
Vykreslení vysoce dynamických hologramů pomocí statického rámce odkazu místo místního prostorového ukotvení
Pokud máte vysoce dynamický hologram, například znak procházející kolem místnosti nebo plovoucí uživatelské rozhraní, které následuje podél zdi poblíž uživatele, je nejlepší přeskočit místní prostorové kotvy a vykreslit tyto hologramy přímo v souřadnicovém systému poskytovaném statickým rámcem odkazu. V Unity toho dosáhnete tak, že hologramy umístíte přímo do souřadnic světa bez WorldAnchoru. Hologramy v statickém rámci odkazu můžou zaznamenat posun, když je uživatel daleko od hologramu. U dynamických hologramů je to ale méně pravděpodobné: hologram se neustále přesouvá nebo jeho pohyb neustále udržuje blízko uživatele, kde se bude minimalizovat posun.
Jedním zajímavým případem dynamických hologramů je objekt, který animuje z jednoho ukotveného souřadnicového systému do druhého. Můžete mít například dva hrady 10 metrů od sebe, každý na vlastní prostorové kotvě s jedním hradem střílel kanónovou koule na druhém hradě. Při požáru kanónové koule ji můžete vykreslit na příslušném místě v statickém rámečku odkazu tak, aby se shodovala s kanónem v prvním hradě ukotveného souřadnicového systému. Pak může sledovat trajektorii ve statickém rámci odkazu, protože letí 10 metrů vzduchem. Když kanónová koule dosáhne druhého hradu, můžete ji přesunout do druhého hradního ukotveného souřadnicového systému, který umožňuje fyzikální výpočty s pevnými těly hradu.
Pokud sdílíte vysoce dynamický hologram mezi zařízeními, vyberte si cloudové prostorové ukotvení, které bude fungovat jako nadřazené, protože statické rámce odkazu se nedají sdílet napříč zařízeními. Měli byste ale zajistit, aby dynamické hologramy nebo zařízení, která si ho prohlížejí, zůstaly v poloměru 3 měřiče ukotvení, aby se hologram na všech zařízeních zobrazoval stabilní.
Vyhněte se vytváření mřížky prostorových ukotvení
Může být lákavé, že aplikace při procházení uživatelem zahodí běžnou mřížku prostorových ukotvení a přepne dynamické objekty z ukotvení na ukotvení. To ale zahrnuje větší správu pro vaši aplikaci, aniž by to bylo přínosem hloubkových dat snímačů, které samotný systém udržuje interně. V těchto případech dosáhnete lepších výsledků umístěním hologramů do statického rámce odkazu, jak je popsáno v části výše. Když předložíte sadu cloudových prostorových ukotvení kolem statického prostoru, zvažte umístění prostorových ukotvení na místa klíčových hologramů, se které uživatel setká podle výše uvedeného principu, a ne vytvoření libovolné mřížky ukotvení. Tím zajistíte maximální stabilitu těchto klíčových hologramů.
Uvolnění místních prostorových ukotvení, které už nepotřebujete
I když je místní prostorové ukotvení aktivní, systém upřednostňuje zachování dat snímačů, která jsou blízko této ukotvení. Pokud už prostorovou kotvu nepoužíváte, zastavte přístup ke svému souřadnicovém systému. Díky tomu se podle potřeby odeberou příslušná data ze snímačů.
To je zvlášť důležité pro místní kotvy, které jste zachovali v úložišti prostorových ukotvení. Data ze snímačů za těmito kotvami se budou trvale uchovávat, aby vaše aplikace mohla najít toto ukotvení v budoucích relacích, což snižuje prostor dostupný ke sledování dalších ukotvení. Zachovat pouze místní kotvy, které potřebujete znovu najít v budoucích relacích. Doporučujeme je odebrat z obchodu, když už nebudou pro uživatele smysluplné.
V případě cloudových prostorových ukotvení může vaše úložiště škálovat podle potřeby. Můžete uložit tolik cloudových ukotvení, kolik potřebujete, a uvolnit je, když víte, že vaši uživatelé nebudou znovu potřebovat ukotvení.