mixed-reality

Hand coach

Example: Hand coach

Hand coach triggers 3D modeled hands when the system doesn’t detect the user’s hands. This feature is a “teaching” component that helps guide the user when the gesture hasn’t been taught. If users haven’t done the specified gesture for a period, the hands will loop with a delay. The Hand coach could be used to represent pressing a button or picking up a hologram.

Hand coach provided

The current interaction model represents a wide variety of gesture controls such as scrolling, far select, and near tap. Below is a full list of existing hand gestures provided in MRTK:

:::row::: :::column::: Example of Near Select
Example of Near Select - Used show how to select buttons or close interactable objects
:::column-end::: :::column::: Example of Air Tap
Example of Air Tap - Used to show how to select objects that are far away
:::column-end::: :::column::: Example of Move
Example of Moving an object in space-Used to show how to move a hologram in space
:::column-end::: :::column::: Example of Rotate
Example of Rotate-Used to show how to rotate holograms or objects
:::column-end::: :::row-end:::

:::row::: :::column::: Example of Scale
Example of Scale- Used to show how to manipulate holograms to be bigger or smaller
:::column-end::: :::column::: Example of Palm Up
Example of Palm up – Suggested use, to bring up hand menus
:::column-end::: :::column::: Example of HandFlip
Example of Hand Flip – Another way to bring up Hand Menus
:::column-end::: :::column::: Example of Scroll
Example of Scroll – Used for scrolling a list or a long document
:::column-end::: :::row-end:::

Design concepts

For Hololens2, we designed out hand interactions based on instinctual and natural hand gestures. We believe these to be intuitive to most users, so we didn’t create dedicated gesture learning moments. Instead, we created the hand coach to help users learn about these gestures if they get stuck or are unfamiliar with hologram interactions. Without a learning moment, we felt that showing users how to perform an action by demonstrating it would be the best option. We found that users were able to figure out the gesture but needed a little guidance. 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.

Intuitive

When animating hands, it should be obvious and shouldn’t cause any confusion. The hand animation is a representation of the gesture you’re trying to prompt the user to understand.

For example, if you wish a user to press a button, a hand pressing a button would be triggered.

Example: Hand coach Near Tap
Hand Coach demonstrating Near Tapping a Gem

Hand scale

We tested various hand sizes with the UI menus and felt that if the hands were true to size, it gave a menacing feeling. If they were too small, it was hard to see and understand the gesture.

Voice over and hands

Don’t expect users can listen to one set of instructions via voice over and watch different instructions via Hand coach. Sequence your instructions to help users focus versus compete for their attention to reduce sensory overload.

Can I create my own?

Yes! We encourage you to create your own unique gesture for your game and contribute back to the community! 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

Example of Animated Hands in Maya
Example of animated Hand Poking a box in Maya

Recommended authoring tool

Among 3D artists, many choose to use Autodesk’s Maya, which can use HoloLens to transform the way assets are created. The hands file provided is a Maya Binary File, so it’s recommended to use Maya to animate and export the hands. If you prefer to use another 3D program, here’s a .FBX: Download HandCoachMRTK_FBX.zip to create your own controller setup.

If using the downloadable maya Hand File provided, it’s suggested to scale down the hands in unity to 0.6.

Example: Hand coach rig in Maya
Rigged Hands

Technical Specs

Exporting from Maya

After you’re satisfied with your animation

When exporting as an FBX and brought into Unity, scale the hands down to 0.6. We found that this was perfect balance for displaying the hands.

Example: Unity Settings
Unity Settings for HandCoach_R prefab found in MRTK

Implementing Hands into your Unity project

Best practices

What to avoid

See also