Unity SDK and detailed geonode detection

Unity SDK and detailed geonode detection

I'm able to get the normal vector for LABEL_BODY_HAND_PRIMARY, but that seems to be about it?! Are the pipelines broken for framework implementations?
For some reason, the normal vector returned is always 0 if I specify a more specific geonode, such as LABEL_FINGER_INDEX --
if(pp.QueryGeoNode(PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY|                                   PXCMGesture.GeoNode.Label.LABEL_FINGER_INDEX, out gnode)) ...
I've also tried it like this, wherein the conditional always evaluates false:
if(pp.QueryGeoNode(PXCMGesture.GeoNode.Label.LABEL_FINGER_INDEX, out gnode)) ...

4 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

The right way to query for a node is: if(pp.QueryGeoNode(PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY|                                   PXCMGesture.GeoNode.Label.LABEL_FINGER_INDEX, out gnode)) This should get you the index finger. The fingers have no normal so the normal vector is 0,0,0. To get the normal vector use:  if(pp.QueryGeoNode(PXCMGesture.GeoNode.Label.LABEL_BODY_HAND_PRIMARY, out gnode))

I am using this in unity and it works, but the libpxcupipeline needs some changes to make it work better. 

Hope this helps

Normal vector is only avaiable for the following geonode labels

LABEL_BODY_HAND_PRIMARY
LABEL_BODY_HAND_LEFT
LABEL_BODY_HAND_SECONDARY
LABEL_BODY_HAND_RIGHT

Not avaiable for fingers.

It would be helpful to be able to get a normal vector of each finger joint defined by vector along longitudinal of finger

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi