Microsoft Kinect SDK Wrapper For Unity Crash Bug Fix

There’s a great free Kinect SDK wrapper available for Unity. It’s free & open source but there are still a few
problems getting it to run with the 1.0 SDK (as opposed to the beta).

The first problem is that it is pointing to the wrong dll file. When you get this exception:

DllNotFoundException: C:\Program Files (x86)\Microsoft Research KinectSDK\MSRKINECTNUI.DLL

You should open the file KinectInterop.cs and changes all dll paths to:

C:\Windows\System32\Kinect10.dll

This will fix all compiler errors and it should run without problems.

However, it will only run once. When you run it the second time Unity will freeze and you will have to kill the process. Not very convenient.

This is caused by a bug in the Microsoft SDK. According to this page the problem is:

If C++ code is executing NuiInitializa/NuiShutdown multiple times through
the application's lifetime, SetDeviceStatusCallback should be called once,
before invoking those calls.

So apparently a single call to SetDeviceStatusCallback() should fix the problem. To be able to call this method we need
to add some code to theKinectInterop.cs file. First of all we need to add an empty struct:

public struct NuiStatusProc
{
}

Then we need to link the native method. In the NativeMethods class add:


[DllImportAttribute(@"C:\Windows\System32\Kinect10.dll", EntryPoint = "NuiSetDeviceStatusCallback")]
	    public static extern void NuiSetDeviceStatusCallback(NuiStatusProc callback);

Now open the file KinectSensor.cs and add this line to the void
Awake()method (just before the line “catch (Exception e)”):


NativeMethods.NuiSetDeviceStatusCallback(new NuiStatusProc());

Now everything should run fine. If it doesn’t let me know :O

reference: http://www.rozengain.com/blog/2012/05/10/microsoft-kinect-sdk-wrapper-for-unity-crash-bug-fix/

时间: 2024-11-03 21:37:30

Microsoft Kinect SDK Wrapper For Unity Crash Bug Fix的相关文章

Kinect SDK v1.7迎来重大更新

http://www.aliyun.com/zixun/aggregation/13717.html">Kinect SDK v1.7迎来重大更新 发表于2013-03-18 14:01| 次阅读| 来源CSDN| 0 条评论| 作者张宁 KinectKinect Fusion微软开发工具SDK开源 摘要:Kinect for Windows SDK 1.7,这是自去年发布Kinect for Windows SDK以来最重要的一次更新.Kinect Interactions手势识别(Pu

微软 speech sdk-关于microsoft speech sdk语音识别的疑问

问题描述 关于microsoft speech sdk语音识别的疑问 最近刚开始结束语音识别这一块,接到一个任务就是在windows平台上开发一个能识别带有方言的普通话,比如有些人的普通话不标准,音准高低不一是一个原因,还有这款应用是不是针对个人的,是不确定人数的用户数量,所以现在的 目标 是利用微软的sdk开发出一个能识别方言普通话,并且识别率高的软件. 提高识别率可以通过 1.命令模式,即通过xml文件规定输入文字 2.采集相关群体的语音数据库,比如重庆人说普通话,那就采集一定样本做成一个语

Kinect SDK C++ - 2. Kinect Depth Data

Today we will learn how to get depth data from a kinect and what the format of the data is kinect code kinect Initialization To get the depth data from the kinect, simply change the argument to NuiImageStreaOpen(). The First argument is now NUI_IMAGE

11月4日OTS服务紧急升级公告–Bug Fix

尊敬的OTS用户 OTS服务将在11月4日2200 – 2400进行紧急升级对服务使用的影响有 1在热升级期间用户访问 OTS服务延迟有可能升高会有万分之五的错误率. 2分钟级别单表不可写操作PutRow, DeleteRow, UpdateRow, BatchWriteRow 在升级期间实际消耗的读吞吐量将不做计量. 发布内容 修复批量写操作BatchWriteRow时可能会遇到的性能Bug导致系统回报timeout错误   给您带来的不便敬请谅解感谢您对阿里云的支持   阿里云计算有限公司

Kinect for Windows SDK开发入门(十二)语音识别 上

Kinect的麦克风阵列在Kinect设备的下方.这一阵列由4个独立的水平分布在Kinect下方的麦克风组成.虽然每一个麦克风都捕获相同的音频信号,但是组成阵列可以探测到声音的来源方向.使得能够用来识别从某一个特定的方向传来的声音.麦克风阵列捕获的音频数据流经过复杂的音频增强效果算法处理来移除不相关的背景噪音.所有这些复杂操作在Kinect硬件和Kinect SDK之间进行处理,这使得能够在一个大的空间范围内,即使人离麦克风一定的距离也能够进行语音命令的识别. 在Kinect第一次作为Xbox3

FFDShow MPEG-4 Video Decoder rev1019下载_常用工具

FFDShow可以称得上是全能的解码.编码器.最初FFDShow只是mpeg视频解码器,不过现在他能做到的远不止于此.它能够解码的视频格式已经远远超出了mepg4的范围,包括indeo video,WMV,mpeg2等等.同时,它也提供了丰富的加工处理选项,可以锐化画面,调节画面的亮度等等.不止是视频,FFDShow现在同样可以解码音频,AC3.MP3等音频格式都可支持.并且可以外挂winamp 的DSP插件,来改善听觉效果.可以说现在的FFDShow已经是windows平台多媒体播放的非常出色

Kinect for Windows SDK开发入门(十四)进阶指引 上

前面十三篇文章介绍了Kinect SDK开发中的各个方面的最基础的知识.正如本系列博闻标题那样,这些知识只是Kinect for windows SDK开发的入门知识.本文将会介绍Kinect进阶开发需要了解一些知识(beyond the basic). 读者可能会注意到,在学习了前面十三篇文章中关于Kinect开发的方方面面,如影像数据流.景深摄像机.骨骼追踪.麦克风阵列.语音识别等这些知识后,离开发出一些我们在网上看到的那些具有良好用户体验的Kinect应用程序还是显得捉襟见肘.Kinect

Kinect for Windows SDK开发入门(十三)语音识别 下

上一篇文章介绍了Kinect中语音识别的基本概念,以及一些语音处理方面的术语.在此基础上使用Kinect麦克风阵列来进行音频录制的例子说明了Kinect中音频处理的核心对象及其配置.本文将继续介绍Kinect中的语音识别,并以两个小例子来展示语音识别中的方向识别和语音命令识别. 1. 使用定向麦克风进行波速追踪(Beam Tracking for a Directional Microphone) 可以使用这4个麦克风来模拟定向麦克风产生的效果,这个过程称之为波束追踪(beam tracking

Kinect for Windows SDK开发入门(五)景深数据处理 下

1. 简单的景深影像处理 在上篇文章中,我们讨论了如何获取像素点的深度值以及如何根据深度值产生影像.在之前的例子中,我们过滤掉了阈值之外的点.这就是一种简单的图像处理,叫阈值处理.使用的阈值方法虽然有点粗糙,但是有用.更好的方法是利用机器学习来从每一帧影像数据中计算出阈值.Kinect深度值最大为4096mm,0值通常表示深度值不能确定,一般应该将0值过滤掉.微软建议在开发中使用1220mm(4')~3810mm(12.5')范围内的值.在进行其他深度图像处理之前,应该使用阈值方法过滤深度数据至