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
的位置附近。
问题: 我现在的问题是如何转换 handposition
。 handposition
我从 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
}
前言: 使用 Kinect v2 和 Unity3D v5.4
背景: 我以编程方式创建了 GameObject
对象,例如立方体和球体。我设置的这些 GameObject
项的位置:gameObject.transform.position
。使用 Kinect,我正在检测用户的当前 Handposition
。我想做的是检查 Handposition
是否在创建的 GameObject
的位置附近。
问题: 我现在的问题是如何转换 handposition
。 handposition
我从 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
}