我尝试使用Unity构建一个框架,该框架允许其他开发人员在其项目中添加诸如Kinect或Asus Xtion之类的运动相机。为此,我使用OpenNI2和Zigfu开发工具包的修改版本来使ONI与Unity一起使用。 我现在的问题是,当我尝试启用本身似乎已加载ONI驱动程序的Zig时,如果没有相机连接到计算机,则程序将陷入无限循环。经过大量的调试后,似乎此循环的源头是ONI驱动程序本身,同时它正等待由此行引起的来自任何运动摄像机的流:
OniStatus rc = waitForStreams(&stream, 1, &streamIndex, ONI_TIMEOUT_FOREVER);
我正在寻找一种简单的方法来防止ONI冻结程序。我已经尝试将导致Zig在Thread
中启动ONI驱动程序的代码包装起来,但是没有用。我还可以向框架中添加警告,以防止其他开发人员至少知道他们的程序死机时可能出了什么问题,但是我认为那可能并不是最佳选择。