Start a new topic

Document content and SDK feature mismatch: SnapPose

I tried to use the 'XR Hand Interactive Snap Pose' provided by SDK to enable interaction with the new Pose on the object, but some parts do not match the actual SDK.
(*The XR Hand Interactive SnapPose does not have a 'hand force ref' or the XR Hand Interactive SnapPose Provider does not have an option for 'Scale' at the bottom after registering Poses, etc.)

Is this just a pre-document of a feature that's going to be implemented in the future or is it just a missing feature?

The SDK version currently in use is 0.21.



https://support.spaces.qualcomm.com/support/discussions/topics/72000788561


For some reason, the comment function was blocked in the post of the link, so I'm leaving a reply here. I'd appreciate it if you could check it out and continue to comment.

Following your advice, I tried adding another Snap pose or even four like sample prefab, but I haven't added a slider for Scale. Rather, when I opened the Provider script, I felt that there was no variable or something defined for the value 'scale' that was exposed to the outside.

And I think my intention was a little misrepresented about 'Hand pose ref', but the document shows that a variable for reference called 'Handpose ref' is registered in the 'XRHandInteractableSnapPose' component, but in reality, there is no separate reference variable field for 'Hand pose ref' like the capture I posted.


I merged the two forum threads into one and commented on the closed one. Sorry about that! 


When I tested this earlier, the slider showed up when adding a second Pose. Can you please send me a screenshot of your XRHandInteractableSnapPoseProvider? 


The Scriptable Object Hand Pose does still exist and you can create them via right click in the File Explorer / Create/QCHT/Interactions/Hand Pose or clicking Export on a XRHandInteractableSnapPose. I looks like the functionality to assign custom hand poses is missing and not documented correctly. Thanks for pointing that out! 

I'll check in with the QCHT team if there's a workaround for that and on their intention behind it and update the documentation. 

Okay, then I will wait for your reply regarding the part where there is no reference function for 'Hand force ref' in 'XR Hand Interactive Snap Pose'.

Additionally, I will upload the capture of the requested "XRHandInteractableSnapPoseProvider". Even if you add 4 instead of 2 as it looks, the option for 'Scale' is not active.

The environment of the project I am currently using is as follows.
Unity: 2021.3.32f1
SDK: 0.21.0

The missing silder is super interesting. Can you open the script and check for the variable there and send it to me at support@spaces.qualcomm.com please? I'd like to compare it to mine. 

I replied the script by mail according to your request.
Please check it and let me know if there is anything new.

Thanks, I'll be checking out the file and investigating. Once I have an update I'll come back to you. 

Hi again, 


The file you sent is the same. The scale is not in the XRHandInteractableSnapPoseProvider but the matching Editor Script at com.qualcomm.qcht.unity.interactions/Editor/Interactions/XRHandInteractableSnapPoseProviderEditor.cs.


The scale slider is shown under the following condition: 


            if (minPose != null && maxPose != null && Mathf.Abs(minPose.Scale - maxPose.Scale) > Mathf.Epsilon)
                _scale = EditorGUILayout.Slider("Scale", _scale, minPose.Scale, maxPose.Scale);


minPose being the smallest XRHandInteractableSnapPose and maxPose being the biggest XRHandInteractableSnapPose. 


I think that this part Mathf.Abs(minPose.Scale - maxPose.Scale) > Mathf.Epsilon) may be the cause. 

What scale do your XRHandInteractableSnapPose components have? The relevant scale here is the local scale of the transform that the XRHandInteractableSnapPose is attached to.


I was able to reproduce the slider being missing, when the scale of all  XRHandInteractableSnapPose components was the same. My guess is that this is the case with your setup. 

Thanks for your help.

When I adjusted the size of each XRHandInteractableSnapPose object as you said, I could see that the Scale option was activated.

But was this what was originally intended? Or is there room for future modifications?

Right now, it's the intended behavior but I'll file a ticket to the QCHT team to gray out the slider and make it non interactable instead. A tooltip when hovering on the slider can then point developers in the right direction as to why the slider is not interactable. Thanks for your feedback!

Login to post a comment