Kinect for Windows SDK v1.7ではWPF用のコントロールが追加されています。
Microsoft.Kinect.Toolkit.Controlsとしてソースファイルも添付されているコントロールとしては次のようなものがあります。
- KinectCircleButton
- KinectCursorVisualizar
- KinectItemsControl
- KinectRegion
- KinectScrollViewer
- KinectTileButton
- KinectUserViewer
これらのコントトロールを使ったサンプルがControlsBasics-WPFになります。
]
KinectUserViewer
KinectUserViewerコントロールを使うとサンプルプログラムの画面中央上部のようなKinectが感知してるプレイヤーのシルエットを簡単に画面に出すことができます。
<k:KinectUserViewer k:KinectRegion.KinectRegion="{Binding ElementName=kinectRegion}" Height="100" HorizontalAlignment="Center" VerticalAlignment="Top" />
KinectRegion
KinectRegionコントロールはKinectで操作したい範囲を指定するコントロールです。
このコントロール外にいるときはカーソルが半透明になっています。
![image image](http://hatsunejournal.jp/other/WLW/2013/KinectKinect_13A2/image_3.png)
KinectRegionコントロール内のコントロール上だと半透明ではなくなるので視覚的にも分かりやすいです。
![image image](http://hatsunejournal.jp/other/WLW/2013/KinectKinect_13A2/image_4.png)
KinectScrollViewer
KinectScrollViewerコントロールを使うとサンプル画面中央のタイル列を横スクロールするUIを簡単に作成できます。
KinectTileButton
KinectTileButtonを使えばサンプル画面のタイル1つ分のUIを作成可能です。
KinectCursorVisualizer
KinectCursorVisualizerコントロールは画面上でての形をしたカーソルを制御するために使用するコントロールです。
KinectCursorVisualizerコントロールによりPushしたときのカラーや握った時のカラーを制御することができます。
実際の描画や握り判定はKinectCursorコントロールが行っているいますが、KinectCursorVisualizerは次のようにKinectCorsorコントロールを内部的に呼び出しています。
this.pointerCursorMap = new Dictionary<HandPointer, KinectCursor>()
手の操作の検出は、INotifyPropertyChangedインターフェースをもったHandPointerクラスが検出してくれます。
- IsActive
- IsInteractive
- IsPress
- IsInGripInteraction
- Grip
- GripRelease