Azure Kinect BodyTracking SDK の Unity セットアップで付属のライブラリ移動バッチが便利だったメモ

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 フォルダの中から、様々なファイルを移動する必要があります。

image

たとえば、 Assets/Plugins をフォルダを新規作成したあと入れるファイル群。入れた結果よりも、Packages のいろいろなフォルダから持ってくる必要があって、それが手間がかかります。

image

こちらは、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 を動かすことでこの移動作業ができます」みたいなニュアンス!

実際のファイルはこちらです。

MoveLibraryFiles.bat

見てみるとわかるのですが、たしかに手動で行う手順がいい具合にバッチ化されています。 Assets/Plugins のフォルダがなければ自動でつくるあたりもクール!

ということでやってみます。

Azure-Kinect-Samples のダウンロード

image

microsoft/Azure-Kinect-Samples: Samples for Azure Kinect から、ZIP ファイルをダウンロードします。

ZIP ファイルの解凍

image

ダウンロードした Azure-Kinect-Samples-master.zip を ZIP 解凍します。

image

このように解凍されます。

image

Azure-Kinect-Samples-master\body-tracking-samples\sample_unity_bodytracking のフォルダを Unity Hub から、リストに追加ボタンを押して、フォルダを指定しました。

Unity プロジェクトを開く

image

リストに追加されたらプロジェクトを開きます。

image

このダイアログは Fix now のボタンをクリックします。

image

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: の手順ですね。

image

Azure-Kinect-Samples/body-tracking-samples/sample_unity_bodytracking at master · microsoft/Azure-Kinect-Samples

こちらのREADMEを確認しつつMicrosoft.Azure.Kinect.BodyTracking の SDK を Nuget ダウンロードします。

image

Unity の Preference > External Tools で Visual Studio を指定しておきます。

image

Unity の Project から、 Assets > Scripts で、適当なファイルを開きます。たとえば、 main をクリックしてみましょう。

image

Visual Studio 2019 で開けるはずなので、メニュー > ツール > Nuget パッケージマネージャ > パッケージマネージャコンソール でパッケージマネージャコンソールを開いて Install-Package Microsoft.Azure.Kinect.BodyTracking -Version 1.0.1 とコマンド入力して Nuget ダウンロードを行います。

image

このように、 Packages というフォルダが登場して、様々なファイルがダウンロードされました。本来であれば 、これらをAssets/Plugins や Unity プロジェクト直下に配置するんですね。

いよいよ MoveLibraryFiles.bat を動かす

ということで Packages フォルダが準備されました。

2) Next add these libraries to the Assets/Plugins folder: の手順が MoveLibraryFiles.bat で自動化されるとのことので、やってみます。

image

引き続き、パッケージマネージャコンソール で進めます。 ls とコマンドを打つと、Unity プロジェクトフォルダ直下にいることがわかるはずです。 MoveLibraryFiles.bat もいますね。

ということで .\MoveLibraryFiles.batとコマンド実行して動かしてみます!

image

おおおおー。スムーズにコピーされてる!すごい!

無事動かせた

ということで、Unityに戻ってみましょう。

image

色々なファイルが反映されたので読み込まれます。

image

READMEの手順のとおり、Kinect4AzureSampleSceneシーンを起動して実行してみます。

image

Console も、正しくライブラリが読み込めるようになり、先ほどの赤いエラーは無くなっています。こちらにあるRebuildingやRemovingが残っていますが、赤いやばそうなエラーでないので Play ボタンで実行してみます。

image

無事動きました!

ということで、付属のライブラリ移動バッチファイル MoveLibraryFiles.bat、現時点で使えそうですし、セットアップの手順が、かなり楽になりました!