レビューメディア「ジグソー」

開発環境、動作確認、サンプルプログラムなど導入篇

こちらのレビューでは以下の連載内容を実践していきます。


やってみよう!Kinectアプリ開発 - 第1回 Kinect(キネクト)の紹介
http://kinection.jp/post/3
やってみよう!Kinectアプリ開発 - 第2回 開発環境のセットアップ
http://kinection.jp/post/30
やってみよう!Kinectアプリ開発 - 第3回 カメラの利用
http://kinection.jp/post/44


○Kinect for Windowsに関するレビュー
Kinect for Windows (10月上旬までには自作アプリも掲載予定)
マウント ホルダー for Kinect
やってみよう!kinectアプリ開発連載1~3回 受講票 [現在のページです]
やってみよう!kinectアプリ開発連載4~7回 受講票
やってみよう!kinectアプリ開発連載8~11回 受講票
やってみよう!kinectアプリ開発連載12,13回 受講票


公式サイトによるとKinect for Windowsの推奨環境は、以下の通りです。
OS :Windows 7、Windows Embedded Standard 7、Windows 8のいずれか
CPU:2.66GHzデュアルコア以上
メモリ:2GB以上
グラボ:DirectX 9.0cをサポートしていること


私の環境は以下の通りです。
OS :Microsoft Windows 7 Ultimate SP1 64bit
CPU:Intel Core i7-2600K @4.6GHz
メモリ:W3U1600HQ-4G * 2 (DDR3-1866 16GB)
グラボ:GeForce GTX 260 Sonic 216SP

 

グラボがやや古いですが推奨環境は満たしているので、そのまま進めていきます。

 

■統合開発環境のインストール
今回はインストール済みの「Microsoft Visual Studio 2010 Professional」を使用していくため、この項は省きます。
このソフトウェアは本来であれば何万円もするプロ開発者向けツールですが、
マイクロソフト社が提供しているDreamSparkというサイト上で学生や教員などを対象に無償で配布されています。
認証方法は色々とあるようですが、AC.JPドメインのメールアドレスで確認メールを受け取る方法が簡単なのでオススメです。
Visual StudioをインストールしたらSP1をインストールして、Microsoft Updateからもアップデートがないか確認しましょう。


■Kinect for Windows SDKのインストール
Kinect Developer Downloads | Kinect for Windows
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx
こちらのサイトから最新版をダウンロードします。現時点での最新版は「KinectSDK-v1.5-Setup.exe」です。
インストールを開始すると、自動で64bit用のドライバやランタイム、SDKが導入されます。


■Kinect for Windows Developer Toolkitのインストール
Kinect Developer Downloads | Kinect for Windows
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx
先ほどと同じくこちらのサイトから最新版をダウンロードします。現時点での最新版は「KinectDeveloperToolkit-v1.5.1-Setup.exe」です。
インストールを開始するとKinect for Windows Developer Toolkitが導入されます。


■XNA Game Studio 4.0のインストール
ゲームを作る予定があるため、XNA Game Studioをインストールしておきましょう。
Microsoft XNA Game Studio 4.0 - Microsoft Download Center
http://www.microsoft.com/en-us/download/details.aspx?id=23714
こちらのサイトから「XNAGS40_setup.exe」をダウンロードして、インストールします。
インストールを開始する直前に、選択箇所があるため注意してください。


Windowsファイアウォールを使用している場合は、「Yes」を選択してください。
チェックボックスについてですが、Xbox360向けの開発や、ネットワーク機能を扱うゲームの開発をする場合にそれぞれチェックする必要があるようです。
Windows標準以外のファイアウォールを使用している場合は、「No」を選択して個人で設定する必要があります。

 

続いて、日本語パックをインストールします。
Microsoft XNA Game Studio 4.0 Language Pack (日本語) - Microsoft Download Center
http://www.microsoft.com/ja-jp/download/details.aspx?id=19784
続いてこちらのサイトから「xnalangpack.ja-JP.msi」をダウンロードして、インストールします。


先にKinectの電源プラグを接続してから、KinectをUSBでPCに接続します。
Kinect for Windows SDKをインストール済みのため、自動でドライバがインストールされます。


今回はXnaBasicsというサンプルアプリケーションを試してみました。
名前の通りXNAを使用しているので、XNA Game Studio 4.0が正しくインストールできているかの確認もできます。
スタートメニューからDeveloper Toolkit Browserを起動して、インストールします。

ソリューションをVS2010で開いて、「デバッグを開始」を押すと自動でビルドが始まります。問題が発生しなければビルドが完了し、アプリケーションが起動します。

 

バッチリです!
…部屋が狭くて膝から先が認識されていませんが(笑)

 

ここまでで開発環境は整いましたので、Kinect開発を始めていきます。

 

第3回を読みながら、淡々とコードを書いていきます。
…5分もかからずあっさりとKinectからの映像が表示されました。


とりあえずエラー処理と終了処理を省略しているということだったので、簡単に書き足してみました。


 WindowLoadedにエラー処理を追加。

・try-catch構文で例外が発生したら、エラーダイアログを表示する。

・接続台数が0なら例外を投げる。


private void WindowLoaded(object sender, RoutedEventArgs e)
{
  try
  {
    //Kinectの接続台数が0だったら例外を投げる
    if (KinectSensor.KinectSensors.Count == 0)
      throw new Exception("Kinectが接続されていません!");

    //1台目のKinectを取得
    kinect = KinectSensor.KinectSensors[0];

    //カラーストリームの有効化
    kinect.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);

    //バッファの初期化
    pixcelBuffer = new byte[kinect.ColorStream.FramePixelDataLength];
    bmpBuffer = new WriteableBitmap(kinect.ColorStream.FrameWidth,
                    kinect.ColorStream.FrameHeight,
                    96, 96, PixelFormats.Bgr32, null);
    rgbImage.Source = bmpBuffer;

    //イベントハンドラの登録
    kinect.ColorFrameReady += ColorImageReady;

    //Kinectからのストリーム取得を開始
    kinect.Start();
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.Message, "エラー", MessageBoxButton.OK, MessageBoxImage.Error);
    Close();
  }
}


 

WindowClosingを作成して終了処理を追加。

・ウィンドウ終了時にKinectが動いていたら停止してリソース解放


private void WindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
{
  if (kinect.IsRunning){
    kinect.Stop();      //停止
    kinect.Dispose();    //リソース解放
  }
}


 

10人がこのレビューをCOOLしました!

コメント (0)

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから