In the latest assets (released yesterday), there are RiggedHand and RiggedFinger scripts. However, it isn't an easy process to get right. Here are the steps I've come up with, but I don't think they are 100% correct, since I get different levels of success in the results after performing them with different models. Hopefully they will get you headed in the right direction.
- Import model
- Set scale — roughly the same size as the existing models
- Drag model to hierarchy
- Add RiggedHandScript
- Add Empty object, rename to Hand
- Add an Empty object to Hand, name it Offset
- Add Empty object to Offset, rename to Arm
- Drag root arm bone to Arm
- Drag root hand bone to Offset
- Assign Hand to the RiggedHand script palm transform
- Assign Arm to the RiggedHandScript forearm transform.
- Adjust the Offset translation to put the palm position of the mesh at 0,0,0 (It is helpful to place a small 3D primitive at the origin as a marker)
- Set Model Finger Pointing and Model Palm Facing in RiggedHand Script based on the rest pose of the hand. These are direction vectors and are easy to set if the hand is aligned with the axes.
- Add a HandController object to the scene and position it so that you can see the hands in the Game view.
- Assign your under-construction RiggedHand object to the HandController graphics model (for left or right accordingly).
Test your hand. See if the hand is oriented correctly and the wrist joint looks and rotates correctly
Common errors include:
Not making Arm a child of Hand
Using the wrong bone for the palm
Not setting finger pointing and palm face directions properly
Switch to Scene view and select the HandController in the Hierarchy. Compare your hand to the rigid bodies. They should line up with the palm and arm. Common mistakes include:
Wrong scale — set the scale of the model in inspector (probably have to start over after doing this)
Wrong offset — Adjust the Offset translation
- Add The RiggedFinger script to one of the top level finger bones.
- Set the Model finger pointing and palm facing values to the same used for RiggedHand
- Copy this RiggedFinger component and paste it to the four other top level finger bones.
- For each finger, drag the bone transforms to the corresponding position in the RiggedFinger bone array.
Item3 should be the distal bone(not the tip)
Item2 should be the intermediate phalanx
Item1 should be the proximal phalanx
Item0 should be the metacarpal, but isn’t articulated in the LM hand model, so it isn’t necessary if your rig doesn’t need them). The LM hands don’t use this slot.
- Drag the bones with the RiggedFinger script components to the corresponding slots in the Fingers array of the RiggedHand script.
- Test