2012-10-21 37 views
4

*我一直在使用kinect設置在unity3D中開發一個項目。設置完美。我使用Unity3D 3.4與OpenNI,C#編碼,當然還有一個kinect。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

下次你最好寫一下你用Kinect工作的庫來自Unity,因爲它沒有原生的Kinect支持。當我們不知道您使用的是什麼代碼時,很難告訴您發生了什麼。 –

+0

您發佈的代碼實際上是您的問題的解決方案,還是您尋求的解決方案的一個示例? –

+0

是否有檢查kinect是否能看到玩家的事件? – Phxvyper

回答

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); 
    } 

感謝所有幫助;)