UserID ==> 可以传一个当前识别的用户ID
// 双手叉腰
private bool DetectedPose4()
{
if (manager.IsJointTracked(UserID, 5) && manager.IsJointTracked(UserID, 9)&& manager.IsJointTracked(UserID, 1))
{
//text.text = manager.GetJointKinectPosition(UserID,5) + " " + manager.GetJointKinectPosition(UserID, 1);
if (manager.GetJointKinectPosition(UserID, 1).x - manager.GetJointKinectPosition(UserID, 5).x >= 0.2f && manager.GetJointKinectPosition(UserID, 9).x - manager.GetJointKinectPosition(UserID, 1).x >= 0.2f &&
manager.GetJointKinectPosition(UserID, 5).y > manager.GetJointKinectPosition(UserID, 21).y && manager.GetJointKinectPosition(UserID, 9).y > manager.GetJointKinectPosition(UserID, 23).y&&
manager.GetJointKinectPosition(UserID, 5).x < manager.GetJointKinectPosition(UserID, 21).x && manager.GetJointKinectPosition(UserID, 9).x > manager.GetJointKinectPosition(UserID, 23).x)
{
timer1 += Time.deltaTime;
if (timer1 >= DelayTimer)
{
text.text = "双手叉腰";
timer1 = 0f;
return true;
}
}
else
{
timer1 = 0f;
}
}
return false;
}
// 右手举起
private bool DetectedPose3()
{
if (manager.IsJointTracked(UserID, 23)&& manager.IsJointTracked(UserID, 21) && manager.IsJointTracked(UserID, 2))
{
//text.text = manager.GetJointKinectPosition(UserID, 21) + " " + manager.GetJointKinectPosition(UserID, 2);
if (manager.GetJointKinectPosition(UserID, 23).y > manager.GetJointKinectPosition(UserID, 2).y && manager.GetJointKinectPosition(UserID, 23).x > manager.GetJointKinectPosition(UserID, 2).x && manager.GetJointKinectPosition(UserID, 21).y < manager.GetJointKinectPosition(UserID, 1).y)
{
timer1 += Time.deltaTime;
if (timer1 >= DelayTimer)
{
text.text = "右手举起";
timer1 = 0f;
return true;
}
}
else
{
timer1 = 0f;
}
}
return false;
}
// 左右手举起
private bool DetectedPose2()
{
if (manager.IsJointTracked(UserID, 21) && manager.IsJointTracked(UserID, 23) && manager.IsJointTracked(UserID, 3))
{
if (manager.GetJointKinectPosition(UserID, 21).x < manager.GetJointKinectPosition(UserID, 3).x && manager.GetJointKinectPosition(UserID, 23).x > manager.GetJointKinectPosition(UserID, 3).x &&
manager.GetJointKinectPosition(UserID, 21).y > manager.GetJointKinectPosition(UserID, 3).y && manager.GetJointKinectPosition(UserID, 23).y > manager.GetJointKinectPosition(UserID, 3).y)
{
timer1 += Time.deltaTime;
if (timer1 >= DelayTimer)
{
text.text = "左右手举起";
timer1 = 0f;
return true;
}
}
else
{
timer1 = 0f;
}
}
return false;
}
// 左右手交叉举过头顶
private bool DetectedPose1()
{
if (manager.IsJointTracked(UserID, 21) && manager.IsJointTracked(UserID, 23)&& manager.IsJointTracked(UserID, 3))
{
if (manager.GetJointKinectPosition(UserID, 21).x > manager.GetJointKinectPosition(UserID, 3).x && manager.GetJointKinectPosition(UserID, 23).x < manager.GetJointKinectPosition(UserID, 3).x &&
manager.GetJointKinectPosition(UserID, 21).y > manager.GetJointKinectPosition(UserID, 3).y && manager.GetJointKinectPosition(UserID, 23).y > manager.GetJointKinectPosition(UserID, 3).y)
{
timer1 += Time.deltaTime;
if (timer1 >= DelayTimer)
{
text.text = "左右手交叉举过头顶";
timer1 = 0f;
return true;
}
}
else
{
timer1 = 0f;
}
}
return false;
}
public Text text;
// 左手举起
private bool DetectedPose0()
{
if (manager.IsJointTracked(UserID, 21)&& manager.IsJointTracked(UserID, 2))
{
//text.text = manager.GetJointKinectPosition(UserID, 21) + " " + manager.GetJointKinectPosition(UserID, 2);
if(manager.GetJointKinectPosition(UserID,21).y > manager.GetJointKinectPosition(UserID, 2).y && manager.GetJointKinectPosition(UserID, 21).x < manager.GetJointKinectPosition(UserID, 2).x &&
manager.GetJointKinectPosition(UserID, 23).y < manager.GetJointKinectPosition(UserID, 1).y)
{
timer1 += Time.deltaTime;
if(timer1 >= DelayTimer)
{
text.text = "左手举起";
timer1 = 0f;
return true;
}
}
else
{
timer1 = 0f;
}
}
return false;
}