Trener ręczny

Przykład: Trener ręczny

Trener ręczny wyzwala modelowane ręce 3D, gdy system nie wykrywa rąk użytkownika. Ta funkcja jest składnikiem "nauczania", który pomaga kierować użytkownika, gdy gest nie został nauczony. Jeśli użytkownicy nie wykonali określonego gestu przez pewien okres, ręce będą pętli z opóźnieniem. Trener hand może służyć do reprezentowania naciśnięcia przycisku lub odebrania hologramu.

Dostarczony trener ręczny

Bieżący model interakcji reprezentuje szeroką gamę kontrolek gestów, takich jak przewijanie, dalekie wybieranie i bliskie naciśnięcie. Poniżej znajduje się pełna lista istniejących gestów ręcznych dostępnych w zestawie narzędzi MRTK:

Przykład wyboru bliskiego
Przykład wyboru bliskiego — używany pokazuje, jak wybrać przyciski lub zamknąć obiekty umożliwiające interakcję

Przykład naciśnięcia powietrza
Przykład naciśnięcia powietrza — służy do pokazywania sposobu wybierania obiektów, które są daleko

Przykład przenoszenia
Przykład przenoszenia obiektu w przestrzeni używanej do pokazania, jak przenieść hologram w przestrzeni

Przykład rotacji
Przykład Rotate-Used pokazujący, jak obracać hologramy lub obiekty

Przykład skali
Przykład skalowania — służy do pokazywania sposobu manipulowania hologramami w celu zwiększenia lub mniejszego rozmiaru

Przykład palmy
Przykład palmy — sugerowane użycie, aby wyświetlić menu ręczne

Przykład narzędzia HandFlip
Przykład ręcznego przerzucania — inny sposób, aby wyświetlić menu ręczne

Przykład przewijania
Przykład przewijania — służy do przewijania listy lub długiego dokumentu

Zagadnienia dotyczące projektowania

W przypadku urządzenia Hololens2 zaprojektowaliśmy interakcje ręczne na podstawie instynktownych i naturalnych gestów dłoni. Uważamy, że są one intuicyjne dla większości użytkowników, więc nie utworzyliśmy dedykowanych momentów uczenia gestów. Zamiast tego utworzyliśmy trenera ręki, aby pomóc użytkownikom dowiedzieć się o tych gestach, jeśli utkną lub nie są zaznajomieni z interakcjami hologramu. Bez chwili nauki czuliśmy, że pokazano użytkownikom, jak wykonać akcję, demonstrując, że jest to najlepsza opcja. Odkryliśmy, że użytkownicy byli w stanie ustalić gest, ale potrzebne są niewielkie wskazówki. Jeśli wykryjemy, że użytkownik nie wchodzi w interakcję z obiektem przez pewien okres, zostanie wyzwolony trener hand demonstrujący prawidłową rękę i położenie palca.

Intuicyjny

Podczas animowania rąk powinno być oczywiste i nie powinno powodować żadnych pomyłek. Animacja dłoni jest reprezentacją gestu, który próbujesz poprosić użytkownika o zrozumienie.

Jeśli na przykład chcesz, aby użytkownik nacisnął przycisk, zostanie wyzwolony naciśnięcie przycisku.

Przykład: Trener hand near tap
Trener ręczny demonstrujący Zbliżenie gema

Skalowanie ręczne

Przetestowaliśmy różne rozmiary dłoni z menu interfejsu użytkownika i czuliśmy, że jeśli ręce są prawdziwe do rozmiaru, dało to groźne uczucie. Jeśli były zbyt małe, trudno było zobaczyć i zrozumieć gest.

Głos i ręce

Nie oczekuj, że użytkownicy mogą słuchać jednego zestawu instrukcji za pośrednictwem głosu i watch różnych instrukcji za pośrednictwem trenera hand. Sekwencjonuj instrukcje, aby pomóc użytkownikom skupić się i konkurować o ich uwagę, aby zmniejszyć przeciążenie sensoryczne.

Czy mogę utworzyć własne?

Tak! Zachęcamy do utworzenia własnego unikatowego gestu dla twojej gry i współtworzenia społeczności! Udostępniliśmy plik Maya z sfałszowaną ręką, która może być używana dla twojej aplikacji, którą można pobrać tutaj: Pobierz HandCoach_MRTK.zip

Przykład animowanych rąk w Maya
Przykład animowanego hand Poking a box w Maya

Zalecane narzędzie do tworzenia

Wśród artystów 3D wiele decyduje się na korzystanie z Maya firmy Autodesk, która może używać urządzenia HoloLens do przekształcania sposobu tworzenia zasobów. Podany plik dłoni jest plikiem binarnym Maya, dlatego zaleca się używanie Maya do animowania i eksportowania rąk. Jeśli wolisz użyć innego programu 3D, oto . FBX: pobierz HandCoachMRTK_FBX.zip , aby utworzyć własną konfigurację kontrolera.

Jeśli używasz dostępnego do pobrania pliku maya Hand, zaleca się skalowanie rąk w dół w dół do wersji 0.6.

Przykład: Hand coach rig in Maya
Sfałszowane ręce

Specyfikacje techniczne

  • Dwuręczny plik jest dostępny w formacie Maya Ascii
  • Prawa i lewa ręka jest dostępna w formacie binarnym Maya
  • Ustaw plik Maya na 24 FP
  • W pliku znajduje się lewa i prawa ręka, która może być używana w przypadku gestów z dwiema rękami lub jednoręcznych. Prawa ręka będzie widoczna tylko domyślnie.
  • Zaleca się pozostawienie buforu około 10 ramek na początku i na końcu w celu zanikania
  • Jeśli animowanie obiektu z określonym obiektem docelowym, najlepszym rozwiązaniem jest animowanie w polu Domyślnym lub null.
  • Jeśli ręka animuje obiekt fizyczny, taki jak pole, najlepszym rozwiązaniem jest nie animowanie tłumaczenia w Maya, ale poczekaj na animowanie go w unity lub w kodzie.
  • Widoczna animacja powinna mieć długość 1,5 s, aby wszelkie istotne informacje zostały przekazane
  • Gdy czujesz się zadowolony z animacji:

Eksportowanie z maya

Po zakończeniu animacji

  • Zaznacz wszystkie stawy: wybierz pozycję > Hierarchia

    Przykład: Hierarchia w menu

  • Bake out animacji: Przełącz się do animacji Key > Bake Animacja >

    Przykład: Lokalizacja menu animacji bake

  • Usuń platformę kontrolerów: konspektator > MainR_Grp lub MainL_Grp

    Przykład: Lokalizacja menu platformy kontrolera

  • Eksportuj jako FBX: Wybierz pozycję JNT + Mesh: Wybór eksportu plików > (pole opcji) > Eksportuj zaznaczenie

    Przykład: Eksportowanie lokalizacji menu wyboru

    Przykład: lokalizacja menu

    Przykład: Lokalizacja menu Opcji eksportu

Podczas eksportowania jako FBX i wprowadzenia do aparatu Unity przeprowadź skalowanie rąk w dół do 0,6. Odkryliśmy, że jest to idealna równowaga do wyświetlania rąk.

Przykład: Ustawienia aparatu Unity
Ustawienia aparatu Unity dla HandCoach_R prefabrykatu znalezionego w zestawie narzędzi MRTK

Implementowanie aplikacji Hands w projekcie aparatu Unity

Najlepsze rozwiązania

  • Zaleca się skalowanie rąk w dół do poziomu jedności do 0,6

  • Ręce powinny być odtwarzane dwa razy i jeśli nie zostało ukończone, to stale zapętlone do momentu ukończenia gestu. Ręce powinny być zapętlone dwa razy, aby upewnić się, że użytkownik miał czas na zarejestrowanie i zobaczyć gest. Ręce powinny zanikać i wychodzić między pętlami.

  • Jeśli ręce użytkownika są widoczne przez kamery HL2, ale użytkownicy nie robią interakcji potrzebne im ręce pojawią się po 10 sekundach.

  • Jeśli ręce użytkownika nie są widoczne przez kamery HL2, ręce pojawią się po 5 sekundach.

  • Jeśli ręce użytkownika są wyraźnie śledzone przez kamery HL2 w środku animacji, animacja zostanie ukończona i wyblakła.

  • Jeśli dołączasz głos, sugerujemy, że odpowiada gestowi ręki.

  • Jeśli nauczysz rąk co najmniej raz, powtarzaj gest tylko wtedy, gdy zostanie wykryty, że użytkownik utknął.

  • Jeśli określone położenie palca/ręki jest krytyczne, upewnij się, że użytkownicy mogą wyraźnie zobaczyć te niuanse w animacji. Spróbuj wędkować ręce, aby najważniejsze części są wyraźnie widoczne.

  • Jeśli zauważysz zakłócenia w rękach, musisz przejść do ustawień jakości aparatu Unity zwiększyć liczbę kości. Przejdź do pozycji Edytuj > ustawienia > projektu Jakość > innych > mas mieszanych. Upewnij się, że wybrano "4 kości", aby zobaczyć Smooth Stawy.

    Przykład: okno Ustawienia projektu

Czego należy unikać

Zobacz też