Как использовать базу данных Visual Gesture Builder с плагином Unity3D?

Я пытаюсь использовать файл .gbd из Visual Gesture Builder в своей сцене Unity3D. Я импортировал оба плагина в Unity (Kinect.2.0.1410.19000.unitypackage и Kinect.VisualGestureBuilder.2.0.1410.19000.unitypackage). Включенные демоверсии и скелетные данные работают нормально.

При попытке импортировать мою базу данных жестов следующим образом:

using Windows.Kinect;
using Microsoft.Kinect.VisualGestureBuilder;

void Start () 
{
    _Sensor = KinectSensor.GetDefault();
    // compilation error for the following line, see below
    _gestureDatabase = new VisualGestureBuilderDatabase(@"gestures.gbd");
    // check if sensor is there....
    _gestureFrameSource = new VisualGestureBuilderFrameSource(_Sensor, 0);
    _gestureFrameSource.AddGestures(_gestureDatabase.AvailableGestures);
}

Компиляция не удалась:

Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderDatabase.VisualGestureBuilderDatabase(System.IntPtr)' is inaccessible due to its protection level'

и

The best overloaded method match for `Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderDatabase.VisualGestureBuilderDatabase(System.IntPtr)' has some invalid arguments

Что мне не хватает? Отличается ли API Kinect в Unity?


person Christoph    schedule 11.11.2014    source источник


Ответы (1)


Я столкнулся с той же проблемой. Насколько я могу судить, вы не можете вызывать эти конструкторы напрямую, вместо этого вам нужно вызвать статический метод Create. Например, в вашем случае вы бы сказали...

        _gestureDatabase = VisualGestureBuilderDatabase.Create(@"gestures.gbd");
        _gestureFrameSource = VisualGestureBuilderFrameSource.Create(_Sensor,0);

Кажется, это решает проблему, по крайней мере, для меня. Я все еще сталкиваюсь с ошибками компиляции позже в коде, где я пытаюсь получить DiscreteGestureResult, но я буду продолжать просматривать исходный код в поисках ответов.

person Ramvling    schedule 14.11.2014
comment
Спасибо за ваш совет! Как вы узнали? Есть ли какая-либо документация о том, как предполагается использовать плагин Unity? - person Christoph; 15.11.2014
comment
Я понял это, просматривая исходный код и пытаясь понять его. Если есть документация, я не смог ее найти. Этот SDK все еще относительно новый, поэтому я полагаю, что этого следует ожидать. - person Ramvling; 17.11.2014
comment
FIY есть еще несколько советов в этой теме vgb-database-with-unity-plugin?forum=kinectv2sdk#4c895477-b120-4806-9f3c-5930b07ac8a1" rel="nofollow noreferrer">social.msdn.microsoft.com/Forums/en-US/ - person Christoph; 17.11.2014