Forum Discussion
BTR_Josh
8 months agoExplorer
How To Use FIsdkDigitRangeParams
Good Afternoon, Unreal Engine Version: 5.5.4 Meta Interaction SDK Version: v77.0.0 We're currently trying to create a system to recognise hand poses using the UIsdkHandDigitRecognizer class. We're...
- 8 months ago
Josh,
Sure, I just did a few tests and here are some rough min/maxes for each Calculation Type, I'll also give a brief description as to what they're representing. I'll also be adding this into our documentation in the very near future so other devs can benefit, as well as updating our in-editor tooling with some more debugging features for these calculation axes.
(These are all for fingers, we only track Curl and Flexion for thumbs)
Abduction [3.3 - 78.1] Lateral movement of the finger away from it's resting position (think finger "spread")
Curl [-10.0 - 180] How "curled" that finger is, a negative value typically represents the finger being pulled up
Flexion [-27.0 - 93.1] The bend of the finger toward the palm (not curled)
Opposition [0.4 - 21.2] Representation of the distance of finger to the thumb
The update with the pose recognition tools should be coming out (hopefully) incredibly soon, can't be more specific because things can always change at the last minute, but stay tuned!
Cheers,
John
j_g_sampson
8 months agoMeta Employee
Hey BTR_Josh!
Thanks for trying out the Unreal Interaction SDK. We don't currently have any samples that demonstrate the use of the FIsdkDigitRangeParams. However, in the next update we do actually have a new asset-driven pose recognition layer that we've added that should make this a lot easier for you to utilize. We do recognize the UIsdkHandDigitRecognizer can be a bit awkward to work with so we're hoping this new system will help ease the user experience there.
In the interim, I would say take a look at the UIsdkHandFingerRecognizer class, which allows you to establish the FingerType and, more relevant to what you're asking about, the CalcType (EIsdkDetection_FingerCalcType) which will establish which kind of calculation that recognizer should report on ( Curl, Flexion, Abduction, etc). The FIsdkDigitRangeParams struct describes for the upper and lower bounds and tolerances that are allowed for that digit's specific calculation type to register (or not).
So for example, you could create a UIsdkHandFingerRecognizer, set a hand mesh, assign FingerType to Index, assign CalcType to Curl, and set the FIsdkDigitRangeParams struct (from the base UIsdkHandDigitRecognizer class) with the values for your desired range, and that Recognizer should fire whenever the value for the index finger curling is within the defined parameters. With a series of UIsdkHandFingerRecognizers setup this way and configured how you want, you can achieve an overall hand pose recognition.
Hopefully that help to clarify, feel free to let me know if you could use more information. I'll post here once the update goes live (hopefully soon) with the new pose recognition system as well, as it sounds like that will be very much up your alley.
Cheers!
John
BTR_Josh
8 months agoExplorer
Thanks for the reply John,
Do you have some example values for the upper and lower bounds? The problem we're running into is that we don't know the range that these values work in. Is it a normalized range (0-1), or even an 8 bit range (0-255), or something else?
Also, is there an rough estimate on when this update will come out (e.g. this financial quarter), or is it more of a case of "it'll come out when it's ready"? The work regarding this isn't urgent so we'll simply wait for the update if it isn't far off.
Cheers,
Josh
- j_g_sampson8 months agoMeta Employee
Josh,
Sure, I just did a few tests and here are some rough min/maxes for each Calculation Type, I'll also give a brief description as to what they're representing. I'll also be adding this into our documentation in the very near future so other devs can benefit, as well as updating our in-editor tooling with some more debugging features for these calculation axes.
(These are all for fingers, we only track Curl and Flexion for thumbs)
Abduction [3.3 - 78.1] Lateral movement of the finger away from it's resting position (think finger "spread")
Curl [-10.0 - 180] How "curled" that finger is, a negative value typically represents the finger being pulled up
Flexion [-27.0 - 93.1] The bend of the finger toward the palm (not curled)
Opposition [0.4 - 21.2] Representation of the distance of finger to the thumb
The update with the pose recognition tools should be coming out (hopefully) incredibly soon, can't be more specific because things can always change at the last minute, but stay tuned!
Cheers,
John
- BTR_Josh8 months agoExplorer
Brilliant, thank you for testing it out for us John.
I'll pass this on to my team and we'll keep an eye out for the update. Hopefully this forum will provide help for others in the meantime.
Cheers,
Josh
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device