Kinect傳感器每秒鐘會產生很多事件,並且如果你在幾幀內不能很快地闡述它們(例如嘗試對真正的3D角色進行動畫處理),那麼會卡住。跳過Kinect事件
什麼是最好的方法來處理只有合理數量的事件,而不會阻止用戶界面?
謝謝。
Kinect傳感器每秒鐘會產生很多事件,並且如果你在幾幀內不能很快地闡述它們(例如嘗試對真正的3D角色進行動畫處理),那麼會卡住。跳過Kinect事件
什麼是最好的方法來處理只有合理數量的事件,而不會阻止用戶界面?
謝謝。
我會建議在循環中請求幀而不是使用事件方法。 要在動畫循環這樣做只是稱:
sensor.DepthStream.OpenNextFrame(millisecondsWait);
或者:
sensor.SkeletonStream.OpenNextFrame(millisecondsWait);
或者:
sensor.ColorStream.OpenNextFrame(millisecondsWait);
事件驅動編程是偉大的,但是當你遇到這樣的問題你提到最好是在需要時調用這些函數。
我想說,如果您正在爲一些非常快速和精細的事情製作動畫(例如,複雜的60fps 3D圖像),那麼您同步獲取相機圖像所需的時間可能會在渲染過程中產生顛簸。
我想嘗試在不同的線程中分割渲染和Kinect處理/輪詢;採用這種方法,您甚至可以繼續使用30fps事件驅動模型。
您使用的是Kinect SDK? – 2012-03-12 13:16:35
官方Kinect SDK 1.0 – abenci 2012-03-12 13:29:46