はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Kinect SDK v1.7で追加されたコントロール

Kinect for Windows SDK v1.7ではWPF用のコントロールが追加されています。

Microsoft.Kinect.Toolkit.Controlsとしてソースファイルも添付されているコントロールとしては次のようなものがあります。

  • KinectCircleButton
  • KinectCursorVisualizar
  • KinectItemsControl
  • KinectRegion
  • KinectScrollViewer
  • KinectTileButton
  • KinectUserViewer

これらのコントトロールを使ったサンプルがControlsBasics-WPFになります。

image]

KinectUserViewer

KinectUserViewerコントロールを使うとサンプルプログラムの画面中央上部のようなKinectが感知してるプレイヤーのシルエットを簡単に画面に出すことができます。

    
KinectRegion
KinectRegionコントロールはKinectで操作したい範囲を指定するコントロールです。
このコントロール外にいるときはカーソルが半透明になっています。

image

 
KinectRegionコントロール内のコントロール上だと半透明ではなくなるので視覚的にも分かりやすいです。

image

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