次はプレーヤーです。
Kinect Toolkitを利用している場合は、前回のコードから一行追加するだけです。
コード
全体のコードはこちらにあります。
public MainWindow() { InitializeComponent(); try { if ( KinectSensor.KinectSensors.Count == 0 ) { throw new Exception( "Kinectが接続されていません" ); } // Kinectインスタンスを取得する KinectSensor kinect = KinectSensor.KinectSensors[0]; // Colorを有効にする kinect.ColorFrameReady += new EventHandler<ColorImageFrameReadyEventArgs>( kinect_ColorFrameReady ); kinect.ColorStream.Enable(); // Depthを有効にする kinect.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>( kinect_DepthFrameReady ); kinect.DepthStream.Enable(); // Skeletonを有効にするとプレーヤーが取得できる kinect.SkeletonStream.Enable(); // Kinectの動作を開始する kinect.Start(); } catch ( Exception ex ) { MessageBox.Show( ex.Message ); Close(); } }
追加されたコードは kinect.SkeletonStream.Enable() の部分のみです。
自前でやろうとした場合は、DepthImageFrameに定義されている、プレーヤーインデックスを取得するためのPlayerIndexBitmask(値:7)を使ってpixelごとに抜き出すことになるでしょう。