2012-03-12 30 views
1

Kinect傳感器每秒鐘會產生很多事件,並且如果你在幾幀內不能很快地闡述它們(例如嘗試對真正的3D角色進行動畫處理),那麼會卡住。跳過Kinect事件

什麼是最好的方法來處理只有合理數量的事件,而不會阻止用戶界面?

謝謝。

+0

您使用的是Kinect SDK? – 2012-03-12 13:16:35

+0

官方Kinect SDK 1.0 – abenci 2012-03-12 13:29:46

回答

0

我會建議在循環中請求幀而不是使用事件方法。 要在動畫循環這樣做只是稱:

sensor.DepthStream.OpenNextFrame(millisecondsWait);

或者:

sensor.SkeletonStream.OpenNextFrame(millisecondsWait); 

或者:

sensor.ColorStream.OpenNextFrame(millisecondsWait); 

事件驅動編程是偉大的,但是當你遇到這樣的問題你提到最好是在需要時調用這些函數。

0

我想說,如果您正在爲一些非常快速和精細的事情製作動畫(例如,複雜的60fps 3D圖像),那麼您同步獲取相機圖像所需的時間可能會在渲染過程中產生顛簸。

我想嘗試在不同的線程中分割渲染和Kinect處理/輪詢;採用這種方法,您甚至可以繼續使用30fps事件驅動模型。