KINECT SDK Beta2でできること、できないこと

この記事はKINECT SDK Advent Calendar 2011 : ATNDの12月25日分です。

KINECT SDK Beta2を使ってできること、できないことの中から私が特に記憶に残っていることを簡単にまとめておきます。
間違ったことを書いている可能性もあるので注意してください。

挿抜状態に対応できる

KINECTを入力デバイスと考えると、挿抜状態に対応できるのは結構大きいと思います。複数台の判別も重要ですが、単機の挿抜に対応できるだけでも作り方に幅を持たせることができると思います。

4つの言語で利用可能

C++,C#,VB,F#で利用できます。4つのうちどれか1つだけでも知っていれば扱えるというのはかなりの強みだと思います。

SDK単体ではジェスチャー認識できない

例えばKinect Toolboxといったものを利用すればジェスチャー認識自体は可能です。
が、可能であればKINECT SDKにジェスチャー認識ライブラリがついてくるようになるといいなと思わずにはいられないですね。

現状、Unityとの連携はできない

簡潔にいうと、Unity3.4(2011/12/31時点での最新版)ではKINECT SDK Beta2は利用できません。
Unityはそのベースに、Monoという.NET Frameworkと同等のものをオープンソースで実装したソフトウェアを採用していますが、Unity3.4が積んでいるMonoは.NET Framework3.5までのライブラリしか利用できません。対して、KINECT SDK Beta2は.NET Framework4が前提となっています。つまり、.NET Frameworkのバージョン違いにより利用することができないのです。
また、バージョン問題とは別の問題(疑問)があります。
KINECT SDKWindows専用であり、そのことはライブラリの名前空間に"Microsoft"とついていることからもよくわかります。名前空間に"Microsoft"を持つライブラリがMono上で利用できないのであれば、UnityでKINECT SDKを利用することはバージョン問題が解決されたとしても不可能でしょう。


結論としては、Unity上でKINECTを使いたいのであれば現状はOpenNIを使いましょう、ということになります。

おわりに

まだBeta2なので今後どうなるのかわかりませんし、利用できる範囲も限定しているとは思います。
しかし、面白い機能もありますし、.NET系の言語で利用できるのでKINECTプログラミング入門には丁度良いのではないでしょうか。