2016-09-15 44 views
0

PreInformation:使用的Kinect v2和Unity3D V5.4如何Kinect的ColorSpacePoint轉換成統一WorldPoint

背景:我已編程方式創建GameObject對象,如立方體和球體。這些GameObject項目的位置我設置爲:gameObject.transform.position。使用Kinect,我正在檢測用戶當前的Handposition。我想要做的是檢查Handposition是否接近創建的GameObject的位置。

問題:我現在的問題是我如何轉換handposition。該handposition我從CameraSpacePoint轉換爲ColorSpacePoint

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

如何我現在可以將這些ColorSpacePoint對象統一位置(transform.position)?

+0

爲什麼要將它從CameraSpace轉換爲ColorSpace?聽起來就像你想要的手的3D位置,這是在CameraSpace中的 – HenningJ

回答

0

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 
}