Closed23

Azure Kinect Sensor SDK + Unity 2020.3 LTSでできるだけきれいな環境構築を目指す

にー兄さんにー兄さん

目的

  • Unity2020.3LTSでAzure Kinectを使えるようにする
  • 上記の目的をなるべく"いい感じ"の環境で実現する
    • いい感じとは、再現性があって導入がしやすく公開した時にきれいに見えるなどを指す
にー兄さんにー兄さん

この内容は技術書典11で頒布する技術同人誌に載せる予定ではありますが、
サンプルプロジェクト公開の際に結局環境構築はREADMEに記載するので、結局公開情報になる
そのため公開作業ログにしても問題ないと判断しています

にー兄さんにー兄さん

環境

なるべく最新バージョンを揃えたい

  • Unity 2020.3.11f1
  • HDRP:
  • Azure Kinect Sensor SDK 1.4.1
  • Windows 10 Home
  • CPU: Intel Core-i7 7700
  • GPU: GeForce GTX 1060 3GB
にー兄さんにー兄さん

実はすでに同じようなことはしているんだけど
Unity2020.3ってことが違うのと、執筆のために復習する目的、
サンプルプロジェクトの作成という目的がある

基本は以下のリポジトリの環境に従う。
https://github.com/drumath2237/k4a-vfx

にー兄さんにー兄さん

アイデアとしては、Azure Kinect Sensor SDKをNuget経由でインポートする際に
その処理をなるべく手間を少なく、テキストベースで環境を管理できるようにするもので
そのためにnuget.configpackages.configファイルを作成している。
nuget経由でパッケージをインストールする場合、nuget-cliもしくはVisual Studioを使うことになるが、
これらのファイルがあることによってそれらが簡単になる。

追加で、nugetパッケージ類をassets以下に移動するためのバッチファイルを作っている

にー兄さんにー兄さん

ちなみに、packages.configがあると、Azure-Kinect-Sensorのリポジトリのused byに載る

にー兄さんにー兄さん

HDRPのデフォルトサンプルプロジェクトがとてもでかくてう~んって感じなので
全部削除してコミット

にー兄さんにー兄さん

なんでだろ、「NuGetパッケージの復元」が無効になってる
というかUnityからVS開いてもcsprojが生成されていない気がする

にー兄さんにー兄さん

こちら解決。HDRPのサンプルアセットをことごとく消し飛ばしたせいでC#スクリプトが跡形もなくなくなったため
csprojが生成されなかったということらしい

にー兄さんにー兄さん

ちょっとバッチファイルを編集。
最初にmkdirしないとフォルダがないと怒られるっぽい

にー兄さんにー兄さん

なんか前やっていた時はamd64のk4a.dllおよびdepght_engineをインポートしていたので、
今回はx86フォルダ以下に入っているものをインポートしてみた
そしたらDLLがないぞ!と言われた
ちなみに実行する前に、dllのインスペクタからx64のチェックを外している

にー兄さんにー兄さん

エディタでKinectの起動を確認できたので
ビルドしてみる。実は前やったときビルドできなくて困っていた

にー兄さんにー兄さん

とりあえず動く環境は整ったみたいなので
あとでリポジトリにまとめてこのスクラップは終了です

にー兄さんにー兄さん

そういえばk4a-vfxのリポジトリと構成が違うところとして、dllをAssets/Plugins以下に配置した
なんかここだけ特別な場所だった気がするので、何か差異があったのかな

このスクラップは2021/06/21にクローズされました