我正在开发一个使用骨架跟踪的单用户应用程序,当我检测到Tracked
骨架时,我卡在trackingId
中,除非它不再是Tracked
或可用。
但有一个问题是,当Kinect面前有多个人时,骨骼追踪可能会误入歧途。当我控制申请时,另一个人进入并想要控制。所以我搬到了其他地方,但似乎我的trackingId
仍然存在 - 另一个人无法控制应用程序。
为了避免这种情况,我想到了定义一个姿势,这意味着我想释放对应用程序的控制。所以我使用AppChoosesSkeletons
和ChooseSkeletons
,但似乎错了 - 现在我根本无法控制应用程序。我已经使用了不同的手形光标颜色来反映应用程序状态,我看到光标只是闪存的活动 - 必须是Kinect检测到我 - 然后再次变为非活动状态。
调试时,我看到在调用ChooseSkeletons(id)
后,我想要选择的骨架刚刚从NotTracked
更改为PositionOnly
- 而不是Tracked
状态,因此控件变得不活跃。怎么可能发生这种情况,这个方法不应该将id
的状态设置为Tracked
而不是PositionOnly
吗?我没有看到任何其他类似的方法。