Tworzenie Galaxy Explorer dla HoloLens 2
Witamy w zaktualizowanej aplikacji Galaxy Explorer dla HoloLens 2! został pierwotnie opracowany jako aplikacja open source dla urządzenia HoloLens (pierwsza generacja) za pośrednictwem programu Share Your Idea i jest jednym z pierwszych środowisk rzeczywistości mieszanej, które miało wiele osób. Teraz aktualizujemy go pod kątem nowych i ekscytujących możliwości HoloLens 2.
Jako jeden z microsoft Mixed Reality Studios, zwykle opracowujemy rozwiązania klasy komercyjnej i opracowujemy & testowania na platformach docelowych w całym procesie kreatywnym i programistycznym. Rozpoczynamy ten projekt przy użyciu struktur i narzędzi (takich jak MRTK), ponieważ stają się one dostępne dla nas i społeczności — i chcemy zabrać Cię na przejażdżkę.
Podobnie jak oryginalny Galaxy Explorer, nasz zespół będzie open sourcing projektu w usłudze GitHub , aby upewnić się, że społeczność ma pełny dostęp. Będziemy również dokumentować naszą podróż tutaj w pełnej przejrzystości na temat sposobu przenoszenia z zestawu narzędzi MRTK v1 do zestawu narzędzi MRTK v2, ulepszyliśmy środowisko z nowymi funkcjami dostępnymi w HoloLens 2 i upewniliśmy się, że Galaxy Explorer pozostał wieloplatformowym środowiskiem. Niezależnie od tego, czy oglądasz Galaxy Explorer na urządzeniu HoloLens (pierwsza generacja), HoloLens 2, zestaw słuchawkowy Windows Mixed Reality lub na pulpicie Windows 10, chcemy upewnić się, że cieszysz się podróżą tak samo jak my!
Ta strona będzie rozszerzana w miarę postępów w projekcie za pomocą linków do bardziej szczegółowych artykułów, kodu, artefaktów projektu i dodatkowej dokumentacji zestawu narzędzi MRTK w celu udostępnienia informacji poufnych na temat projektu.
Pobieranie aplikacji ze sklepu Microsoft Store w HoloLens 2
Jeśli masz urządzenie HoloLens 2, możesz bezpośrednio pobrać i zainstalować aplikację na urządzeniu.
Myślenie o interakcjach
Jako twórcze studio byliśmy ekstatycznie na temat przywileju, aby port Galaxy Explorer HoloLens 2. Wiedzieliśmy od początku, że chcemy, aby doświadczenie było obchodem nowego urządzenia i pokazać, że Mixed Reality wzmocnienie jest ograniczone tylko przez wyobraźnię.
HoloLens 2 pozwala użytkownikom dotykać, chwytać i przenosić hologramy w sposób, który czuje się naturalny — reagują bardzo jak prawdziwe obiekty. W pełni sformułowane modele rąk są niesamowite, ponieważ pozwala użytkownikom robić to, co czuje się naturalnie. Na przykład każdy zbiera kubek nieco inaczej - i zamiast wymuszać jeden konkretny sposób, aby to zrobić, HoloLens 2 pozwala to zrobić na swój sposób.
Jest to znacząca zmiana interfejsów opartych na funkcji Air Tap na urządzeniach HoloLens pierwszej generacji. Zamiast wchodzić w interakcje z hologramami z daleka, użytkownicy mogą teraz "zbliżyć się i osobiście". Podczas przenoszenia istniejących środowisk do HoloLens 2 lub planowania nowych należy zapoznać się z bezpośrednim manipulowaniem hologramami.
Bezpośrednie manipulowanie w porównaniu z rozległymi odległościami w kosmosie
To magiczne doświadczenie, aby dotrzeć, złapać planetę i trzymać ją w ręku. Wyzwaniem z tym podejściem jest wielkość Układu Słonecznego – to ogromne! Użytkownik musi chodzić po swoim pokoju, aby zbliżyć się do każdej planety, aby wchodzić z nią w interakcje.
Aby umożliwić użytkownikom interakcję z obiektami, które są dalej, MRTK oferuje promienie ręczne, które strzelają z środka dłoni użytkownika, działając jako rozszerzenie ręki. Kursor w kształcie pierścienia jest dołączony na końcu promienia, aby wskazać, gdzie promienie przecinają się z obiektem docelowym. Obiekt, na który ląduje kursor, może następnie odbierać polecenia gesturalne z ręki.
W oryginalnej wersji Galaxy Explorer użytkownik będzie celować planetę z kursorem spojrzenia, a następnie naciśnij powietrze, aby wywołać go bliżej. Najprostszym sposobem przenoszenia doświadczenia do HoloLens 2 jest podjęcie tego zachowania i użycie promieni ręcznych do wybierania planet. Chociaż to było funkcjonalne, pozostawiło nas chcąc więcej.
Powrót do deski rysunkowej
Zebraliśmy się, aby zorientować się, co można zbudować na podstawie istniejących interakcji. Myślenie brzmiało: Chociaż HoloLens 2 pozwala użytkownikom na interakcję z hologramami w naturalny, realistyczny sposób, hologramy nie są z definicji prawdziwe. Tak długo, jak interakcja jest prawdopodobna dla użytkownika, nie ma znaczenia, czy ta interakcja byłaby możliwa z rzeczywistym obiektem, czy nie — możemy to zrobić.
Jedna z omówionych koncepcji opierała się na zasadach — mocy manipulowania obiektami za pomocą umysłu. Często spotykany w filmach super hero, osoba wyciąga kontakt z umysłem i wzywa obiekt do otwartej ręki. Bawiliśmy się pomysłem jeszcze trochę i wymyśliliśmy szybki szkic tego, jak koncepcja może działać.
Użytkownik wskaże promienie ręki na planetę, która przekaże docelowe opinie. Gdy użytkownik następnie rozszerza otwartą rękę, planeta zostanie pociągnięci do użytkownika przez magiczną siłę, dopóki nie będzie wystarczająco blisko, aby ją chwycić. Stąd nasza nazwa interakcji: force grab. Gdy użytkownik odepchnie planetę otwartą ręką, wróci ponownie na orbitę.
Wymuszanie chwytania prototypów
Następnie utworzyliśmy wiele prototypów, aby przetestować koncepcję: Jak wygląda ogólna interakcja? Czy nazwany obiekt powinien zatrzymać się przed użytkownikiem lub trzymać się rąk do momentu umieszczenia? Czy wywoływany obiekt powinien zmienić rozmiar lub skalę?
Implementowanie wymuszenia chwytu w aplikacji
Kiedy próbowaliśmy złapać siłę na planetach, zdaliśmy sobie sprawę, że musimy zmienić skalę Układu Słonecznego. Okazało się, że dokładna, średnia reprezentacja układu słonecznego jest trudna dla użytkowników do zrozumienia i poruszania się - nie wiedzieli, gdzie szukać. Jednak niewielka reprezentacja sprawiła, że niektóre planety są zbyt małe, aby można je było łatwo wybrać. W rezultacie rozmiar planet i odstępy między obiektami słonecznymi zostały zaprojektowane tak, aby czuć się komfortowo w średnim pomieszczeniu przy zachowaniu względnej dokładności.
W późniejszych etapach naszego przebiegu rozwoju mieliśmy szczęście, że inni eksperci MSFT Mixed Reality w firmie, więc musimy pracować nad uzyskaniem swoich danych wejściowych jako testerzy ekspertów i wykonywanie szybkich iteracji w interakcji z chwytania siłą.
Na zdjęciu: Jenny Kam, starszy lider projektu, testowanie pracy w toku Galaxy Explorer.
Dodawanie cen na potrzeby określania wartości docelowej
Jak eksperymentowaliśmy na HoloLens 2, okazało się, że mimo że nowe interakcje są naturalne i intuicyjne, hologramy pozostają takie same: bez wagi lub dotykowego czucia. Ponieważ hologramy nie dostarczają naturalnych informacji zwrotnych, które ludzie są przyzwyczajeni do odbierania podczas interakcji z obiektami, musieliśmy je utworzyć.
Myśleliśmy o opiniach wizualnych i dźwiękowych, które użytkownicy będą dostarczać dla różnych etapów ich interakcji, a ponieważ mechanizm chwytania sił ma kluczowe znaczenie dla interakcji z Galaxy Explorer, zrobiliśmy wiele iteracji. Celem było znalezienie odpowiedniej równowagi opinii audio i wizualnych dla każdego etapu interakcji: skupienie się na zamierzonym obiekcie, wywołaniu go do użytkownika, a następnie zwolnieniu go. Dowiedzieliśmy się, że do wzmocnienia interakcji wymagana była większa liczba opinii audio i wizualnych niż w przypadku urządzenia HoloLens (pierwsza generacja).
Dodawanie przystępności na potrzeby chwytu siłowego
Gdy mieliśmy podstawowy mechanizm chwytania sił z przystępnymi cenami audio i wizualnymi, przyjrzeliśmy się, jak sprawić, aby wybieranie planet było bardziej przyjazne dla użytkownika. Istnieją dwie główne rzeczy, które należy rozwiązać: Ponieważ układ słoneczny jest interfejsem ruchomym 3D, istnieje dodatkowa złożoność dla użytkowników, aby dowiedzieć się, jak celować obiekty konsekwentnie. Było to spotęgowane faktem, że promienie dłoni szybko wybiera obiekt, dzięki czemu planety poruszają się w kierunku użytkownika niezwykle szybko.
Zbliżyliśmy się do tego za pomocą rozwiązania z trzema elementami. Pierwszy był dość intuicyjny: spowolnić proces wyboru, aby planety zbliżały się do użytkownika w bardziej naturalnym tempie. Po dostosowaniu prędkości musieliśmy ponownie wrócić do zapewniania jakości dźwięku i wizualizacji, dodając opinie audio jako planetę śledzoną wobec użytkownika.
Drugą częścią rozwiązania było uczynienie wizualizacji całej interakcji z chwytanymi siłami. Wizualizowaliśmy grubą linię, która porusza się w kierunku obiektu docelowego, gdy promieni dłoni łączy się z nim, a następnie przywraca obiekt do użytkownika - jak lasso.
Na koniec zoptymalizowaliśmy skalę układu słonecznego, tak aby planety były wystarczająco duże, aby spojrzenie użytkownika i promienie ręczne je kierować.
Te trzy ulepszenia pozwoliły użytkownikom na dokładne wybory, wywołując planety w intuicyjny sposób. Ogólnie rzecz biorąc, efekt końcowego chwytu siły jest bardziej wciągające i interaktywne doświadczenie w Układzie Słonecznym.
W centrum uwagi na Jowiszu
Stworzenie ciał słonecznych Drogi Mlecznej było upokarzającym doświadczeniem. W szczególności unikalne cechy Jowisza sprawiają, że jest to widok, aby oto. Jest to największy i najbardziej kolorowy gigantów gazowych i zawiera więcej masy niż wszystkie inne planety połączone. Jej sama wielkość i mesmeryzujące zespoły turbulencji i dynamiki chmury są prefect dla szczególnej uwagi artystycznej.
Geometria i siatki
Jako gigant gazowy, zewnętrzne pociski Jowisza składają się z warstw gazowych. Połączenie jego szybkiej prędkości rotacji, wewnętrznej wymiany ciepła i coriolis sił tworzy kolorowe warstwy i strumienie, które tworzą wirujące pasy chmurowe i wiry. Uchwycenie tego zawiłego piękna było kluczem do stworzenia naszego układu słonecznego.
Od razu było jasne, że używanie technik wizualizowania, takich jak symulacje płynów i animowane tekstury z wstępnie skompilowanymi strumieniami, były niezrównoważone. Moc obliczeniowa wymagana do symulowania tego w połączeniu ze wszystkimi innymi zdarzeniami jednocześnie miałaby znaczący szkodliwy wpływ na wydajność.
Następnym podejściem było rozwiązanie "dymu i lustra", składające się z nakładających przezroczystych warstw tekstur, z których każda dotyczyła konkretnego aspektu ruchu atmosferycznego, opracowanego na kompozycji obracających się siatk.
Na poniższej ilustracji widać wewnętrzną powłokę po lewej stronie. Ta warstwa matowa stanowi tło dla kompozycji, aby chronić przed wszelkimi małymi przerwami między wieloma warstwami składającymi się na chmury. Ze względu na powolną rotację warstwy, służyła ona również jako bufor wizualny między szybszymi ruchomymi przedziałami, aby ułatwić tworzenie jedności wizualnej w obrębie warstw.
Po ustawieniu tej kotwicy na model przenoszone warstwy chmury były następnie rzutowane na środkowe i prawe siatki widoczne poniżej.
Teksturowania
Istniejąca tekstura została oddzielona trzyczęściowym atlasem tekstury: Górna trzecia hostuje nieruchomą warstwę chmur z przerwami w celu zapewnienia efektu parallaxu, środkowa sekcja zawiera szybko poruszające się strumienie zewnętrzne, a dolna trzecia zawiera powoli obracającą się wewnętrzną warstwę bazową.
Cecha Great Red Spot została również oddzielona do różnych ruchomych części, a następnie wstawiona do inaczej niewidocznego obszaru tekstury. Te składniki można postrzegać jako czerwone stonowane plamy w środkowej sekcji poniższego obrazu.
Ponieważ każdy pasm ma określony kierunek i szybkość, tekstura została zastosowana do każdej siatki indywidualnie. Siatki miały następnie wspólny środek i punkt przestawny, co umożliwiło koncentryczne animowanie całej powierzchni.
Zachowanie rotacji i tekstury
Po ustawieniu wizualnego kompozycji Jowisza musieliśmy upewnić się, że rotacja i prędkość orbity zostały prawidłowo obliczone i zastosowane odpowiednio. Ukończenie pełnej rotacji trwa około 9 godzin. Jest to kwestia definicji ze względu na rotację różnicową. W związku z tym strumień równikowy został ustawiony jako "strumień główny", biorąc 3600 klatek na pełną rotację. Każda inna warstwa musiała mieć prędkość rotacji jako współczynnik 3600 w celu dopasowania jej początkowej pozycji, co pozwala, np. 600, 900, 1200, 1800 itp.
Wielkie czerwone miejsce
Indywidualnie obracające się strumienie dostarczyły dobrego wrażenia wizualnego, ale nie było szczegółowo obserwowane w bliskim zakresie.
Najbardziej przyciągającą wzrok częścią była Wielka Czerwona Plama Jowisza, więc stworzyliśmy zestaw siatk i tekstur specjalnie, aby go zaprezentować. Użyliśmy podobnego mechanizmu, jak w przypadku pasm Jowisza: zestaw obracających się części składał się nawzajem, a jednocześnie grupowany pod jego "warstwą główną", aby upewnić się, że pozostają w pozycji bez względu na to, jak szybko porusza się reszta.
Kiedy siatki zostały skonfigurowane i na miejscu, zastosowano różne warstwy burza wiru, a każda płyta była następnie animowana indywidualnie, środkowe kawałki poruszające się najszybciej, z resztą stopniowo spowalniając, gdy porusza się na zewnątrz.
Kompozycja miała również ten sam element przestawny co każda inna siatka, jednocześnie zachowując przechylenie z oryginalnej osi y (!), aby umożliwić swobodę w animowaniu obrotu. 3600 ramek jest szybkością bazową, a każda warstwa ma współczynnik tego jako okres rotacji.
Uzyskiwanie go bezpośrednio w środowisku Unity
Podczas implementowania tej funkcji w środowisku Unity należy pamiętać o kilku kluczowych kwestiach.
Aparat Unity można łatwo mylić podczas pracy z dużymi zestawami przezroczystych warstw. Rozwiązaniem było zduplikowanie materiału tekstury dla każdej siatki i stosowanie rosnących wartości kolejki renderowania stopniowo od wewnętrznej do zewnętrznej o 5 do każdego materiału.
Wynikiem była wewnętrzna powłoka miała wartość kolejki renderowania 3000 (wartość domyślna), statyczne czerwone stonowane zewnętrzne później miały wartość 3005, szybkie białe chmury zewnętrzne miały 3010. Wielka Czerwona plama (postęp z wewnętrznej do zewnętrznej warstwy) została zakończona wartością 3025 w tym modelu.
Ostatnie akcenty
Teksturowane warstwy Jowisza zostały utworzone na początku, co okazało się niewystarczające do wdrożenia.
Oryginalny cieniator Planet Standard i wszystkie jego odmiany otrzymują informacje o oświetleniu za pośrednictwem skryptu, SunLightReceiver, który nie jest obsługiwany przez cieniowanie MRTK Standard.
Po prostu zamiana cieniowania nie była rozwiązaniem, ponieważ cieniowanie standardowe planety nie obsługuje map tekstur z przezroczystościami. Edytowaliśmy ten cieniowanie, aby pracować nad budową Jowisza zgodnie z oczekiwaniami.
Na koniec należy skonfigurować zestawy Alfa Blend, ustawiając źródłową mieszankę na 10 i docelową mieszankę na 5.
Możesz zobaczyć ostatni renderowanie Jowisza w Galaxy Explorer!
Spotkanie z zespołem
Nasz zespół Mixed Reality studio składa się z projektantów, artystów 3D, specjalistów UX, deweloperów, menedżera programu i szefa studia. Pochodzimy z całego świata: Belgia, Kanada, Niemcy, Izrael, Japonia, Wielka Brytania i Stany Zjednoczone. Jesteśmy zespołem wielodyscyplinarnem, który pochodzi z zróżnicowanego tła: gier - zarówno tradycyjnych, jak i niezależnych, marketingu cyfrowego, opieki zdrowotnej i nauki.
Z przyjemnością utworzymy program Galaxy Explorer dla HoloLens 2 oraz zaktualizowanie wersji urządzenia HoloLens (pierwszej generacji), VR i wersji klasycznych.
Od lewej do prawej: Artemis Tsouflidou (Developer), Angie Teickner (Visual Projektant), David Janer (UX Projektant), Laura Garrett (Dostarczanie & production Lead), Yasushi Zonno (Creative Lead), Eline Ledent (deweloper) i Ben Turner (starszy deweloper). Dolna od lewej do prawej: Amit Rojtblat (artysta techniczny), Martin Wettig (artysta 3D) i Dirk Songuer (Szef studio). Nie polecane: Tim Gerken (Tech Lead) i Oscar Salandin (Visual Projektant).
Dodatkowe informacje
Mixed Reality Studios
Zespoły microsoft Mixed Reality Studio — znajdujące się w Obu Amerykach, Europie i Asia-Pacific — są ekspertami w zakresie projektowania środowiska użytkownika, przetwarzania holograficznego, technologii AR/VR i tworzenia zasobów 3D, w tym tworzenia zasobów 3D, DirectX, Unity i Unreal. Pomagamy w przewidywaniu żądanych przyszłości, projektowania, tworzenia i dostarczania rozwiązań, jednocześnie umożliwiając klientom tworzenie mierzalnego wpływu w całej organizacji. Studia ściśle współpracują z ponad 22 000 specjalistami ds. usług firmy Microsoft na potrzeby integracji, wdrażania, obsługi i obsługi aplikacji dla przedsiębiorstw.