Hand CoachHand coach

Beispiel: Hand Trainer

Der handtrainer löst 3D-modellierte Hände aus, wenn das System die Hände des Benutzers nicht erkennt.Hand coach triggers 3D modeled hands when the system doesn't detect the user’s hands. Diese Funktion ist eine "Lehr Komponente", die den Benutzer unterstützt, wenn die Geste nicht gelehrt wurde.This feature is a “teaching” component that helps guide the user when the gesture hasn't been taught. Wenn Benutzer die angegebene Geste für einen bestimmten Zeitraum nicht ausgeführt haben, wird die Hand mit einer Verzögerung Schleife.If users haven't done the specified gesture for a period, the hands will loop with a delay. Der handbus könnte verwendet werden, um das Drücken einer Schaltfläche oder das Auswählen eines holograms darzustellen.The Hand coach could be used to represent pressing a button or picking up a hologram.

Hand Trainer bereitgestelltHand coach provided

Das aktuelle Interaktionsmodell stellt eine Vielzahl von Gesten Steuerelementen dar, wie z. b. Scrollen, weite Auswahl und Near Tap.The current interaction model represents a wide variety of gesture controls such as scrolling, far select, and near tap. Im folgenden finden Sie eine vollständige Liste der in mrtkbereitgestellten Handgesten:Below is a full list of existing hand gestures provided in MRTK:

Beispiel für Near SELECTExample of Near Select
Beispiel für Near Select-used anzeigen auswählen von Schaltflächen oder Schließen von Objekten mit InteraktionenExample of Near Select - Used show how to select buttons or close interactable objects

Beispiel für Luft tippenExample of Air Tap
Beispiel für Air Tap: wird verwendet, um zu zeigen, wie Objekte, die weit entfernt sind, ausgewählt werden.Example of Air Tap - Used to show how to select objects that are far away

Beispiel für MoveExample of Move
Beispiel für das Verschieben eines Objekts im Raum: wird verwendet, um zu veranschaulichen, wie ein – Hologramm in den Raum verschoben wird.Example of Moving an object in space-Used to show how to move a hologram in space

Beispiel für DrehungExample of Rotate
Beispiel für Rotate-Used, um zu zeigen, wie Hologramme oder Objekte gedreht werdenExample of Rotate-Used to show how to rotate holograms or objects

Beispiel für SkalierungExample of Scale
Beispiel für "Scale-used", um zu veranschaulichen, wie die Manipulation von holograms größer oder kleiner wirdExample of Scale- Used to show how to manipulate holograms to be bigger or smaller

Beispiel für eine Palm-upExample of Palm Up
Beispiel für eine zusammen Fläche – Empfohlene Verwendung, um die Menüs aufzurufendenExample of Palm up – Suggested use, to bring up hand menus

Beispiel für ein handflipExample of HandFlip
Exahorn von Hand Flip – eine andere Möglichkeit zum Einrichten von MenüsExmaple of Hand Flip – Another way to bring up Hand Menus

Beispiel für einen BildlaufExample of Scroll
Beispiel für einen Scroll–, der zum Scrollen einer Liste oder eines langen Dokuments verwendet wirdExample of Scroll – Used for scrolling a list or a long document

EntwurfskonzepteDesign concepts

Für Hololens2 haben wir die manuellen Interaktionen auf der Grundlage von instanziellen und natürlichen Handbewegungen entworfen.For Hololens2, we designed out hand interactions based on instinctual and natural hand gestures. Wir sind der Meinung, dass diese für die meisten Benutzer intuitiv sind, daher haben wir keine dedizierten Gesten lernmomente erstellt.We believe these to be intuitive to most users, so we didn't create dedicated gesture learning moments. Stattdessen haben wir den Hand-Bus erstellt, um Benutzern zu helfen, sich über diese Gesten zu informieren, wenn Sie hängen bleiben oder mit – Hologramm-Interaktionen nicht vertraut sind.Instead, we created the hand coach to help users learn about these gestures if they get stuck or are unfamiliar with hologram interactions. Ohne einen Lern Moment haben wir gespürt, dass Benutzern angezeigt wird, wie Sie eine Aktion durchführen können, indem Sie Ihnen zeigen, dass Sie die beste Option ist.Without a learning moment, we felt that showing users how to perform an action by demonstrating it would be the best option. Wir haben festgestellt, dass die Benutzer die Geste ermitteln konnten, aber eine kleine Anleitung benötigten.We found that users were able to figure out the gesture but needed a little guidance. Wenn Sie feststellen, dass ein Benutzer für einen bestimmten Zeitraum nicht mit einem Objekt interagiert, wird ein Hand Trainer ausgelöst, der die korrekte Hand-und Finger Platzierung demonstriert.If we detect a user doesn't interact with an object for a period, a Hand coach would be triggered demonstrating the correct hand and finger placement.

IntuitivenIntuitive

Bei der Animation sollten Sie offensichtlich sein und sollten keine Verwirrung verursachen.When animating hands, it should be obvious and shouldn't cause any confusion. Die Hand Animation ist eine Darstellung der Geste, die Sie zum Verständnis des Benutzers auffordern.The hand animation is a representation of the gesture you're trying to prompt the user to understand.

Wenn Sie z. b. möchten, dass ein Benutzer auf eine Schaltfläche klickt, wird eine Hand Taste gedrückt.For example, if you wish a user to press a button, a hand pressing a button would be triggered.

Beispiel: Hand-Bus near TapExample: Hand coach Near Tap
Hand Coach, der das Tippen auf einen gem tippen zeigtHand Coach demonstrating Near Tapping a Gem

Hand SkalaHand scale

Wir haben verschiedene Hand Größen mit den Menüs für die Benutzeroberfläche getestet und sich gefühlt, wenn die Hände für die Größe zutreffen.We tested various hand sizes with the UI menus and felt that if the hands were true to size, it gave a menacing feeling. Wenn Sie zu klein waren, war es schwierig, die Geste zu erkennen und zu verstehen.If they were too small, it was hard to see and understand the gesture.

Voice-over und HandVoice over and hands

Sie sollten nicht erwarten, dass Benutzer eine Reihe von Anweisungen über eine Stimme überwachen und andere Anweisungen über den Hand-Bus ansehen.Don’t expect users can listen to one set of instructions via voice over and watch different instructions via Hand coach. Sequenzieren Sie Ihre Anweisungen, um Benutzern den Fokus zu erleichtern und um Ihre Aufmerksamkeit zu unterstützen, um die Sensor ÜberlastungSequence your instructions to help users focus versus compete for their attention to reduce sensory overload.

Kann ich meine eigene erstellen?Can I create my own?

Ja!Yes! Wir empfehlen Ihnen, eine eigene, einzigartige Geste für Ihr Spiel zu erstellen und zur Community beizutragen.We encourage you to create your own unique gesture for your game and contribute back to the community! Wir haben eine Maya-Datei für eine manipulierte Hand bereitgestellt, die für Ihre APP verwendet werden kann. Sie können hier heruntergeladen werden: Download HandCoach_MRTK.zip We've provided a Maya file of a Rigged hand that can be used for your app, which can be downloaded here: Download HandCoach_MRTK.zip

Beispiel für animierte Hände in MayaExample of Animated Hands in Maya
Beispiel für ein animiertes Hand Zeichen in MayaExample of animated Hand Poking a box in Maya

Empfohlenes Authoring ToolRecommended authoring tool

Bei 3D-Künstlern entscheiden sich viele für die Verwendung von Autodesk Maya, die hololens zum Transformieren der Art und Weise verwenden können, wie Assets erstellt werden.Among 3D artists, many choose to use Autodesk’s Maya, which can use HoloLens to transform the way assets are created. Die angegebene handdatei ist eine Maya-Binärdatei. Daher empfiehlt es sich, Maya zu verwenden, um die Hände zu animieren und zu exportieren.The hands file provided is a Maya Binary File, so it's recommended to use Maya to animate and export the hands. Wenn Sie lieber ein anderes 3D-Programm verwenden möchten, finden Sie hier eine . FBX: Laden Sie HandCoachMRTK_FBX.zip herunter , um ein eigenes Controller-Setup zu erstellen.If you prefer to use another 3D program, here's a .FBX: Download HandCoachMRTK_FBX.zip to create your own controller setup.

Wenn Sie die herunterladbare Maya-handdatei verwenden, wird empfohlen, die Hände in Unity auf 0,6 zu skalieren.If using the downloadable maya Hand File provided, it's suggested to scale down the hands in unity to 0.6.

Beispiel: Hand Bus rig in MayaExample: Hand coach rig in Maya
Manipulierte HändeRigged Hands

Technische SpezifikationenTechnical Specs

  • Zwei über gebene Dateien sind im Maya ASCII-Format verfügbar.Two handed File is available in Maya Ascii format
  • Rechts und Links sind im Format "Maya Binary" verfügbar.Right and Left Hand is available in Maya Binary format
  • Festlegen der Maya-Datei auf 24 fpsSet your Maya file to 24 FPS
  • Innerhalb der Datei gibt es eine linke und eine rechte Seite, die für zwei Hand-oder einstellige Gesten verwendet werden kann.Within the file, there's a left and right hand, which can be used for two handed or single-handed gestures. Die Rechte Seite ist standardmäßig nur sichtbar.The right hand will only be visible by default.
  • Es wird empfohlen, einen Puffer mit ungefähr 10 Frames am Anfang und am Ende für die gestreamungen zu belassen.It's suggested to leave a buffer of about 10 frames at the beginning and end for fades
  • Wenn Sie ein Objekt mit einem angegebenen Ziel animieren, empfiehlt es sich, ein Standardfeld zu animieren oder NULL zu animieren.If animating an object with a specified target, its best practice to animate to a Default box or Null.
  • Wenn die Hand ein physisches Objekt, wie z. b. ein Feld, animiert, empfiehlt es sich, die Übersetzung nicht in Maya zu animieren, sondern in Unity oder im Code zu animieren.If the hand is animating a physical object such as a box, its best practice to not animate the translation in Maya but wait to animate it in Unity or in Code.
  • Die sichtbare Animation sollte 1,5 Sekunden sein, damit aussagekräftige Informationen übermittelt werden können.Visible Animation should be 1.5 secs for any meaningful information to be conveyed
  • Wenn Sie mit ihrer Animation zufrieden sind:When you feel satisfied with your animation:

Exportieren aus MayaExporting from Maya

Nachdem Sie mit ihrer Animation zufrieden sindAfter you're satisfied with your animation

  • Alle Gelenke auswählen: Wählen Sie > Hierarchie aus.Select all joints: Select > Hierarchy

    Beispiel: Hierarchie im Menü

  • Animation der Animation: Wechseln Sie zur Animation > Key > Animation.Bake out your animation: Switch to Animation > Key > Bake Animation

    Beispiel: Speicherort für Animations Menü

  • Löschen Sie das Controller-Rig: Outliner-> MainR_Grp oder MainL_GrpDelete the Controller Rig: Outliner > MainR_Grp or MainL_Grp

    Beispiel: Speicherort des Controller-Rig-Menüs

  • Exportieren als FBX: Wählen Sie JNT + Mesh: File > Export Selection (Optionsfeld) > Export Auswahl aus.Export as FBX: Select JNT + Mesh: File > Export Selection (option box) > Export Selection

    Beispiel: Exportieren der Auswahlmenü Position

    Beispiel: Menü Position

    Beispiel: Menü Speicherort für Export Optionen

Wenn Sie als FBX exportieren und in Unity integriert sind, Skalieren Sie die Hände auf 0,6.When exporting as an FBX and brought into Unity, scale the hands down to 0.6. Wir haben festgestellt, dass dies das perfekte Gleichgewicht für die Anzeige der Hände ist.We found that this was perfect balance for displaying the hands.

Beispiel: Unity-EinstellungenExample: Unity Settings
Unity-Einstellungen für HandCoach_R-präfab in mrtkUnity Settings for HandCoach_R prefab found in MRTK

Implementieren von Hand in Ihr Unity-ProjektImplementing Hands into your Unity project

Bewährte MethodenBest practices

  • Es wird empfohlen, die Hände in Unity auf 0,6 zu skalieren.It's suggested to scale down the hands in unity to 0.6

  • Hände sollten zweimal abgespielt werden und, wenn Sie nicht abgeschlossen ist, bis zum Abschluss der Bewegung fortlaufend.Hands should be played twice and if not completed then continuously looped until gesture is completed. Die Hände sollten zweimal Schleifen, um sicherzustellen, dass der Benutzer Zeit hat, sich zu registrieren und die Geste anzuzeigen.The hands should be looped twice to ensure the user had time to register and see the gesture. Die Hände sollten Zwischenschleifen ein-und ausgeblendet werden.The hands should fade in and out between loops.

  • Wenn Benutzer Hände durch HL2-Kameras sichtbar sind, die Benutzer aber nicht die erforderliche Interaktion durchlaufen, werden die Hände nach 10 Sekunden angezeigt.If user’s hands are visible by HL2 cameras but users aren't doing the interaction needed of them the hands will appear after 10 seconds.

  • Wenn Benutzer Hände nicht durch HL2 Kameras sichtbar sind, werden die Hände nach 5 Sekunden angezeigt.If user’s hands are NOT visible by HL2 cameras, the hands will appear after 5 seconds.

  • Wenn Benutzer Hände in der Mitte der Animation von HL2-Kameras sichtbar sind, wird die Animation vervollständigt und ausgeblendet.If user’s hands are visibly tracked by HL2 cameras in the middle of the animation, the animation will complete and fade out.

  • Wenn Sie Voice over einschließen, empfehlen wir, dass es der Handbewegung entspricht.If you're including voice over, we suggest that it corresponds to the gesture of the hand.

  • Wenn Sie die Hände mindestens einmal gelehrt haben, wiederholen Sie die Geste nur, wenn erkannt wird, dass der Benutzer nicht mehr reagiert.If you've taught the hands at least once, only repeat the gesture if it's detected that the user is stuck.

  • Wenn bestimmte Finger-/uhrzeitanpositionen kritisch sind, stellen Sie sicher, dass Benutzer diese Nuancen in der Animation eindeutig sehen können.If specific finger/hand positions are critical, ensure users can clearly see these nuances in the animation. Probieren Sie die Hände, damit die wichtigsten Teile klar sichtbar sind.Try angling the hands so the most important parts are clearly visible.

  • Wenn Sie feststellen, dass Sie eine Verzerrung haben, müssen Sie die Qualitätseinstellungen der Unity erhöhen, um die Anzahl der Knochen zu erhöhen.If you notice distortion on the hands, you need to go to Unity's Quality settings increase the number of bones. Wechseln Sie zu Unity-> Projekteinstellungen > Quality > andere > Blend-Gewichtungen.Go to Unity's Edit > Project Settings > Quality > Other > Blend Weights. Stellen Sie sicher, dass "4 Knochen" ausgewählt sind, um glatte Gelenke anzuzeigen.Make sure "4 bones" are selected to see Smooth Joints.

    Beispiel: Fenster "Projekteinstellungen"

Was Sie vermeiden solltenWhat to avoid

  • Skalieren der Hände zu großScaling the Hands too large
  • die Hände werden dem Benutzer zu nah platziert.placing the Hands too close to the user
  • Hände sollten nur einmal vermittelt werden.Hands should only be taught once. Über lehrungen können Verwirrung und Verwirrung verursachen.Over teaching can cause confusion and messiness
  • Wenn Sie es in Unity einbinden, laden Sie den aktuellen mrtk hier herunter: https://github.com/microsoft/MixedRealityToolkit-UnityBringing it into Unity, download the latest MRTK here: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Material: Teaching_Hand2Material: Teaching_Hand2
    • Skripts: siehe mrtk Guidelines for mrtk Hand Coach Scripts: Refer to MRTK guidelines for MRTK hand coach
    • Pro-Projekt-EinstellungPer- project setting
      • Szene, die auf UWP festgelegt ist: Anweisungen finden Sie im Unity-Projekt für Windows Mixed Reality.Scene set to UWP: Instruction can be found on the Configure Unity Project for Windows Mixed Reality

Weitere InformationenSee also