Hand Bone Mappings
Configure the hand bone mappings
Last updated
Configure the hand bone mappings
Last updated
Open the hand bone mappings and assign a skeletal mesh that uses the skeleton the player will use and make sure the player faces towards the red arrow in the viewport.
Next press the Auto-fill Bone Mappings button which will bring up a the mappings config window. This window allows to choose from a number of presets such as UE5, UE4 and Mixamo. In this particular example the skeletal mesh being used is roughly based on a UE4 skeleton. Choose the preset that works best for your and make any changes to the config which are required to map all the bones.
The auto fill bond mappings will attempt its best to map all the bones for the specified skeleton. Review the bones assigned to each entry in the LeftHand and RightHand maps under the bone mappings category.
If the bones assigned are not correct make the necessary changes. In the case of this particular skeleton the wrist bones were wrong and the grip bone was completely missing.
The fingertips are necessary for the hands to work correctly while gripping objects. This particular skeleton does not come with fingertips bones, to remedy this, create sockets and position them where the finger tips are.
Back in the hand bone mappings assign the fingertips sockets.
After assigning all the bones, there may still be bones that are not assigned and are completely missing from the skeleton. These usually are the Index0, Middle0, Ring0, Pinky0 bones. If this is the case press the button Auto-fill excluded bones and the hand bone mappings asset will automatically add all the unmapped bones to the array of excluded bones.
Every skeleton will come with different relative bone transforms compared to what the OpenXR hand tracking expects. This particular skeleton for instance comes with hand bones relative transforms which differ from the OpenXR standard and can be seen by the hand fingers being twisted.
To fix this the hand bone mappings asset allows to specify extra bone rotations to apply on all the hand bones or to specified bones. These values can be provided by changing the properties Left/RightBoneRotations or Left/RightOverrideBoneRotations under the category BoneRotations.
For this skeleton the values that fixed the hands are as shown in the following screenshot.
To better preview the changes being made press space bar to switch between an open/close hand pose.