Sdílet prostřednictvím


Tvorba Galaxy Exploreru pro HoloLens 2

Nové logo Galaxy Exploreru

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

Anglický odznak

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.

Koncept interakce s vynucenou chytnutím

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.

Jenny Kam testuje build Preview galaxy Exploreru

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

Vizuální cenová dostupnost na planetách

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.

Vizuální

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.

Přehled objektu Jupiter

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.

Přehled objektu Jupiter s oddělenými shelly

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.

Přehled textury Jupiteru

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.

Textury skořepiny Jupiteru

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.

Jupiter Velká červená bodová síť

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

Textura jupiterského velkého červeného místa

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.

Poslední objekt Jupiteru

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.

Vlastnosti Jednoty Jupiteru

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.

Tým Galaxy Exploreru

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