From LeapController.cpp, line 399
float GrabStrength = Hand.grabStrength();
bool Grabbed = HandClosed(GrabStrength);
if (Grabbed)
{
ILeapEventInterface::Execute_LeapHandGrabbing(Private->InterfaceDelegate, GrabStrength, PEventHand);
}
The “grabbed” variable is set by an utility “HandClosed” function which does this:
bool HandClosed(float Strength)
{
return (Strength == 1.f);
}
This is in contradiction to the blueprint tooltip stating:
“Event triggered continuously when the given hand has a grab strength greater than 0.5”
Proposed fix:
Add a new utility function:
bool HandGrabbing(float Strength)
{
return (Strength >= 0.5f);
}
And use it to set the grabbed flag
bool Grabbed = HandGrabbing(GrabStrength);