Intel RealSense を Unity で使うための導入方法

Intel RealSense

デプスセンサと言えば Microsoft Kinect が有名であり世間を賑わせていましたが、2017年に生産終了となってしまいました。その後、一躍脚光を浴びたのが Intel RealSense です。私が携わった現場では、 Intel RealSense D435 が多く利用されていました。 Kinect に比べるとサイズがかなり小さいので、取り回しも非常に楽です。

今回はこの Intel RealSense D435 を開発ツールの Unity で利用したので、その導入方法について紹介したいと思います。

1. RealSense SDK インストール

まずはRealSenseが正しく動くか確認しましょう。 Intel RealSense SDK 2.0 は下記からダウンロードできます。Windows 10の場合、「Download SDK for Windows 10」をクリックします。
https://www.intelrealsense.com/developers/

ダウンロード後、 Intel.RealSense.SDK.exe をクリックしインストールを行います。特別な設定は不要であり、デフォルトのままインストールすれば大丈夫です。

2. Viewerで動作確認

Intel RealSense SDK 2.0 には、いろいろなツールやモジュールが含まれています。最も簡単に動作を確認するには、 「 Intel RealSense Viewer 」を利用することです。また Intel RealSense の Firmware が古い場合、この Viewer からアップデートすることもできます。

インストール時にデフォルトの設定であれば、デスクトップに「 Intel RealSense Viewer 」のショートカットが用意されていますので、こちらを起動しましょう。Intel RealSenseが正しく接続されていれば、画面左にデバイスが表示されます。D435の場合は、「 Stereo Module 」と「 RGB Camera 」をONにすると、次のように表示されます。デバイスから近いと青く表示、遠くに行くほど赤く表示されており、正常に動作していることがわかります。

3. librealsenseダウンロード

開発ツールの Unity で Intel RealSense を利用するには、Unityのプロジェクトに「 realsense.unitypackage 」をインポートすればいいですが、利用する環境で事前に librealsense の CMake が必要になります。
librealsense は下記で公開されています。
https://github.com/IntelRealSense/librealsense

手っ取り早くダウンロードだけするのであれば、下記より取得してください。
https://github.com/IntelRealSense/librealsense/archive/master.zip

ダウンロードしたファイルは解凍して任意のフォルダに配置して下さい。私は上記をCドライブ直下に配置しましたので、以降の説明は「 C:\lisrealsense 」として説明を進めます。適宜ご自身の環境に置き換えて作業を進めてください。

4. CMakeインストール・実行

Windows 10で CMake するには、下記を利用するといいでしょう。
https://cmake.org/download/

私の環境は Windows 10 64bit ですので、「 Windows win64-x64 Installer 」をインストールしました。基本的にはデフォルトのままインストールすればいいですが、この後コマンドプロンプトより cmake するため、次の画面で「 Add CMake to the system PATH for all users 」にチェックを入れ、環境変数にパスを追加しておきましょう。

インストールが終わったら、コマンドプロンプトを立ち上げます。

> cd C:\lisrealsense
> 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

上記を実行するとコマンドプロンプトにログが表示されますが、最後に次の表示がされていれば恐らく大丈夫でしょう。

-- Build files have been written to: C:/librealsense/build

これで準備完了です。

5. realsense.unitypackageダウンロード

Unity上で Intel RealSense を動かす方法はいくつかありますが、最も簡単なのは用意したUnityのプロジェクトに「 realsense.unitypackage 」をインポートする方法です。これであれば既存のプロジェクトにも簡単に取り込むことができますね。
realsense.unitypackage は下記よりダウンロードすることができます。
https://github.com/IntelRealSense/librealsense/releases/download/v2.20.0/realsense.unitypackage

6. Unityで実行

任意のUnityプロジェクトを開きます。新しく作成したプロジェクトでも問題ありません。 「 Assets > Import Package > Custom Package... 」を選択し、5. でダウンロードした「 realsense.unitypackage 」を選択します。
サンプルが用意されているので、Projectビューから「 Assets > RealSenseSDK2.0 > Scenes > StartHere 」を開きます。

そしてそのまま実行すると、Gameビューに次のような画面が表示されます。もし Intel RealSense が正常に接続できていない場合は、「 Connect A RealSense Device 」と表示されますので、接続を確認してください。

例えば、リストの最初にある「 UI Image Sample (Depth & Color) 」の「 Start 」をクリックすると次のように表示されます。もし4. のCMakeが正常にビルドできていない場合は、投影画面が正しく表示されず赤と白の画面が表示されます。

複数サンプルが用意されていますので、これらを参考に実装を進めるといいでしょう。

まとめ

Intel RealSense D435 は、デプスセンサとして多く利用されています。開発ツールの Unity からも簡単に利用できることを紹介しました。今回は紹介しませんでしたが、骨格を検出するための NuiTrack などもありますので、開発者にとっては嬉しい限りです。今後も Intel RealSense について紹介したいと思います。

TKS2では、Intel RealSenseを用いたセンシングのプロジェクトも可能ですので、もしお困りのときはぜひお声がけください。