How To Grab Around An Object
I have tried all the modules: hand, handtracking, hand segmentation and hand gestures but I am not getting the desired result. The objects aren't really following my hand that well in 3D space.
Let say I wanted to grab around a hammer, shake it and potentially hit something. I found this resource one: https://lensstudio.snapchat.com/templates/object/3d-hand-interactions/
But it's not super clear on how to use the grab "gesture" script, since it isn't listen in the "gesture triggers" of the examples.
I hope this makes sense.
Hi Allan!
For the example you shared in the 3D Hand Interaction template. The 'grab' action is described in the SingleGestureTrigger script in the getGesture() function.
This script basically just sends out behavior triggers when the action described in getGesture() is detected, in this case, it is when thumb, index and mid fingers are closed together (to compose a Grab action).
If you want a more defined hand gesture as the grab trigger, feel free to check out the pre-defined examples under Gesture Triggers. There is no pre-defined grab trigger, but you can duplicate an existing gesture and customize its conditions to create your own custom gesture.
In this way you can define hand gestures in more refined details, customize the hand position requirement based on thresholds provided in the GetJointsDistance script, provided on child objects under each gesture in Gesture Triggers.
Then the SetFollowHandHelper script sets an object to follow certain median points of the hand on certain trigger. If you make sure the triggers here match the triggers in SingleGestureTrigger script, then these 2 scripts working hand-in-hand together would create a 'grab and follow' effect.
The SetFollowHandHelper script also can have conditions on hand follow, in the example we provided in template, the Follow Condition in SetFollowHandHelper is set to Distance & Trigger, which means when the trigger gets detected the object also needs to be within certain distance in order for the grab action to work. You can see the distance with distance logger script attached to the Distance Indicator object right under the Set Follow Hand Helper object.
Also you would need to keep the 'grabbed' action in order for the object to follow your hand in 3D space.
You may also turn on Show Joints and Show Bones in Left and Right Hand Tracking script under Tracking Managers. It will help indicate if your hand is tracked in scene so that you can pinpoint the problems when grab is not detected to see if it is because hand has lost tracking.
Feel free to give these methods a try, and let me know if you have any additional questions related to hand tracking!