2016-09-15 11 views
0

PreInformation: Использование Kinect v2 и Unity3D v5.4Как конвертировать Kinect ColorSpacePoint в Unity WorldPoint

фон: Я программно создал GameObject объектов, такие как кубы и Сферы. Положение этих GameObject элементов, которые я устанавливаю: gameObject.transform.position. С Kinect я обнаруживаю текущий Handposition пользователя. Я хочу, чтобы проверить, находится ли Handposition рядом с позицией созданного GameObject.

Проблема: Моя проблема прямо сейчас заключается в том, как я могу преобразовать handposition. handposition я преобразовал из CameraSpacePoint в ColorSpacePoint:

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

Как я могу преобразовать эти ColorSpacePoint объекты теперь позиции Unity (transform.position)?

+0

Почему вы преобразовываете его из CameraSpace в ColorSpace? Похоже, что вы хотите трехмерное положение руки, которое есть в 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 
}