Udostępnij za pośrednictwem


Moduł księżycowy

Moduł księżycowy

Uwaga

W tym artykule omówiono przykład eksploracyjny utworzony w usłudze Mixed Reality Design Labs, miejsce, w którym dzielimy się naszymi informacjami na temat aplikacji rzeczywistości mieszanej i sugestiami dotyczącymi opracowywania aplikacji rzeczywistości mieszanej. Nasze artykuły i kod związane z projektowaniem będą ewoluować w miarę tworzenia nowych odkryć.

Uwaga

Ta przykładowa aplikacja została zaprojektowana dla urządzenia HoloLens 1. generacji.

Lunar Module to przykładowa aplikacja typu open source z Mixed Reality Design Labs firmy Microsoft. Dowiedz się, jak rozszerzyć gesty podstawowe urządzenia HoloLens za pomocą śledzenia dwuręcznego i danych wejściowych kontrolera Xbox, tworzyć obiekty reaktywne do mapowania powierzchni i znajdowania płaszczyzn oraz implementować proste systemy menu. Wszystkie składniki projektu są dostępne do użycia we własnych środowiskach aplikacji rzeczywistości mieszanej.

Wideo z pokazem

Rejestrowane za pomocą HoloLens 2 przy użyciu funkcji Mixed Reality Capture

Ponowne przemyślenie klasycznych środowisk dla Windows Mixed Reality

Wysoko w atmosferze mały statek przypominający moduł Apollo metodycznie bada poszarpany teren poniżej. Nasz nieustraszony pilot widzi odpowiedni obszar lądowania. Zejście jest żmudne, ale na szczęście, ta podróż została wykonana wiele razy przed ...

Oryginalny interfejs z Lądownika Księżycowego Atari z 1979 roku
Oryginalny interfejs z Lądownika Księżycowego Atari z 1979 roku

Lunar Lander to zręcznościowy klasyk, w którym gracze próbują pilotować lądownik księżycowy na płaskim miejscu księżycowego terenu. Każdy urodzony w 1970 roku najprawdopodobniej spędził godziny w pasażu z oczami przyklejonymi do tego statku wektorowego spada z nieba. Gdy gracz porusza się swoim statkiem w kierunku obszaru lądowania, teren skaluje się, aby ujawnić coraz więcej szczegółów. Powodzenie oznacza lądowanie w bezpiecznym progu prędkości poziomej i pionowej. Punkty są przyznawane za czas spędzony na lądowaniu i pozostałym paliwie, z mnożnikiem na podstawie rozmiaru obszaru lądowania.

Oprócz rozgrywki, era gier zręcznościowych przyniósł ciągłe innowacje systemów kontroli. Od najprostszych czterostopniowych konfiguracji przycisków i klawiszy (widzianych w kultowym Pac-Man) do wysoce specyficznych i skomplikowanych schematów widzianych pod koniec lat 90-tych i 00-tych (takich jak w symulatorach golfa i strzelcach kolejowych). Schemat wprowadzania używany w maszynie Lunar Lander jest intrygujący z dwóch powodów: ograniczenie odwołania i zanurzenie.

Konsola zręcznościowa Atari's Lunar Lander
Konsola zręcznościowa Atari'ego Lunar Lander

Dlaczego Atari i tak wiele innych firm zajmujących się grami zdecydowali się na przemyślenie danych wejściowych?

Dziecko przechodzące przez pasaż będzie naturalnie zaintrygowany przez najnowszy, flashiest maszyny. Ale Lunar Lander oferuje nowatorski mechanik wejściowy, który wyróżniał się z tłumu.

Księżycowy Lądownik używa dwóch przycisków do obracania statku w lewo i w prawo, a dźwignia ciągu do kontrolowania ilości wepchnięcia statku produkuje. Ta dźwignia daje użytkownikom pewien poziom finezji, których nie można dostarczyć. Zdarza się również, że jest to składnik wspólny dla nowoczesnych kokpitów lotniczych. Atari chciał, aby Lunar Lander zanurzył użytkownika w poczuciu, że w rzeczywistości pilotuje moduł księżycowy. Ta koncepcja jest znana jako zanurzenie dotykowe.

Zanurzenie dotykowe to doświadczenie sensorycznej opinii z wykonywania powtarzających się działań. W tym przypadku powtarzające się działanie dostosowywania dźwigni i rotacji przepustnicy, które nasze oczy widzą, a nasze uszy słyszą, pomaga połączyć gracza z aktem lądowania statku na powierzchni Księżyca. Koncepcja ta może być związana z psychologiczną koncepcją "przepływu". Gdy użytkownik jest w pełni wchłonięty w zadaniu, które ma odpowiednią mieszankę wyzwania i nagrody, lub mówiąc bardziej po prostu, są "w strefie".

Prawdopodobnie najbardziej znanym typem zanurzenia w rzeczywistości mieszanej jest zanurzenie przestrzenne. Cały punkt rzeczywistości mieszanej polega na oszukiwaniu się w przekonanie, że te obiekty cyfrowe istnieją w świecie rzeczywistym. Synchronizujemy hologramy w naszym otoczeniu, zanurzając się przestrzennie w całych środowiskach i środowiskach. Nie oznacza to, że nadal nie możemy stosować innych rodzajów zanurzenia w naszych doświadczeniach, tak jak Atari z dotykową zanurzeniem w Księżycowym Lądowniku.

Projektowanie za pomocą zanurzenia

Jak możemy zastosować zanurzenie dotykowe do zaktualizowanej, objętościowej sequelu do klasycznego atari? Przed rozpoczęciem walki ze schematem wejściowym należy zająć się konstrukcją gry dla trójwymiarowej przestrzeni.

Wizualizowanie mapowania powierzchni na urządzeniu HoloLens
Wizualizowanie mapowania przestrzennego na urządzeniu HoloLens

Korzystając z otoczenia użytkownika, skutecznie mamy nieskończone opcje terenu do lądowania naszego modułu księżycowego. Aby gra najbardziej przypominała oryginalny tytuł, użytkownik może potencjalnie manipulować i umieszczać lądowniki o różnych trudnościach w ich środowisku.

Wymaganie od użytkownika uczenia się schematu wprowadzania, kontrolowania statku i posiadania małego miejsca docelowego do lądowania jest bardzo duże. Udane doświadczenie w grze oferuje właściwą mieszankę wyzwań i nagród. Użytkownik może wybrać poziom trudności, a najłatwiejszy tryb wymaga, aby użytkownik pomyślnie wylądował w obszarze zdefiniowanym przez użytkownika na powierzchni zeskanowanej przez urządzenie HoloLens. Gdy użytkownik dostanie powieszenie gry, może wtedy dokręcić trudności, jak widzą dopasowanie.

Dodawanie danych wejściowych dla gestów dłoni

Podstawowe dane wejściowe urządzenia HoloLens mają tylko dwa gesty — Air Tap i Bloom. Użytkownicy nie muszą pamiętać kontekstowych niuansów ani listy konkretnych gestów, które sprawiają, że interfejs platformy jest zarówno wszechstronny, jak i łatwy w nauce. Chociaż system może uwidocznić tylko te dwa gesty, urządzenie HoloLens może śledzić dwie ręce jednocześnie. Nasza oda do Lądownika Księżycowego jest [immersywną aplikacją, co oznacza, że możemy rozszerzyć podstawowy zestaw gestów, aby wykorzystać dwie ręce i dodać własne uroczo dotykowe środki nawigacji modułu księżycowego.

Patrząc wstecz na oryginalny schemat sterowania, musieliśmy rozwiązać problem z ciągnięciem i rotacją. Zastrzeżeniem jest obrót w nowym kontekście dodaje dodatkową oś (technicznie dwie, ale oś Y jest mniej ważna dla lądowania). Dwa odrębne ruchy statków naturalnie nadają się do mapowania na każdą rękę:

Naciśnij i przeciągnij gest, aby obrócić lądownik na wszystkich trzech osiach
Naciśnij i przeciągnij gest, aby obrócić lądownik na wszystkich trzech osiach

Wzdłużne

Dźwignia na oryginalnej maszynie zręcznościowej mapowana na skalę wartości, im wyższa dźwignia została przeniesiona, tym więcej ciągu zastosowano do statku. Ważnym niuansem, który należy podkreślić, jest sposób, w jaki użytkownik może odebrać kontrolę i zachować żądaną wartość. Możemy skutecznie użyć zachowania naciśnięcia i przeciągania, aby osiągnąć ten sam wynik. Wartość ciągu zaczyna się od zera. Użytkownik naciska i przeciąga, aby zwiększyć wartość. W tym momencie mogli odpuścić, aby go utrzymać. Każda zmiana wartości gestu naciśnięcia i przeciągania będzie różnicą z oryginalnej wartości.

Wymiana

Jest to trochę bardziej trudne. Posiadanie holograficznego "obrócenia" przycisków, aby nacisnąć sprawia, że dla strasznego doświadczenia. Nie ma fizycznej kontroli do wykorzystania, więc zachowanie musi pochodzić z manipulowania obiektem reprezentującym lądownik lub z samym lądownikiem. Wymyśliliśmy metodę przy użyciu naciśnięcia i przeciągania, co umożliwia użytkownikowi efektywne "wypychanie i ściąganie" w kierunku, w którym chce, aby stanął przed nią twarzą. Za każdym razem, gdy użytkownik naciągnie i przytrzymuje punkt w przestrzeni, w której zainicjowano gest, staje się początkiem rotacji. Przeciąganie ze źródła konwertuje różnicę translacji ręki (X,Y,Z) i stosuje je do różnicy wartości rotacji lądownika. Lub po prostu przeciągając w lewo <-> w prawo, w górę <-> w dół, do przodu <-> z powrotem w miejscach obraca statek odpowiednio.

Ponieważ urządzenie HoloLens może śledzić dwie ręce, obrót można przypisać do prawej strony, podczas gdy ciąg jest kontrolowany przez lewą stronę. Finesse jest czynnikiem napędzającym sukces w tej grze. Poczucie tych interakcji jest absolutnym najwyższym priorytetem. Szczególnie w kontekście zanurzenia dotykowego. Statek, który reaguje zbyt szybko, byłoby trudne do kierowania, podczas gdy jeden zbyt powolny wymagałby od użytkownika "wypychania i ściągania" na statku przez niezręczny czas.

Dodawanie danych wejściowych dla kontrolerów gier

Podczas gdy gesty ręczne na urządzeniu HoloLens zapewniają nowatorską metodę precyzyjnej kontroli, nadal istnieje pewien brak "prawdziwej" dotykowej opinii, którą otrzymujesz z kontrolek analogowych. Połączenie kontrolera gry Xbox pozwala nam przywrócić to poczucie fizyczności podczas korzystania z kijów sterujących, aby zachować precyzyjną kontrolę.

Istnieje wiele sposobów zastosowania stosunkowo prostego schematu sterowania do kontrolera Xbox. Ponieważ staramy się pozostać tak blisko oryginalnego pasażu, jak to możliwe, mapy Thrust najlepiej do przycisku wyzwalacza. Przyciski te są analogowymi kontrolkami, co oznacza, że mają więcej niż proste stany włączone i wyłączone , w rzeczywistości reagują na stopień nacisku na nie. To daje nam podobną konstrukcję jak dźwignia ciągu. W przeciwieństwie do oryginalnej gry i gestu ręki, ta kontrolka wyciąć ciąg statku, gdy użytkownik przestanie wywierać presję na spust. Nadal daje użytkownikowi taki sam stopień finezji jak oryginalna gra zręcznościowa nie.

Lewa szminka jest mapowana na yaw i roll, prawy kciuk jest mapowany na pitch and roll
Lewa szminka jest mapowana na yaw i roll; prawa szminka jest mapowana na rzut i rzut

Podwójne szminki naturalnie nadają się do kontrolowania rotacji statków. Niestety, istnieją trzy osie, na których statek może obracać się i dwa szminki, które obie obsługują dwie osie. Ta niezgodność oznacza, że jedna szminka kontroluje jedną oś; lub nakładają się osie na szminki. Poprzednie rozwiązanie skończyło się uczucie "złamane", ponieważ szminki z natury mieszają swoje lokalne wartości X i Y. Drugie rozwiązanie wymagało pewnych testów w celu znalezienia, które nadmiarowe osie czują się najbardziej naturalne. Ostatni przykład wykorzystuje osie yaw i roll (osie Y i X) dla lewej szminki oraz rzut i rzut (osie Z i X) dla prawego kciuka. To czuło się najbardziej naturalne, jak roll wydaje się niezależnie sparować dobrze z yaw i pitch. W ramach noty bocznej użycie obu szminek do rzutu również spowoduje dwukrotne zmianę wartości obrotu; to całkiem zabawa, aby lander zrobić pętle.

Ta przykładowa aplikacja pokazuje, jak rozpoznawanie przestrzenne i zanurzenie dotykowe mogą znacząco zmienić środowisko dzięki rozszerzalnym modalnościom danych wejściowych Windows Mixed Reality. Podczas gdy Księżycowy Lądownik może zbliżać się do 40 lat w wieku, koncepcje narażone z tym małym oktagonem z nogami będą żyć na zawsze. Kiedy wyobrażasz sobie przyszłość, dlaczego nie patrzeć na przeszłość?

Szczegóły techniczne

Skrypty i prefabryki przykładowej aplikacji Moduł księżycowy można znaleźć w witrynie GitHub Mixed Reality Design Labs.

Informacje o autorze

Zdjęcie Addison Linville Addison Linville
Projektant @Microsoft środowiska użytkownika

Zobacz też