とある案件でリアルタイムの人体&物体検知を行うため、デプスカメラをいくつか比較してみたところ、要件的にRealSenseのD435が良さそうだったのでまずはUnityで動かすところまでをやってみました。
途中、試行錯誤しながらやったので不要な手順などあるかもしれませんが、参考になれば幸いです。
環境
- OS: Windows 10
- CPU: Intel Core i7 3.20GHz
- GPU: NVIDIA RTX2060
- メモリ: 16.0GB
はじめに
別PCでのセットアップ時の備忘録も兼ねて、記憶のある限り素のWindowsから動かす手順で書いていきます。
まずは取り急ぎ動かすのに必要な手順をざっとまとめます。
Unity側の準備
入れるもの
- Unity HUB & Unity 2017.4.33f1
- Visual Studio Community 2019
目次とざっとした流れ
Unityアカウント作成、ライセンス購入
下記のURLからアカウントの作成と、利用用途に応じたライセンスを選択しUnity HUBをダウンロードします。
Unity
https://unity.com/ja
Unity HUBをインストール
インストーラーが起動するので流れに沿ってインストールします。
Unity HUB
https://unity3d.com/jp/get-unity/download
Unityをインストール
現在の最新バージョンは、安定板が2019.2.10f1で、ベータが2019.3.0b8です。
ただ、上記のバージョンではRealSenseのサンプルをビルド時にエラーが出てビルドできなかったので、サンプルが作られたバージョンに近い2017.4.33f1をインストールしていきます。
コードを書き換えれば新しいやつでもいけるかもですが未検証です。(2019.11現在)
インストール時に選択するモジュールは念のため .NET Scripting Backendを入れてみました、他はデフォルトのままです。
Visual Studioをインストール
こちらはなくても平気ですが、あったほうが便利なので入れていきます。
Visual Studio 2019
https://visualstudio.microsoft.com/ja/downloads/
RealSense側の準備
入れるもの
- Intel RealSense SDK 2.0
- librealsense v2.29.0
- CMake 3.16.0-rc2
- Git 2.23.0(なくても平気)
目次とざっとした流れ
- RealSenseを購入
- SDKをインストール
- CMakeをインストール
- Gitをインストール(スキップ化)
- librealsenseをダウンロード
- librealsenseをCMake
- realsense2.dllをコピペ
- Unityサンプルを起動する
RealSenseを購入
普通にアマゾンやスイッチサイエンスで購入できます。
僕が購入した時は国内だと割高だったのでIntelの公式サイトから購入しました。
Intel RealSense D435
Amazon / Intel
SDKをインストール
こちらのページから「Download SDK for Windows 10」を選択してインストールを進めます。
インストールが完了したら、RealSenseをPC側のUSB3.0の入力端子と接続し、/tools/realsense-viewer.exe
を起動します。すると実際にデプスとRGBカメラの動作が確認できます。
必要あればD435のファームウェアのアップデートを行います。
RealSense SDK 2.0
https://www.intelrealsense.com/developers/
CMakeをインストール
WindowsにCMakeをインストールします。こちらの記事が大変分かりやすいです。
https://qiita.com/East_san/items/aff4f7907aedabe6da47
Gitをインストール
続いてGitもインストーラーから入れていきます。
下記の記事がとても参考になります。
https://qiita.com/toshi-click/items/dcf3dd48fdc74c91b409
librealsenseをダウンロード
下記のリポジトリをダウンロードします。Gitを入れている場合はgit clone
が良いかなと思います。
$ git clone https://github.com/IntelRealSense/librealsense
librealsenseをCMake
そしてできた /librealsense
フォルダの中に /build
フォルダを作成します。
その後、GitHubのUnity Wrapperの中にある説明の通りにCMakeを行います。
https://github.com/IntelRealSense/librealsense/tree/development/wrappers/unity
$ mkdir build
$ cd build
$ cmake .. -DBUILD_CSHARP_BINDINGS=ON -DBUILD_UNITY_BINDINGS=ON -DBUILD_SHARED_LIBS=ON -DDOTNET_VERSION_LIBRARY=3.5 -DCMAKE_GENERATOR_PLATFORM=x64
完了すると、/librealsense/build/wrappers/unity/..
が生成されます。
失敗する場合は一度再起動と、コマンドプロンプトを管理者で実行すると成功するかもしれません。
realsense2.dllをコピペ
次に、SDKをインストールしたフォルダの中にあるdllファイルを、librealsenseのビルドしたフォルダにコピペしていきます。32bit版Windowsをお使いの方はx86フォルダの中にあるほうをお使いください。
この2ファイルをコピペ
[インストールフォルダ]/Intel RealSense SDK 2.0/bin/x64/Intel.Realsense.dll
[インストールフォルダ]/Intel RealSense SDK 2.0/bin/x64/realsense2.dll
↓
/librealsense/build/wrappers/unity/Assets/RealSenseSDK2.0/Plugins/[ここにコピペ]
Unityサンプルを起動する
下記の.unityファイルを、2017.4.33f1のバージョンで起動します。
起動時に作成されたバージョンと違うというアラートが出ますが、気にせず起動します。
問題なければ、ビルドが行えUnityからRealSenseの動作が確認できます。
/librealsense/build/wrappers/unity/Assets/RealSenseSDK2.0/Scenes/StartHere.unity
以上です。