预信息:使用Kinect v2和Unity3D v5.4
后台:我已经以编程方式创建了GameObject
个对象,例如Cubes和Spheres。我设置的GameObject
项目的位置:gameObject.transform.position
。使用Kinect,我正在检测用户的当前Handposition
。我想要做的是检查Handposition
是否接近创建的GameObject
的位置。
问题:我现在的问题是如何转换handposition
。 handposition
我从CameraSpacePoint
转换为ColorSpacePoint
:
ColorSpacePoint csPoint=_Sensor.CoordinateMapper.MapCameraPointToColorSpace(handPosition);
如何将这些ColorSpacePoint
对象现在转换为Unity位置(transform.position
)?
答案 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
}