「Kinect for Windows SDK」は米マイクロソフトの研究部門であるマイクロソフトリサーチが開発した、言わば“マイクロソフト公式”のWindows向けKinect用SDKです*1。もともと、Xbox 360用の周辺機器として登場したKinectセンサーですが、このSDKを用いればUSB経由でWindows 7搭載パソコンに接続し、パソコンから制御可能になります。そして、Kinectセンサーを活用する様々なアプリケーションを開発できるようになります。
図1は2011年6月に公開されたベータ版「Kinect for Windows SDK beta」を利用して筆者が作成したデモアプリケーション「Kinect Earth Move」です。マイクロソフトが運営する「CodePlex」*2のサイトから、本アプリケーションのプロジェクトをダウンロードできます。このKinect Earth Moveの開発に当たって記述したソースコードはC#で200行程度です。「Xbox 360 Kinectセンサー」+SDKを使えば、わずかなプログラムで、手を使って地球を自由に回転させるといったアプリケーションが作成できます。これは多くのプログラマ、開発者、ホビイストにとって魅力的なことではないでしょうか。
現在、Kinect for Windows SDKは非商用の目的に限り、無償でダウンロードでき、自由に使えます。ただし、ランタイム(実行用のライブラリ)の再頒布はできないライセンスなので、アプリケーションを実行できるのはSDKをインストールしてあるパソコンに限られます(編集部注:2011年6月に公開したベータ版の条件です。記事末尾にあるように2012年2月に提供された正式版ではライセンス条件が変わっておりますので改めて最新の情報をご確認ください)。
SDKはプログラミング言語としてC#、C++、Visual Basicをサポートしています。今回の記事ではSDKを使って、C#によるKinectセンサー用のアプリケーション開発について解説します。