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 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

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

发表评论

登录添加评论。还不是成员?立即加入