Interactions

There are three separate components necessary to be set up in order for the interactions to start working: InteractionHand, InteractionHandler and HandTrackingRuntimeHand.

These components are already present inside Interactions_Left and Interactions_Right prefabs, so following this tutorial will ensure you've got it all set up correctly.

Setting Up InteractionHand

Drag and drop OVRCameraRig to the scene and set TrackingOriginType to floor level.

Drag and drop OctoHand_Left and OctoHand_Right prefabs as children of TrackingSpace.

Remove the BasicHandSkeleton from each OctoHand and replace it with the PosingHandSkeleton. When you've done this, be sure to click the Auto Add Bones button, as having a hand with unreferenced bones won't work.

Reference (for Oculus) TrackingSpace to InputRoot of MultiSourceInputDataProvider located in the child object InputProvider for each hand.

Drag and drop Interactions_Left prefab as a child of OctoHand_Left and Interactions_Right prefab as a child of OctoHand_Right.

Reference Root from each OctoHand (found in OctoHand > HandModel > Root) to HandSkeleton of each Interactions.

Reference TrackingSpace from OVRCameraRig to each of the hands Tracking Space slots.

Reference Marker_PalmCenter from each of the Root transform's to PalmCenter of each Interactor.

Interaction Handler should already have a reference, but if there isn't one you can find it in the child object called InteractionHandler.

Reference the HandSkeleton (found in OctoHand > HandModel > Root) from each Root to HandSkeleton of each InteractionHand.

Reference the HandInput from each OctoHand to each Hands object.

Reference the XRControllerInput from each OctoHand to each Controllers object.

Setting up HandTrackingRuntimeHand

First, select all finger root transforms and drag and drop them as a reference inside FingerRoots.

The finger roots are inside OctoHand > HandModel > Root.

If you've followed the instructions from the beginning, there should be a special type of HandSkeleton on your Root, drag and drop it as a reference to the PosingHandSkeleton of HandTrackingRuntimeHand.

Use RotationSpeed to set the rotation speed of your fingers.

Finally, if it's not already done, reference the InteractionHand from each parent object to this InteractionHand.

Your hands are now ready to grab stuff!

Last updated