1.はじめに
前回まででC#プログラミングでKinectのカラー/Depth画像の表示や各画像の位置合わせの方法について解説してきました。
ここからは2Dの画像ではなく3Dのデータの取得や表示について説明していきたいと思います。ただし3Dの表示についてはOpenGL(OpenTK)を使った描画について解説しても昨今、あまり需要がないのかなと思ったのでUnityで表示するためのC#スクリプトの書き方について解説したいと思います。
まず今回はUnityプロジェクトへのSDKの導入手順とKinectの接続チェックの手順までをご紹介します。
2.開発環境
・Unity 2018.4.11f1
・Azure Kinect SDK1.3.0
3.Azure Kinect SDKの導入
1) Unityのプロジェクトを作成
2) Nuget for Unity (NuGetForUnity.2.0.0.unitypackage)をダウンロード
3) ダウンロードしたNuGetForUnityをダブルクリックしてプロジェクトに取り込む
4) メニューバーから[NuGet]→[Manage NuGet Packages]をクリック
5) Azure Kinectで検索
6) Microsoft.Azure.Kinect.Sensorの右側にある[Install]をクリック
※本記事ではVersion 1.3.0を使用
7) AssetsフォルダにPluginsフォルダを作成
8) SDKインストールフォルダからdepthengine_2_0.dllとk4a.dllをPluginsフォルダにコピー
C:\Program Files\Azure Kinect SDK v1.3.0\sdk\windows-desktop\amd64\release\bin
9) Pluginsフォルダにファイルが追加されていることを確認
4.C#スクリプトを書く準備
1) Hierarchyの空白を右クリック
2) [CreateEmpty]をクリックして空のオブジェクト(GameObject)を追加
3) GameObjectの名前をAzureKinectに変更 (好きな名前でOK)
4) Inspectorタブ内の[Add Component]をクリック
5) [New script]をクリック
6) スクリプト名(Name)をKinectScriptとする (好きな名前でOK)
7) [Create and Add]をクリック
8) Assetsフォルダの中にKinectScriptができているのでダブルクリックで開く
5.KinectをC#から起動
1) usingでAzureKinectSDKの読み込み
2) Kinectを扱う変数の宣言
3) Kinectの初期化メソッドInitKinectを追加
4) 動作モードを指定してKinectをスタート
5) StartメソッドでInitKinectを呼び出す
6) OnDestroyメソッドを追加しアプリ終了時にKinect終了させる
gist.github.com
7) Ctrl + Sでコードを保存
8) Unityで実行
9) LEDが点灯すればOK
6.まとめ
今回はUnityでAzureKinectを動かすためのSDK導入方法から開発の第一歩となるC#スクリプトからのKinect起動までの手順を紹介しました。次回はPoint Cloudの点群表示についてご紹介します。
AzureKinectの他の記事はこちら!