当Kinect在unity中未检测到玩家时,会触发什么事件?

4
我一直在使用Kinect搭建Unity3D项目。目前,搭建工作已经完成得很完美了。我使用了Unity3D 3.4、OpenNI和C#编程,当然还有一个Kinect。
然而,我遇到的问题是openNI的标准playermanager无法满足要求,因为它不能立即识别玩家离开的情况。我的目标是找出玩家视线消失时触发的事件。
通常情况下,当玩家走出帧范围时,软件会开始计时,在20-30秒后才真正释放该玩家。
简而言之,我需要知道玩家不可见的那一刻触发的事件。或者,我希望能够知道任何时候视野中有多少个活跃玩家。
非常感谢您的帮助! 解决方案:
private void ExitUserCallback(object sender, UserExitEventArgs e)
    {
        // Put whatever code you want active when player leaves field of view
        Debug.Log("Exit user, userID=" + e.ID);
    }

3
下次最好写明你在Unity中使用哪个库来处理Kinect,因为它没有原生的Kinect支持。如果我们不知道你使用的代码是什么,很难告诉你发生了什么事情。 - Valentin Simonov
你发布的代码是解决你的问题的实际代码,还是你正在寻找解决方案的示例? - Nicholas Pappas
有没有一种事件可以检查Kinect是否看到了玩家? - phxvyper
@EvilClosetMonkey 我认为这是他在Unity3D上工作的解决方案。 - phxvyper
抱歉回复晚了。这实际上是我的解决方案,由于某种原因(可能是我自己的错误编码),此事件没有起作用。现在它可以了。我正在使用的库是CL-NUI和OpenNI。 - Chris van Schayk
2
如果这解决了您的问题,请将其作为答案并接受它。您被允许和鼓励这样做。然后,这个问题就不会再显示为未回答的问题了。 - Bart
1个回答

0

主要问题中的答案:

private void ExitUserCallback(object sender, UserExitEventArgs e)
    {
        // Put whatever code you want active when player leaves field of view
        Debug.Log("Exit user, userID=" + e.ID);
    }

感谢所有的帮助 ;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接