如何在Unity WorldPoint中转换Kinect ColorSpacePoint

时间:2016-09-15 09:22:53

标签: c# unity3d kinect kinect-sdk

预信息:使用Kinect v2和Unity3D v5.4

后台:我已经以编程方式创建了GameObject个对象,例如Cubes和Spheres。我设置的GameObject项目的位置:gameObject.transform.position。使用Kinect,我正在检测用户的当前Handposition。我想要做的是检查Handposition是否接近创建的GameObject的位置。

问题:我现在的问题是如何转换handpositionhandposition我从CameraSpacePoint转换为ColorSpacePoint

ColorSpacePoint csPoint=_Sensor.CoordinateMapper.MapCameraPointToColorSpace(handPosition);

如何将这些ColorSpacePoint对象现在转换为Unity位置(transform.position)?

1 个答案:

答案 0 :(得分:0)

cspoint和transform.position都是两种不同类型的向量:cspoint是一个二维向量,transform.position一个三维向量。

所以,你需要的是转换函数。

Vector3 toUnityVector3(ColorSpacePoint point)
{
   return new Vector3(point.x,point.y,0); //swap the parameters around as you see fit
}