Обнаружение пользователя в единстве с Kinect SDK

Я использую Unity 4.0.1 с Kinect SDK 1.6 и разработки с C# (импортная оболочка Kinect),

В проекте, когда пользователь выходит за пределы диапазона или одна из костей не может быть захвачена из-за того, что пользователь не совсем в диапазоне kinect, я хочу отобразить сообщение.

Я пробовал "код для обнаружения людей" в Kinect User Detection

Это решение дает ошибку компиляции как

"Assets/Kinect/KinectModelControllerV2.cs(93,10): ошибка CS0246: не удалось найти тип или имя пространства имен`DepthImageFrame'. Вам не хватает директивы using или ссылки на сборку?"

Я импортировал Kinect и попытался импортировать DepthImageFrame для проверки, если он работает, но ничего не изменилось.

2 ответа

Примеры, представленные в Kinect для Windows Toolkit и код, расположенный на сайте Kinect для Windows CodePlex, полны примеров того, как обнаружить игроков.

Сразу вспоминается пример "Основы скелета", а затем пример "Игра в форму".

Основной поток для обнаружения игроков в SkeletonFrameReady обратный вызов следует:

Skeleton[] skeletons = new Skeleton[6];

private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
    using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
    {
        if (skeletonFrame != null)
        {
            skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
            skeletonFrame.CopySkeletonDataTo(skeletons);
        }
    }

    if (skeletons.Length != 0)
    {
        foreach (Skeleton skel in skeletons)
        {
            if (skel.TrackingState == SkeletonTrackingState.Tracked)
            {
                // `skel` is an actively tracked skeleton
                // do what you wish with it
            }
        }
    }
}

Извините за мой плохой английский.

Причина в том, что оболочка использует Kinect SDK 1.0, а вы используете Kinect SDK 1.6.

http://channel9.msdn.com/coding4fun/kinect/Unity-and-the-Kinect-SDK.

Другие вопросы по тегам