Using a custom handmodel ================================================================ Export your handmodel so it is posed in this position, with the thumb inside the index finger, nail up. Of course, make sure the entire mesh is rigged and weight painted to move properly with the bones. .. image:: img/hand1.png From blender export settings (different for every program). - Rotate your rig + hand so that it is pointing: - Hand front oriented towards -X in blender, Z up axis. - Move it so the Wrist is on origin - Ctrl + A to Apply All Transforms We recommend this free plugin for Blender to simplify export Select all objects including the rig and model in the hierarchy you want to export. Use the default settings of the extension. Only change: Bone axes Primary: Z Secondary: -X At least, this was the case for this model, where for the bone axes x was to the side (so main rotation around that), and z pointing down. If using normal (non plugin) fbx export, set forward Axis to Z, and under Armature disable “Add Leaf bones”. No guarantee that this will work as intended, since we only tested with the plugin export settings. Unity ----------------------------------------------------------- - Drag and drop the exported FBX file to your asset window. - Drag and drop the fbx from your assets window into the SG_User in your hierarchy. - Right click > Unpack the prefab - Create an empty game object, call it Handmodel. Drag the HandMesh and metarig into it. .. image:: img/hand2.png - Drag this HandModel into the SGHand. Disable the old HandModel - Assign SG_HandModelInfo component to HandModel object. - In the component SG_HandModelInfo, assign: - Hand side: (left or right hand) - Fore Arm transform: SGHand Right - Wrist Transform: metarig - Alt + click the downarrow next to metarig in the hierarchy to expand all it’s children. These need to be assigned to the joints - 4 joints per finger: knuckle to fingertip (here f_index.01.R to f_index.03.R_end for example. .. image:: img/hand3.png - From the old HandModel object (originally from SGHand Right), select the HandModel. - Find the component SG_Hand State Indicator. Click the triple dots in the top right of it, and click Copy Component. - Go to your new HandModel object. Click the triple dots top right of SG_Hand Model info, and select “Paste as new component” - At the bottom there now is SG_Hand State Indicator, setting different hand visualisations during calibration for example - In here, Drag your handMesh object to the Hand Meshes field. - Click the hand mesh object inside your HandModel. - Assign a material to it of your desire. (Default from senseglove is called Hologram) - Assign the HandModel object to the following “object” > “component” > “variable”: - SGHand Right > SG_Tracked Hand > Hand Model - SGHand Right > SG_Tracked Hand > Status Indicator > Drag in your new HandModel - Animation Layer > SG_Hand Animator > Hand Model Info - Adjust the colliders inside PhysicsTrackingLayer to be better aligned with your hand model if needed. Problem solving -------------------------------------------------------------- The new hand model should now move with the senseglove on the start of the simulation. If not, assign all again, it is likely you forgot to assign something. Once your hand model moves, it might be some fingers move not as expected. If your fingers curl sideways instead of as usual, this is due to the export “bone orientation primary/secondary axes” in the export from your modeling program. (or the axes used in the bones themselves to turn about). .. image:: img/hand4.png If the thumb is rotated too much or too little around it’s own axis while the glove is active (for example bottom of thumb pointing towards you while looking at the back of your hand), you can adjust this by rotating the thumb1 joint to compensate for this .. image:: img/hand5.png