Trener ręczny

Example: Hand coach

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 czas, ręce będą pętli z opóźnieniem. Trener hand może służyć do reprezentowania naciśnięcia przycisku lub podnoszenia hologramu.

Pod warunkiem trenera ręcznego

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 dłoni dostępnych w zestawie narzędzi MRTK:

Example of Near Select
Przykład zbliżeniowego zaznaczenia — służy do pokazywania sposobu wybierania przycisków lub zamykania obiektów, które można wchodzić w interakcję

Example of Air Tap
Przykład naciśnięcia powietrza — służy do pokazywania sposobu wybierania obiektów znajdujących się daleko

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

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

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

Example of Palm Up
Przykład palmy — sugerowane użycie w celu wywołania menu ręcznych

Example of HandFlip
Przykład przerzucania ręcznego — inny sposób na wywołanie menu ręcznego

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

Zagadnienia dotyczące projektowania

Dla 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 w poznawaniu tych gestów, jeśli utknęli lub nie wiedzą o interakcjach hologramu. Bez chwili nauki czuliśmy, że pokazanie użytkownikom, jak wykonać akcję, demonstrując, że będzie to najlepsza opcja. Odkryliśmy, że użytkownicy byli w stanie ustalić gest, ale potrzebowali nieco wskazówek. Jeśli wykryjemy, że użytkownik nie wchodzi w interakcję z obiektem przez pewien czas, trener hand zostanie wyzwolony demonstrując prawidłową rękę i położenie palca.

Intuicyjny

Podczas animowania rąk powinno to być oczywiste i nie powinno powodować żadnych nieporozumień. Animacja dłoni jest reprezentacją gestu, który próbujesz zrozumieć.

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

Example: Hand coach Near Tap
Trener ręczny demonstrujący zbliżenie gema

Skalowanie ręczne

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

Głos nad i ręce

Nie oczekuj, że użytkownicy mogą słuchać jednego zestawu instrukcji za pośrednictwem głosu i oglądać różne instrukcje za pośrednictwem trenera Hand. Sekwencjonuj instrukcje, aby pomóc użytkownikom skupić się na rywalizacji o ich uwagę w celu zmniejszenia przeciążenia sensorycznego.

Czy mogę utworzyć własne?

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

Example of Animated Hands in Maya
Przykład animowanego ręcznego szukania pola w Maya

Zalecane narzędzie do tworzenia

Wśród artystów 3D wielu decyduje się na korzystanie z Maya firmy Autodesk, która może używać HoloLens do przekształcania sposobu tworzenia zasobów. Podany plik dłoni jest plikiem binarnym Maya, dlatego zaleca się używanie programu 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 korzystasz z dostępnego do pobrania pliku maya Hand File, zaleca się skalowanie rąk w dół w dół do 0,6.

Example: Hand coach rig in Maya
Rigged Hands

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 FPS
  • W pliku znajduje się lewa i prawa ręka, której można użyć do dwóch gestów ręcznie 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 do pola domyślnego lub wartości null.
  • Jeśli ręka animuje obiekt fizyczny, taki jak pole, najlepszym rozwiązaniem jest nie animowanie tłumaczenia w Programie Maya, ale oczekiwanie na animowanie go w afiszcie Unity lub w kodzie.
  • Widoczna animacja powinna mieć długość 1,5 s, aby można było przekazać wszelkie istotne informacje
  • Gdy czujesz się zadowolony z animacji:

Eksportowanie z programu Maya

Po zakończeniu animacji

  • Zaznacz wszystkie stawy: wybierz > pozycję Hierarchia

    Example: Hierarchy in Menu

  • Upiecz animację: przełącz się na animację Bake klucza > animacji >

    Example: Bake Animation Menu Location

  • Usuwanie platformy kontrolera: konspektu > MainR_Grp lub MainL_Grp

    Example: Controller Rig Menu Location

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

    Example: Export selection Menu Location

    Example: Menu Location

    Example: Export Options Menu Location

Podczas eksportowania jako FBX i sprowadzenia 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.

Example: Unity Settings
Ustawienia aparatu Unity dla HandCoach_R prefab znalezionych w zestawie narzędzi MRTK

Implementowanie aplikacji Hands w projekcie aparatu Unity

Najlepsze rozwiązania

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

  • Ręce powinny być odtwarzane dwa razy i jeśli nie zostaną ukończone, to w sposób ciągły zapętlany do momentu ukończenia gestu. Ręce powinny być zapętlone dwa razy, aby upewnić się, że użytkownik miał czas na zarejestrowanie i zobaczenie gestu. 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 wykonują 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 Edycja > aparatu Unity Project Ustawienia > jakości > inne > wagi blend. Upewnij się, że wybrano "4 kości", aby zobaczyć Smooth Stawy.

    Example: Project Settings Window

Czego należy unikać

Zobacz też