Azure Kinect BodyTracking SDK の Unity セットアップで付属のライブラリ移動バッチが便利だったメモをまとめました。
背景
今回は、2020/7/5 時点の状況でお伝えします。
- Unity
- 2019.1.2f1 or 2019.4.1f1
- Visual Studio 2019
- Azure Kinect BodyTracking SDK 1.0.1
です。
Azure Kinect BodyTracking SDK は Unity でも使えるようなUnityプロジェクトがMicrosoftの GitHub にあります。 body-tracking-samples/sample_unity_bodytracking
のフォルダです。いいですよね。
ここからセットアップできるのですが、こちらのREADMEにあるとおり、
1) First get the latest nuget packages of libraries:
の手順で、Unityプロジェクト直下でMicrosoft.Azure.Kinect.BodyTracking の SDK を Nuget ダウンロードして、 2) Next add these libraries to the Assets/Plugins folder:
の手順でダウンロードされたUnityプロジェクト直下の Packages フォルダの中から、様々なファイルを移動する必要があります。
たとえば、 Assets/Plugins をフォルダを新規作成したあと入れるファイル群。入れた結果よりも、Packages のいろいろなフォルダから持ってくる必要があって、それが手間がかかります。
こちらは、Unityプロジェクト直下に置くもの。数は少ないものの、やはり先ほどと同じく Packages のいろいろなフォルダから持ってくる必要があります。
よく読んでたら付属のライブラリ移動バッチファイルが便利だった
READMEをよく読むものですね。提供している Microsoft 側も手間がかかると感じ取ってくれていて、こんな一文がありました。
You can do this by hand or just run the batch file MoveLibraryFile.bat in the sample_unity_bodytracking directory
「あなたは手動、あるいは、 MoveLibraryFile.bat を動かすことでこの移動作業ができます」みたいなニュアンス!
実際のファイルはこちらです。
見てみるとわかるのですが、たしかに手動で行う手順がいい具合にバッチ化されています。 Assets/Plugins のフォルダがなければ自動でつくるあたりもクール!
ということでやってみます。
Azure-Kinect-Samples のダウンロード
microsoft/Azure-Kinect-Samples: Samples for Azure Kinect から、ZIP ファイルをダウンロードします。
ZIP ファイルの解凍
ダウンロードした Azure-Kinect-Samples-master.zip
を ZIP 解凍します。
このように解凍されます。
Azure-Kinect-Samples-master\body-tracking-samples\sample_unity_bodytracking
のフォルダを Unity Hub から、リストに追加ボタンを押して、フォルダを指定しました。
Unity プロジェクトを開く
リストに追加されたらプロジェクトを開きます。
このダイアログは Fix now のボタンをクリックします。
Assets\Config\Configs.cs(1,17): error CS0234: The type or namespace name 'Azure' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
のような、エラーが出るのは、まだ必要なDLLファイルを配置できていないので、現状では正しい挙動です。
Microsoft.Azure.Kinect.BodyTracking の SDK を Nuget ダウンロードする
1) First get the latest nuget packages of libraries:
の手順ですね。
こちらのREADMEを確認しつつMicrosoft.Azure.Kinect.BodyTracking の SDK を Nuget ダウンロードします。
Unity の Preference > External Tools で Visual Studio を指定しておきます。
Unity の Project から、 Assets > Scripts で、適当なファイルを開きます。たとえば、 main をクリックしてみましょう。
Visual Studio 2019 で開けるはずなので、メニュー > ツール > Nuget パッケージマネージャ > パッケージマネージャコンソール でパッケージマネージャコンソールを開いて Install-Package Microsoft.Azure.Kinect.BodyTracking -Version 1.0.1
とコマンド入力して Nuget ダウンロードを行います。
このように、 Packages というフォルダが登場して、様々なファイルがダウンロードされました。本来であれば 、これらをAssets/Plugins や Unity プロジェクト直下に配置するんですね。
いよいよ MoveLibraryFiles.bat を動かす
ということで Packages フォルダが準備されました。
2) Next add these libraries to the Assets/Plugins folder:
の手順が MoveLibraryFiles.bat
で自動化されるとのことので、やってみます。
引き続き、パッケージマネージャコンソール で進めます。 ls
とコマンドを打つと、Unity プロジェクトフォルダ直下にいることがわかるはずです。 MoveLibraryFiles.bat
もいますね。
ということで .\MoveLibraryFiles.bat
とコマンド実行して動かしてみます!
おおおおー。スムーズにコピーされてる!すごい!
無事動かせた
ということで、Unityに戻ってみましょう。
色々なファイルが反映されたので読み込まれます。
READMEの手順のとおり、Kinect4AzureSampleSceneシーンを起動して実行してみます。
Console も、正しくライブラリが読み込めるようになり、先ほどの赤いエラーは無くなっています。こちらにあるRebuildingやRemovingが残っていますが、赤いやばそうなエラーでないので Play ボタンで実行してみます。
無事動きました!
ということで、付属のライブラリ移動バッチファイル MoveLibraryFiles.bat
、現時点で使えそうですし、セットアップの手順が、かなり楽になりました!