RoboHandsXR

The RoboHandsXR Project is a unity asset pack I started in early 2021, with the express goal of creating a simple, drag and drop player template for Unity VR games, with highly-poseable player hands.

To achieve this goal, I learned C#, created over 10 scripts for player interaction and animation, and a whole lot more!

Thumbs up!

Last year, I was inspired by the relatively few VR games made in Unity Engine that had really polished hand animations. The majority of VR games created in Unity have hand models that barely move, most either turning off when an object is grabbed by the user, or roughly closing the fist around an object. Because it’s relatively simple to create poses for hand models, I knew something had to be done.

Creating, Posing, Controlling

Unity’s animator tools make creating and blending individual hand poses extremely easy! The image to the right shows the animator used to blend the poses together using code.

Each hand has a total of 11 individual poses that can be blended together, plus added poses for grabbing specific objects. Using the animator and scripts, this can be multiplied to an insane number of hand poses!

Blend Trees

The power of using Unity’s built in Animator to drives these hand poses is Animation Blend Trees (often simply called Blend Trees). Blend Trees are basically a collection of poses that blend together based on an input value, or set of values! There’s an example of one to the right.

In this Blend Tree, we have Idle, Pinch, Grip, and Fist poses for the left hand, all connected to the tree. You can see that the two variables we’re using to control the blend of said tree is Grip and Trigger, two values we’re receiving directly from the hand controllers themselves!

 

A Simple Slider

Watch the video to the right to see how a blend Tree works in action!

 

Codes and Combinations

Utilizing blend trees in our animator allows us to have fewer hard cuts swapping from one pose to another! That’s how RoboHands works at it’s core: combining Blend Trees and hand poses with real-time data to create high quality hand animations! But that’s not all!

Click here to see what all basic hand poses RoboHands enables! - Gallery Link

 

Locomotion!

Since the goal of the project is to have a drag and drop player avatar that any Unity developer can throw into a scene to test out VR, we needed to have smooth locomotion working! Luckily, I already had that code from a previous project, so it was easy to drop in for use here!

I also added the ability to climb walls, a mechanic used in many VR games out today.

 

 

Want to try out RoboHandsXR for yourself? It’s still a work in progress, but feel free to check out the source code and download it to test out yourself at my github!

Make sure to grab the demo to try it out as well!