Unity, OpenXR i WebXR to wszechstronne zestawy narzędzi do tworzenia różnych interakcji w środowiskach wciągającej rzeczywistości. Celem jest opracowanie aplikacji z funkcją immersji, z którą użytkownicy mogą wchodzić w interakcje, korzystając z dotychczasowych doświadczeń. Możesz projektować wszystko, od prostych gestów po skomplikowane symulacje oparte na fizyce.
Pamiętaj, że aplikacje Unity, OpenXR i WebXR działają tylko w trybie Full Space.
Więcej informacji o zasadach projektowania na platformie Android XR
Wejścia
Aplikacje XR mogą zawierać interakcje z wykorzystaniem śledzenia dłoni, oczu i twarzy, gestów, poleceń głosowych oraz tradycyjnych urządzeń wejściowych, takich jak klawiatury, myszy i kontrolery. Zastanów się, jakich danych wejściowych będzie potrzebować Twoja aplikacja, aby zapewnić użytkownikom naturalne i dostępne w łatwy sposób funkcje.
- Obsługuj znane gesty, aby skrócić czas nauki obsługi aplikacji. Podczas interakcji z interfejsem 2D używaj standardowych gestów systemowych, takich jak zbliżanie i oddalanie. W przypadku interakcji 3D, takich jak podnoszenie i rzucanie piłką, należy zaprojektować gesty naśladujące interakcje w rzeczywistym świecie. Opcja ta opiera się na dotychczasowej wiedzy użytkownika i zmniejsza potrzebę korzystania z samouczków.
- Jeśli dodatkowe gesty są konieczne, upewnij się, że są łatwe do nauczenia się, zapamiętania i wykonywania. Unikaj skomplikowanych gestów wieloetapowych lub nienaturalnych pozycji, które mogą powodować dyskomfort i zmęczenie. Zastanów się, czy nie warto udostępnić użytkownikom przewodników, które pomogą im nauczyć się używać gestów.
- Zadbaj o to, aby aplikacja była wygodna w użyciu zarówno dla lewo- jak i praworęcznych. Jeśli to niemożliwe, zastosuj ustawienie preferencji dotyczącej dłoni dominującej.
- Interakcje wymagające użycia obu rąk mogą być wciągające, ale mogą być trudne dla użytkowników o ograniczonej sprawności ruchowej. Priorytetowo traktować interakcje wymagające użycia jednej ręki. Jeśli gesty dwuręczne są niezbędne, podaj alternatywne metody jednoręczne, które dają ten sam efekt.
- Aplikacje Unity, OpenXR i WebXR nie korzystają automatycznie z zasobów warstwy podrzędnej Androida. Rozważ wdrożenie stosu wstecz, aby umożliwić użytkownikom korzystanie z gesty wstecz w Androidzie XR do cofnięcia działań lub powrotu do poprzedniego stanu za pomocą nawigacji za pomocą gestów.
Interfejs użytkownika
Elementy interfejsu użytkownika, takie jak przyciski, panele i tekst, są niezbędne do naturalnych interakcji w aplikacjach XR. Projekt powinien przede wszystkim zapewniać użytkownikom płynną i intuicyjną obsługę. Wybór konkretnego projektu interfejsu zależy od unikalnych wymagań aplikacji.
- Umieść główne elementy interaktywne i kluczowe treści w naturalnym polu widzenia użytkownika. Zwiększa to widoczność i zapewnia wygodę korzystania. Zastanów się, jak użytkownicy mają wchodzić w interakcję z interfejsem, aby określić, w jakiej odległości powinien się on znajdować. Czy na przykład celuje laserem, czy dotyka przycisków palcami? Skonfiguruj rozmiar interfejsu na podstawie odległości od użytkownika. Zapoznaj się z przewodnikiem dotyczącym rozmiaru i skali na Androidzie XR.
- Podczas projektowania interaktywnych elementów interfejsu, takich jak przyciski, weź pod uwagę, jak użytkownicy mają z nimi współpracować, jaki poziom dokładności jest potrzebny w przypadku każdej metody wprowadzania danych (śledzenie dłoni lub myszy) oraz odpowiednio dostosuj takie czynniki, jak rozmiar celu i odstępy. Upewnij się, że pozycje interfejsu użytkownika umożliwiają wygodne interakcje. wizualne potwierdzenie działań użytkownika; Przewodnik po stylach Androida XR
- Interfejs 2D, np. panele, jest odpowiedni do interakcji opartych na menu. Interfejs 3D, taki jak fizyczne przyciski, dźwignie i przełączniki, może zwiększyć immersję podczas interakcji z środowiskami przestrzennymi. Uważne zrównoważenie interakcji opartych na panelach, aby zapewnić wysoką czytelność, oraz obiektów 3D, aby umożliwić interakcje z środowiskiem, może stworzyć wciągające środowisko.
- Zadbaj o czytelność tekstu – użyj odpowiednich rozmiarów, typów i wartości kontrastu czcionki. Umieść interfejs w takim miejscu, aby użytkownicy mogli czytać tekst z odpowiedniej odległości. Aby uzyskać płynne renderowanie tekstu w różnych rozmiarach czcionek, użyj czcionek Signed Distance Field. Przeczytaj przewodnik po typografii na Androidzie XR.
Interakcje przestrzenne
Niektóre z najbogatszych interakcji w XR polegają na tym, że użytkownik może wchodzić w bezpośrednie interakcje z obiektami 3D. Może to być tak proste jak podniesienie, sprawdzenie i rzucenie jakiegoś przedmiotu. Obejmuje ona też bardziej złożone interakcje, takie jak dźwignie, przyciski i elementy, które użytkownik już trzyma, np. rozpylanie płynu z butelki. W przypadku intuicyjnych interakcji z obiektami 3D należy zaprojektować interfejs na podstawie wiedzy użytkownika o świecie.
- Jeśli chcesz tworzyć realistyczne działania, rozważ zintegrowanie silnika fizyki. Jeśli korzystasz z Unity, możesz użyć wbudowanego silnika fizyki. Zwróć uwagę na to, ile mocy obliczeniowej zużywają silniki fizyki, i zoptymalizuj wydajność.
- Ważniejsze jest, aby film był wiarygodny, niż realistyczny. Jeśli na przykład użytkownik uważa, że rzucił piłką bardzo mocno, aplikacja powinna dodać do tego rzutu dodatkową siłę, której nie wykrywają czujniki urządzenia.
- Obiekty powinny być budowane w sposób odpowiadający ich możliwościom. Oznacza to, że w aplikacji należy uwzględnić wszystkie możliwe działania, które użytkownik może wykonać na obiekcie lub z jego udziałem. Na przykład pączka może zostać podniesiona, rzucona i zjedzona. Zamiast jedzenia pączka aplikacja może wyświetlić komunikat głosowy „Nie jestem teraz głodny”. Te rozwiązania dotyczą działań, które użytkownik może wykonać za pomocą donutu.
- Obiekty mogą być trzymane za pomocą różnych technik, takich jak rodzicielstwo, jointy fizyczne, śledzenie i siły fizyczne. Każda z tych technik ma swoje zalety i wady. Zanim zastosujesz niestandardową metodę pobierania, musisz zbadać i przetestować różne podejścia, aby wybrać najbardziej odpowiednie.
- Ergonomia jest ważna podczas projektowania w środowisku 3D. Aby ułatwić dostęp, rozważ dodanie uchwytu do płaskich powierzchni, aby użytkownik mógł dostosować urządzenie do wygodnej wysokości. Pamiętaj, aby przetestować każdy obiekt w pomieszczeniu z udziałem różnych użytkowników, ponieważ każdy ma inną budowę ciała.
Projektowanie sceny
Sceny mogą obejmować wciągające światy wirtualne lub doświadczenia rzeczywistości rozszerzonej, które łączą elementy wirtualne z rzeczywistym otoczeniem użytkownika. Zaprojektuj sceny, które są wygodne, funkcjonalne i wykorzystują unikalne możliwości XR.
- Ogranicz sceny, w których użytkownik się porusza, np. sceny lotu. Może to powodować dyskomfort, zwłaszcza jeśli ciało użytkownika pozostaje nieruchome. Niektóre techniki lokomotoryczne, takie jak widzenie tunelowe (opisane w następnym rozdziale), pomagają zmniejszyć dyskomfort.
- Aby tworzyć treści w rzeczywistości mieszanej, możesz korzystać z funkcji analizowania sceny w Android XR, aby integrować obiekty wirtualne z fizycznym otoczeniem użytkownika.
- W przypadku aplikacji rzeczywistości wirtualnej warto uwzględnić w przestrzeni wirtualnej ograniczone widoki świata rzeczywistego. Dzięki temu użytkownicy mogą mieć świadomość otoczenia i interagować się z rzeczywistymi obiektami bez wychodzenia z wirtualnego świata.
Locomotion
Zalecamy, aby w przypadku aplikacji na Androida XR użytkownicy mogli swobodnie poruszać się w swojej fizycznej przestrzeni zdefiniowanej przez skonfigurowane granice. Niektórzy użytkownicy uważają na przykład, że wirtualne doświadczenia są bardziej wciągające, gdy są one oparte na nieruchomej przestrzeni. Jeśli oczekujesz, że użytkownicy będą się poruszać w większej przestrzeni wirtualnej niż pozwala na to granica, rozważ użycie technik poruszania, które wzmacniają ruch, np. teleportację.
Teleportacja polega na tym, że użytkownik wskazuje i wybiera lub używa kontrolera, aby natychmiast przenieść się do nowej lokalizacji. Jest to świetny sposób na szybkie pokonanie dużych odległości. Często jest to też metoda poruszania się, która powoduje najmniejsze mdłości. Krótkie przyciemnienie ekranu podczas przejścia może dodatkowo zmniejszyć dyskomfort.
Inne metody przemieszczania się
Jeśli używasz innych metod poruszania się, rozważ oferowanie teleportacji jako alternatywy.
- Chodzenie w miejscu z wymachami ramion: symuluj chodzenie, machając rękami lub przesuwając kontroler w górę i w dół. Niektórzy użytkownicy mogą uznać to za męczące lub mniej intuicyjne.
- Ruch ciągły: do poruszania się w środowisku za pomocą wirtualnego awatara możesz używać joysticka lub grzybka kontrolera. W większości przypadków należy unikać tej metody, ponieważ jest ona częstą przyczyną choroby lokomocyjnej.
Jeśli zdecydujesz się użyć w swojej grze lokomotywy, zaoferuj kilka opcji, aby uwzględnić indywidualne preferencje i zwiększyć wygodę użytkowników.
Choroba lokomocy może wystąpić, gdy nie ma zgodności między ruchem fizycznym użytkownika a jego wirtualnym doświadczeniem. Aby zoptymalizować komfort użytkownika podczas poruszania się:
- Upewnij się, że wirtualny horyzont pozostaje stabilny i poziomy.
- Jeśli wymagany jest ciągły ruch, unikaj przyspieszania i spowolniania. Zachowaj stałą prędkość.
- Widok tunelowy może zmniejszyć chorobę lokomocy, ponieważ zawęża pole widzenia podczas ruchu, a efekt winietowania ogranicza ruch postrzegany na obrzeżach.
- W przypadku obracania możesz przypiąć widok użytkownika do określonych kątów. Może to powodować dezorientację, ale zmniejszy chorobę lokomocy.
- Użytkownicy mają różny poziom tolerancji. Pozwól im dostosować ustawienia komfortu do własnych preferencji, na przykład wybrać sposób poruszania się, włączyć lub wyłączyć widok tunelu albo dostosować prędkość poruszania się.
Dźwięk przestrzenny
Dźwięk jest potężnym narzędziem do tworzenia dźwiękowych pejzaży, które przenoszą użytkowników do innego świata i wywołują określone emocje. Dźwięk przestrzenny precyzyjnie umieszcza dźwięki w środowisku wirtualnym.
- Ambisonics to coś w rodzaju sceny dźwiękowej, która zapewnia użytkownikom wciągający dźwięk. Używaj ambisonicznego dźwięku do dźwięków tła lub w innych sytuacjach, w których chcesz odtworzyć pełne dźwiękowe pole wokół słuchacza.
- Wskazówkami dźwiękowymi w przestrzeni można kierować uwagę użytkownika.
- Używaj dźwięków przestrzennych, aby zwiększyć realizm.
- Przestrzeń dźwiękowa w głośniku daje użytkownikom poczucie obecności, nawet jeśli nie patrzą bezpośrednio na głośnik.
- Zezwalanie użytkownikom na dostosowywanie dźwięku. Mogą na przykład chcieć wyłączyć lub zmienić głośność muzyki w tle, efektów dźwiękowych lub ścieżki dźwiękowej.
- Rozważ dodanie napisów dla osób niesłyszących i niedosłyszących.
Więcej informacji o wygodzie
Aby priorytetem było ułatwienie dostępu, oferuj opcje dostosowane do różnych potrzeb i preferencji. Dzięki temu większa liczba użytkowników będzie mogła korzystać z wrażeń VR.
- Uruchom aplikację z częstotliwością 72 FPS: pomoże to zminimalizować zacięcia obrazu i zapobiegnie nudnościom.
- Przyznaj użytkownikom kontrolę: aby Twoja aplikacja była przyjazna dla użytkowników o różnym stopniu zaznajomienia z XR, pozwól im dostosować ustawienia. Zastanów się nad umożliwieniem użytkownikom zmiany przypisania przycisków i gestów kontrolera, aby dostosować je do ich potrzeb lub preferencji. Na przykład użytkownicy z ograniczoną sprawnością rąk mogą korzystać z różnych układów przycisków lub większych, prostych elementów sterujących.
Wskazówki dotyczące poszczególnych platform:
Tworzenie aplikacji na platformę OpenXR
OpenXR™ i logo OpenXR są znakami towarowymi należącymi do The Khronos Group Inc. i zarejestrowanymi jako znak towarowy w Chinach, Unii Europejskiej, Japonii i Wielkiej Brytanii.