这个问题其实很有意思,当时东哥让我看这个手丢失的问题时,我有点蒙???啥?手有时候丢不是kinect自己硬件的问题么???我们能怎么办???
后来我才明白是啥意思
在kinectManager脚本里面,我一开始其实是发现不是所有的方法都用到了,但是我读他这个逻辑我又读不懂,后来还是别人跟我说我们可以测试,在我们需要的地方打Debug,如果出现我们预期的Debug那么就是对了,如果没有出现预期的,那么就是我们读的不对。
我们经过多次测试得到了什么时候手会丢,丢了我们应该怎么办?就是当人数过多识别的人数太多,但是remove的时候0号用户找不到的时候,如果我们这个时候将识别的用户列表都清除,这个时候就会重新开始识别。里面的一些没有用过的方法叫做ClearKinectUser,意思是将所有的用户清除,这个时候我们就可以用这个方法,而且是写在了LateUpdate里面,我为什么知道是写在LateUpdate里面呢?因为我一开始Debug了一个Debug.Log(alUserIds.Count);用户数量,但是在Update里面这个没有更新但是在LateUpdate里面更新了,因此是写在这里面。
void LateUpdate()
{
if (LostHand.activeInHierarchy)
{
LostHand.SetActive(false);
Debug.Log(“重新开始”);
Debug.Log(alUserIds.Count);
if (timer > 5)
{
ClearKinectUsers();
timer = 0;
}
}
这里我们用到一个时间,我们想让这个清除的操作每5秒执行一次,因此我们的timer+=Time.deltaTime
要写在外面,然后每五秒执行一次的时候将这个时间归0。
kinect手丢失
最新推荐文章于 2019-05-07 17:04:59 发布