Unity WorldPoint中如何转换Kinect ColorSpacePoint

How to convert Kinect ColorSpacePoint in Unity WorldPoint

前言: 使用 Kinect v2 和 Unity3D v5.4

背景: 我以编程方式创建了 GameObject 对象,例如立方体和球体。我设置的这些 GameObject 项的位置:gameObject.transform.position。使用 Kinect,我正在检测用户的当前 Handposition。我想做的是检查 Handposition 是否在创建的 GameObject 的位置附近。

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

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

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

cspoint 和 transform.position 都是两种不同类型的向量:cspoint 是 2d 向量,transform.position 是 3d 向量。

那么,您需要一个转换函数。

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