Tvorba Galaxy Exploreru pro HoloLens 2
Vítá vás aktualizovaná aplikace Galaxy Explorer pro HoloLens 2! Galaxy Explorer byl původně vyvinut jako opensourcová aplikace pro HoloLens (první generace) prostřednictvím programu Share Your Idea a je jedním z prvních zkušeností s hybridní realitou, kterou měli mnozí lidé. Teď ho aktualizujeme o nové a zajímavé možnosti HoloLens 2.
Jako jeden z Microsoft Mixed Reality Studios obvykle vyvíjíme komerční řešení a v průběhu procesu vytváření a vývoje vyvíjíme & testování na cílových platformách. Do tohoto projektu se pouštíme pomocí architektur a nástrojů (jako MRTK), jakmile budou k dispozici pro nás a komunitu – a chceme vás přivést na cestu.
Stejně jako u původního Galaxy Exploreru bude náš týmotevřený zdroj projektu na GitHubu , aby se zajistil plný přístup komunity. Zcela transparentně zdokumentujeme naši cestu také o tom, jak jsme přepojovali z MRTK v1 na MRTK v2, vylepšili prostředí o nové funkce dostupné v HoloLens 2 a zajistili, že Galaxy Explorer zůstal multi platformou. Ať už si Galaxy Explorer prohlížíte na HoloLensu (první generace), HoloLens 2, Windows Mixed Reality náhlavní soupravě nebo na stolním počítači Windows 10, chceme mít jistotu, že se vám cesta bude líbit stejně jako nám.
Tato stránka se bude s postupem v projektu rozšiřovat o odkazy na podrobnější články, kód, artefakty návrhu a další dokumentaci MRTK, která vám poskytne pohled na projekt z pohledu insidera.
Stažení aplikace z Microsoft Storu v HoloLens 2
Pokud máte HoloLens 2 zařízení, můžete si aplikaci přímo stáhnout a nainstalovat do svého zařízení.
Zamyšlení nad interakcemi
Jako kreativní studio jsme byli nadšení z privilegia přenést Galaxy Explorer do HoloLens 2. Od začátku jsme věděli, že chceme, aby prostředí bylo oslavou nového zařízení, a ukázat, že Mixed Reality posílení je omezené pouze představivostí.
HoloLens 2 umožňují uživatelům dotýkat se hologramů, uchopit je a přesouvat je přirozeným způsobem – reagují hodně jako skutečné objekty. Plně artikulované ruční modely jsou úžasné, protože umožňují uživatelům dělat to, co je přirozené. Každý například vezme kelímek trochu jinak – a místo vynucení jednoho konkrétního způsobu, jak to udělat, HoloLens 2 vám to umožní udělat podle vás.
Jedná se o významnou změnu oproti rozhraním založeným na technologii Air Tap na zařízeních HoloLens první generace. Místo práce s hologramy na dálku teď uživatelé můžou pracovat "zblízka a osobně". Při přenesení stávajících prostředí do HoloLens 2 nebo plánování nových prostředí je důležité seznámit se s přímou manipulací s hologramy.
Přímá manipulace vs. obrovské vzdálenosti v prostoru
Je to kouzelný zážitek, jak se spojit, popadnout planetu a držet ji v ruce. Výzvou tohoto přístupu je velikost sluneční soustavy – je obrovská! Uživatel by se kvůli interakci s jednotlivými planetami museli projít po místnosti.
Aby mohli uživatelé pracovat s objekty, které jsou dál, NABÍZÍ MRTK ruční paprsky, které vystřelují ze středu dlaně uživatele a fungují jako rozšíření ruky. Kurzor ve tvaru prstence je připojen ke konci paprsku, který označuje, kde se paprsek protíná s cílovým objektem. Objekt, na který kurzor přistane, pak může přijímat gestické příkazy z ruky.
V původní verzi Galaxy Exploreru by uživatel cílil na planetu pomocí kurzoru pohledu a potom by se klepnutím na vzduch zavolal blíž. Nejjednodušší způsob, jak přenést prostředí na HoloLens 2, je použít toto chování a použít ruční paprsky k výběru planet. I když to bylo funkční, chtěli jsme víc.
Zpátky ke kreslicímu prknu
Sešli jsme se, abychom si vymysleli, co by mohlo být postavené na existujících interakcích. Myšlenka byla následující: I když HoloLens 2 uživatelům umožňuje interakci s hologramy přirozenými a realistickými způsoby, hologramy nejsou z definice reálné. Pokud je tedy interakce pro uživatele přijatelná, nezáleží na tom, jestli by tato interakce byla možná se skutečným objektem nebo ne – můžeme to umožnit.
Jeden z konceptů, který jsme prozkoumali, byl založen na telekineze – schopnosti manipulovat s objekty s vědomím. Často se vídá v superhrdinových filmech, člověk by se natáhl s myslí a zavolal objekt do své otevřené ruky. Trochu jsme si s myšlenkou pohráli a vytvořili jsme rychlý náčrtek, jak by tento koncept mohl fungovat.
Uživatel nasměruje paprsek ruky na planetu, což by poskytlo cílovou zpětnou vazbu. Když pak uživatel roztáhne svou otevřenou ruku, bude planeta vytažena k uživateli magickou silou, dokud nebude dostatečně blízko, aby ji uchopila. Proto náš název pro interakci: vynucené uchopení. Když by uživatel s otevřenou rukou odstrčil planetu, vrátil by se znovu na oběžnou dráhu.
Vynucené uchopení prototypů
Pak jsme vytvořili několik prototypů, abychom otestli koncept: Jaký je celkový pocit interakce? Měl by se volaný objekt zastavit před uživatelem nebo se přilepit na ruce, dokud ho nezasunou? Má se volaný objekt při zavolání změnit velikost nebo měřítko?
Implementace vynuceného využití do aplikace
Když jsme se pokusili uchopit planety silou, uvědomili jsme si, že musíme změnit měřítko sluneční soustavy. Ukázalo se, že přesné a střední znázornění sluneční soustavy je pro uživatele obtížné pochopit a navigovat – nevěděli, kde hledat. Malé znázornění však způsobovalo, že některé planety byly příliš malé na to, aby je bylo možné snadno vybrat. V důsledku toho byla velikost planet a mezery mezi slunečními objekty navrženy tak, aby se v místnosti střední velikosti cítily pohodlně při zachování relativní přesnosti.
V pozdějších fázích vývojového sprintu jsme měli to štěstí, že jsme měli interní odborníky na MSFT Mixed Reality, takže jsme museli pracovat na tom, abychom získali jejich vstup jako expertní testeři a provedli rychlé iterace interakce s vynuceným chytnutím.
Na obrázku: Jenny Kam, vedoucí vedoucí designu, testuje probíhající práci na Galaxy Exploreru.
Přidání cen pro cílení
Při experimentování s HoloLens 2 jsme zjistili, že i když jsou nové interakce přirozené a intuitivní, hologramy zůstávají stejné: bez váhy nebo hmatových pocitů. Vzhledem k tomu, že hologramy neposkytují přirozenou zpětnou vazbu, na kterou jsou lidé zvyklí při interakci s objekty, potřebovali jsme je vytvořit.
Přemýšleli jsme o vizuální a zvukové zpětné vazbě, kterou by uživatelé měli poskytovat v různých fázích jejich interakcí, a protože mechanismus force grab je pro interakci s Galaxy Explorerem ústřední, provedli jsme mnoho iterací. Cílem bylo najít správnou rovnováhu zvukové a vizuální zpětné vazby pro každou fázi interakce: zaměřit se na zamýšlený objekt, zavolat ho uživateli a pak ho uvolnit. Dozvěděli jsme se, že k posílení interakce bylo potřeba více zvukové a vizuální zpětné vazby, než jsme byli zvyklí u HoloLensu (první generace).
Přidání cenových prostředků pro vynucení
Jakmile jsme měli základní mechanismus force grab s audio a vizuální dostupy, podívali jsme se na to, jak udělat výběr planet uživatelsky přívětivější. Bylo potřeba řešit dvě hlavní věci: Vzhledem k tomu, že sluneční soustava je 3D pohyblivé rozhraní, je pro uživatele ještě složitější naučit se konzistentně cílit na objekty. To bylo umocněno skutečností, že paprsek ruky je rychlý při výběru objektu, takže planety se pohybují směrem k uživateli neuvěřitelně rychle.
Přistupovali jsme k tomu s třístupňovým řešením. První byl poměrně intuitivní: zpomalit proces výběru tak, aby planety přistupovaly k uživateli přirozenějším tempem. Po úpravě rychlosti jsme se museli znovu vrátit k cenám zvuku a vizuálů a přidat zvukovou zpětnou vazbu, jak se planeta sleduje směrem k uživateli.
Druhou částí řešení bylo zhmotnit vizualizaci celé interakce se získáním síly. Vizualizovali jsme silnou čáru, která se přesune směrem k cílovému objektu, jakmile se s ním spojí paprsek ruky, a pak objekt vrátí zpět uživateli – jako laso.
Nakonec jsme optimalizovali měřítko sluneční soustavy tak, aby planety byly dostatečně velké na to, aby na ně pohled uživatele a paprsky ruky cílily.
Tato tři vylepšení umožňují uživatelům provádět přesné výběry a intuitivně jim volat planety. Celkově platí, že efekt závěrečného uchopení síly je více imerzivní a interaktivnější zážitek ve sluneční soustavě.
Spotlight on Jupiter
Vytváření slunečních těles v Mléčné dráze bylo pokořující zážitek. Zejména jedinečné vlastnosti Jupiteru z něj činí pohled na pohled. Je to největší a nejbarevnější z plynných obrů a obsahuje více hmot než všechny ostatní planety dohromady. Jeho velká velikost a uchvácené pásy turbulence a dynamiky mraků jsou pro zvláštní uměleckou pozornost.
Geometrie a sítě
Jako plynný obr se vnější shelly Jupitera skládají z plynných vrstev. Kombinace rychlé rychlosti otáčení, vnitřní výměny tepla a coriolisových sil vytváří barevné vrstvy a proudy, které se tvoří do kroužících oblacích a vírů. Zachycení této složité krásy bylo klíčem k vytvoření naší sluneční soustavy.
Bylo okamžitě jasné, že použití technik vizualizace, jako jsou simulace tekutin a animované textury s předem připravenými proudy, není pochyb. Výpočetní výkon potřebný k simulaci v kombinaci se vším ostatním, co se děje současně, by měl významný negativní dopad na výkon.
Dalším přístupem bylo řešení typu kouř a zrcadlo, které se skládalo z překryvných průhledných vrstev textur, z nichž každá řešila určitý aspekt atmosférického pohybu, sestaveného na složení rotujících ok.
Na obrázku níže vidíte na levé straně vnitřní prostředí. Tato vrstva rohože poskytla pozadí ke složení, které chrání před malými mezerami mezi několika vrstvami, které tvoří mraky. Vzhledem k pomalému otáčení vrstvy sloužila také jako vizuální vyrovnávací paměť mezi rychlejšími pohybujícími se pásmy, která pomáhá vytvářet vizuální jednotu v rámci vrstev.
Po nastavení tohoto ukotvení na model se pak pohybující se vrstvy cloudu promítly na střední a pravou síť zobrazenou níže.
Texturování
Stávající textura byla rozdělena do třídílného atlasu textur: Horní třetina hostuje nehybnou vrstvu mraků s mezerami, aby poskytla paralaxní efekt, prostřední část obsahuje rychle se pohybující vnější proudy a dolní třetina obsahuje pomalu rotující vnitřní základní vrstvu.
Charakteristická Velká červená skvrna byla také rozdělena do svých různých pohyblivých částí a poté vložena do jinak neviditelné oblasti textury. Tyto komponenty jsou vidět jako červeně vytápěné skvrny v prostřední části obrázku níže.
Vzhledem k tomu, že každý pás má určitý směr a rychlost, byla textura aplikována na každou síť zvlášť. Sítě pak měly společný střed a bod otáčení, což umožňovalo soustřednou animaci celého povrchu.
Chování otáčení a textury
Jakmile bylo vizuální složení Jupiteru nastaveno, potřebovali jsme zajistit, aby rotace a rychlost oběžné dráhy byly správně vypočteny a aplikovány odpovídajícím způsobem. Úplně obměně trvá Přibližně 9 hodin. Vzhledem k tomu, že se jedná o rozdílovou rotaci, je to věc definice. Proto byl rovníkový proud nastaven jako "hlavní proud", přičemž úplné otočení trvá 3 600 snímků. Každá druhá vrstva musí mít rotační rychlost jako faktor 3600, aby odpovídala své počáteční poloze, což umožňuje např. 600, 900, 1200, 1800 atd.
Velký červený bod
Jednotlivě rotující proudy poskytovaly dobrý vizuální dojem, ale při pozorování zblízka chyběly podrobnosti.
Nejvíce poutavá část byla Jupiterova velká červená skvrna, takže jsme vytvořili sadu ok a textur speciálně k jeho prezentaci. Použili jsme podobný mechanismus jako u Jupiterových pásem: sada rotujících částí byla složena na sebe navzájem a zároveň byla seskupena pod svou "hlavní vrstvou", aby se zajistilo, že zůstanou na pozici bez ohledu na to, jak rychle se zbytek pohybuje.
Když byly sítě nastaveny a na místě, byly aplikovány různé vrstvy bouřlivého víru a každý disk byl následně animovaný jednotlivě, středové díly se pohybovaly nejrychleji, přičemž zbytek postupně zpomaloval, jak se pohybuje směrem ven.
Skladba měla také stejný pivot jako všechny ostatní sítě a zároveň si udržovala svůj sklon od původní osy y (!), aby bylo možné volně animovat otáčení. 3 600 snímků je základní frekvence, přičemž každá vrstva má tento faktor jako období otáčení.
Správné nastavení v Unity
Při implementaci v Unity je potřeba mít na paměti několik klíčových věcí.
Unity se při práci s velkými sadami průhledných vrstev snadno zaměňuje. Řešením bylo duplikovat materiál textury pro každou síť a aplikovat vzestupné hodnoty fronty vykreslování postupně z vnitřní na vnější o 5 na každý materiál.
Výsledkem bylo, že vnitřní prostředí mělo hodnotu vykreslovací fronty 3000 (výchozí), statická červená vnější později měla hodnotu 3005 a rychlé bílé vnější mraky hodnotu 3010. Velká červená skvrna (postupující z vnitřní vrstvy na vnější) byla v tomto modelu dokončena s hodnotou 3025.
Konečné úpravy
Texturované vrstvy Jupiteru byly zprvně nastaveny, což se ukázalo jako nedostatečné pro realizaci.
Původní shader Planet Standard a všechny jeho varianty přijímají informace o osvětlení prostřednictvím skriptu SunLightReceiver, který není podporován standardním shaderem MRTK.
Jednoduché prohození shaderů nebylo řešením, protože shader Planet Standard nepodporuje mapy textur s průhledností. Tento shader jsme upravili tak, aby sestava Jupiter fungovala podle očekávání.
Nakonec bylo potřeba nastavit prolnutí alfa tak, že zdrojovou blendu nastavíte na 10 a cílovou blend na 5.
Poslední vykreslení Jupiteru můžete vidět v Galaxy Exploreru!
Seznamte se s týmem
Náš tým Mixed Reality studia se skládá z návrhářů, 3D umělců, specialistů na uživatelské prostředí, vývojářů, programových manažerů a vedoucího studia. Pocházíme z celého světa: Belgie, Kanada, Německo, Izrael, Japonsko, Velká Británie a USA. Jsme muoborový tým, který pochází z různých prostředí: hraní her – tradičních i nezávislých, digitálního marketingu, zdravotnictví a vědy.
S radostí vytváříme Galaxy Explorer pro HoloLens 2 a aktualizujeme HoloLens (první generace), VR a desktopové verze.
Nahoře zleva doprava: Artemis Tsouflidou (vývojář), Angie Teickner (Vizuální Designer), David Janer (UX Designer), Laura Garrett (Vedoucí pro doručování & Production), Yasushi Zonno (Creative Lead), Eline Ledent (Vývojář) a Ben Turner (Vedoucí pro doručování). Dole zleva doprava: Amit Rojtblat (technický umělec), Martin Wettig (3D umělec) a Dirk Songuer (vedoucí studia). Not featured: Tim Gerken (Tech Lead) and Oscar Salandin (Visual Designer).
Další informace
Mixed Reality Studios
Týmy Microsoft Mixed Reality Studio, které se nacházejí v Severní a Jižní Americe, Evropě a Asia-Pacific, jsou odborníky na návrh uživatelského prostředí, holografický computing, technologie AR/VR a 3D vývoj, včetně vytváření 3D prostředků, rozhraní DirectX, Unity a Unreal. Pomáháme představit si požadované budoucí budoucnosti, navrhovat, sestavovat a dodávat řešení a zároveň zákazníkům umožňujeme vytvářet měřitelný dopad v celé organizaci. Studia úzce spolupracují s více než 22 000 specialisty na služby Microsoft Services pro integraci, přijetí, provoz a podporu podnikových aplikací.