Hand coach

Przykład: Hand coach

Trenowanie ręczne wyzwala modelowane w 3D ręce, gdy system nie wykrywa rąk użytkownika. Ta funkcja jest składnikiem "nauczania", który pomaga kierować użytkownikami, gdy gest nie został uczony. Jeśli użytkownicy nie zrobili określonego gestu przez określony czas, ręka będzie pętlą z opóźnieniem. Selekcjoner ręki może być używany do reprezentowania naciśnięcia przycisku lub odebrania hologramu.

Dostarczony przez szkoleniowca ręcznego

Bieżący model interakcji reprezentuje szeroką gamę kontrolek gestów, takich jak przewijanie, wybór daleko i naciśnięcie w pobliżu. Poniżej znajduje się pełna lista istniejących gestów rąk dostępnych w zestawach MRTK:

Przykład opcji Near Select
Przykład wybierania w pobliżu — używane polecenie pokazuje, jak wybierać przyciski lub zamykać obiekty w interakcji

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

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

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

Przykład skalowania
Przykład skalowania — pokazuje, jak manipulować hologramami w celu ich większego lub mniejszego

Przykład z Up
Przykład z aplikacji Up — sugerowane użycie w celu przyblizynia menu

Przykład handflip
Exmaple of Hand Flip — inny sposób na menu ręczne

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

Zagadnienia dotyczące projektowania

W przypadku urządzenia Hololens2 zaprojektowaliśmy interakcje ręczne na podstawie instynktualnych i naturalnych gestów ręki. Uważamy, że są one intuicyjne dla większości użytkowników, więc nie utworzyliśmy dedykowanych momentów uczenia za pomocą gestów. Zamiast tego utworzono pomocnika ręcznego, aby pomóc użytkownikom poznać te gesty, jeśli utkną lub nie są zaznajomione z interakcjami hologramów. Bez chwili nauki czuliśmy, że pokazanie użytkownikom, jak wykonać akcję przez pokazanie, ż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 przez określony czas nie wchodzi w interakcję z obiektem, zostanie wyzwolony selekcjoner ręki pokazujący prawidłowe położenie ręki i palca.

Intuicyjny

Podczas animowania rąk powinno to być oczywiste i nie powinno powodować żadnych nieporozumień. Animacja ręki jest reprezentacją gestu, który próbujesz zrozumieć przez użytkownika.

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

Przykład: Hand coach Near Tap
Hand Coach demonstrujący zbliżanie się do naciśnięcia gema

Skalowanie ręczne

Przetestowaliśmy różne rozmiary rąk przy użyciu menu interfejsu użytkownika i poczuliśmy, że gdyby rozmiar rąk był prawdziwy, dało to wprawę w odczuciu. Gdyby były zbyt małe, trudno było zobaczyć i zrozumieć gest.

Głos i ręce

Nie należy oczekiwać, że użytkownicy będą mogli nasłuchiwać jednego zestawu instrukcji za pośrednictwem funkcji voice over i obserwować różne instrukcje za pośrednictwem asystenta ręcznego. Sekwencja instrukcji pomaga użytkownikom skupić się w porównaniu z rywalizacją o ich uwagę w celu zmniejszenia przeciążenia czuciowego.

Czy mogę utworzyć własny?

Tak! Zachęcamy do tworzenia własnego unikatowego gestu dla twojej gry i współtwo wrócić do społeczności! Podano plik Maya z układem z Rigged, który może być używany dla Twojej aplikacji, który można pobrać tutaj: Pobierz HandCoach_MRTK.zip

Przykład animowanych rąk w programie Maya
Przykład animowanego ręcznego pokingu w programie Maya

Zalecane narzędzie do tworzenia

Spośród artystów 3D wielu decyduje się na użycie programu Autodesk's Maya, który może używać HoloLens do przekształcania sposobu tworzenia zasobów. Dostarczony plik rąk jest plikiem binarnym Maya, dlatego zaleca się używanie programu Maya do animowania i eksportowania rąk. Jeśli wolisz używać 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, zalecamy skalowanie w dół rąk w a aparatu Unity do 0,6.

Przykład: Hand coach platform in Maya (Tren trenuj ręcznie w programie Maya)
Rigged Hands

Specyfikacje techniczne

  • Plik dwuręowy jest dostępny w formacie Maya Ascii
  • Prawa i lewa ręka jest dostępna w formacie binarnym Maya
  • Ustaw plik Maya na wartość 24 CSV
  • W pliku znajduje się lewa i prawa ręka, której można użyć do gestów dwóch osób lub jednej ręki. Prawa ręka będzie domyślnie widoczna tylko.
  • Zalecamy pozostawienie buforu z około 10 ramek na początku i na końcu w celu zaniki
  • W przypadku animowania obiektu z określonym elementem docelowym najlepszym rozwiązaniem jest animowanie do pola domyślnego lub wartości null.
  • Jeśli ręka animuje fizyczny obiekt, taki jak box, najlepszym rozwiązaniem jest nie animowanie tłumaczenia w programie Maya, ale oczekiwanie na jego animowanie w a unity lub kodzie.
  • Widoczna animacja powinna mieć 1,5 s, aby wszelkie istotne informacje były przekazywane
  • Gdy animacja ci się podoba:

Eksportowanie z maja

Po zakończeniu animacji

  • Zaznacz wszystkie selektory: wybierz > hierarchii

    Przykład: Hierarchia w menu

  • Schowaj animację: przełącz na animację > Key > Bake Animation

    Przykład: lokalizacja menu animacji tworzenia

  • Usuwanie kontrolera zestawu danych: > MainR_Grp lub MainL_Grp

    Przykład: lokalizacja menu zestawu danych kontrolera

  • Eksportuj jako FBX: wybierz pozycję JNT + Mesh: File > Export Selection (pole opcji) > Export Selection (Eksportuj zaznaczenie)

    Przykład: Eksportowanie lokalizacji menu wyboru

    Przykład: lokalizacja menu

    Przykład: lokalizacja menu Opcji eksportu

Podczas eksportowania jako FBX i przywniosenia do aparatu Unity przeskaluj ręce w dół do 0,6. Odkryliśmy, że była to idealna równowagę w przypadku wyświetlania rąk.

Przykład: Unity Ustawienia
Unity Ustawienia for HandCoach_R prefab found in MRTK

Implementowanie rąk do projektu aparatu Unity

Najlepsze rozwiązania

  • Zalecamy skalowanie w dół rąk w a unity do 0,6

  • Ręka powinna być odtwarzana dwukrotnie, a jeśli nie zostanie ukończona, to w sposób ciągły zapętlony do momentu ukończenia gestu. Ręka powinna być dwukrotnie zapętlona, aby upewnić się, że użytkownik miał czas na zarejestrowanie się i zobaczenie gestu. Ręce powinny zanikać i wychodzić między pętlami.

  • Jeśli ręka użytkownika jest widoczna przez kamery HL2, ale użytkownicy nie robią wymaganej interakcji, ręce pojawią się po 10 sekundach.

  • Jeśli ręce użytkownika NIE są widoczne dla kamer HL2, zostaną wyświetlone po 5 sekundach.

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

  • Jeśli dodajesz głos, sugerujemy, aby odnosił się do gestu ręki.

  • Jeśli co najmniej raz uczono ręce, powtórz gest tylko wtedy, gdy zostanie wykryty, że użytkownik utknęła.

  • Jeśli konkretne pozycje palca/ręki są krytyczne, upewnij się, że użytkownicy mogą wyraźnie zobaczyć te szczegóły w animacji. Spróbuj pochylić ręce, aby najważniejsze części były wyraźnie widoczne.

  • Jeśli zauważysz, że ręce są chłone, musisz przejść do ustawień jakości aparatu Unity, aby zwiększyć liczbę pątek. Przejdź do strony Edit > Project Ustawienia > Quality > Other > Blend Weights (Edytowanie > Project Ustawienia > jakości i > blend. Upewnij się, że wybrano opcję "4 element" w celu zobaczenia ciągu Smooth IoT.

    Przykład: Project Ustawienia okno

Czego należy unikać

  • Zbyt duże skalowanie rąk
  • umieszczenie rąk zbyt blisko użytkownika
  • Rąk należy uczyć tylko raz. Over teaching can cause confusion and chaosiness (Zbyt uczenie może powodować dezorientację i bałagan)
  • Pobierz najnowszą wersję mrTK do aparatu Unity tutaj: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Materiał: Teaching_Hand2
    • Skrypty: zapoznaj się z wytycznymi dotyczącymi mrTK dla ręcznego szkoleniowca MRTK
    • Ustawienie dla projektu
      • Scene set to UWP (Scena ustawiona na platformę UWP): instrukcję można znaleźć na stronie Configure Unity Project for Windows Mixed Reality (Konfigurowanie aparatu Unity na Windows Mixed Reality

Zobacz też