Как да използвам база данни на Visual Gesture Builder с Unity3D Plugin?

Опитвам се да използвам .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

Какво ми липсва? Kinect API различен ли е в 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 има още няколко съвета в тази тема social.msdn.microsoft.com/Forums/en-US/ - person Christoph; 17.11.2014