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)) ...

publicaciones de 4 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

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

Inicie sesión para dejar un comentario.