kinect를 사용하여 게임을 만들었습니다. 하나의 스켈레톤을 인식 할 수 있고 왼쪽 스틱을 제어하기 위해 제스처를 만들 수 있습니다.하지만 두 명의 플레이어와 함께 플레이하려고하면 스켈레톤을 인식하지 못합니다. 다른 플레이어의 이것은 지금까지 내가 한 일입니다.두개의 스켈레톤 인식하기 Kinect
private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
Skeleton[] skeletons = new Skeleton[0];
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(skeletons);
}
if (skeletons.Length != 0)
{
foreach (Skeleton skel in skeletons)
{
if (skel.TrackingState == SkeletonTrackingState.Tracked)
{
this.tracked(skel);
this.trackedLeft(skel);
}
}
}
}
}
public void tracked(Skeleton skeleton)
{
Joint jHandRight = skeleton.Joints[JointType.HandRight];
Joint jHipCenter = skeleton.Joints[JointType.HipCenter];
if ((jHipCenter.Position.Z - jHandRight.Position.Z) > 0.2)
{
//Consider hand raised in front of them
//System.Diagnostics.Debug.WriteLine("Hand: Raised");
//MessageBox.Show("POR FAVORRRRRRRR");
//movement[0] = false;
movement[0] = true;
movement[1] = false;
}
else
{
//Hand is lowered by the users side
//System.Diagnostics.Debug.WriteLine("Hand: Lowered");
//MessageBox.Show("A SERRRRIIIIIOOOOOOOOOOOOOO");
//movement[1] = false;
movement[1] = true;
movement[0] = false;
}
}
누군가가 나를 도울 수 있습니다.
플레이어 1과 2를 어떻게 구별합니까? –
현재 나는 구별 할 수 없습니다. 저는 kinect가 두 명의 플레이어를 인식 할 수 있다고 읽었습니다. 어쩌면 id를 주지만 어떻게 해야할지 모른다는 것입니다. – seal