Intel RealSenseの深度画像をUnity上に表示する方法

Intel RealSense のデプス (深度) センサ

前回、Intel RealSenseをUnity上で利用する方法を紹介しました。 サンプルを通じて Intel RealSense D435 が利用可能であることはわかりましたが、任意のプロジェクトに表示するにはどうしたらいいのでしょうか。今回は、任意のプロジェクトに深度画像を Unity 上に表示する方法を紹介します。

関連記事

realsense.unitypackage のインポート

前回紹介(「5. realsense.unitypackageダウンロード」「6. Unity上で実行」参照)したように、 Unity 上で Intel RealSense を扱えるよう、Intel RealSense の Unity Package を追加してください。

シーンにRsDeviceを追加

RealSense が用意している RsDevice プレファブをシーンに追加します。

このとき、 RsDevice の子オブジェクトは有効になっていないので、今回の場合であれば Depth のみ有効にします。

RawImage の追加

深度画像を表示するための RawImage オブジェクトをシーンに追加します。

このとき RawImage コンポネントの Material に「 depthMat 」を適用します。 depthMat は、「 Assets > RealSenseSDK2.0 > Materials > depthMat 」にあります。

RawImage を RsDevice に関連付け

Hierarchy より「 RsDevice > Depth 」を選択し、 Rs Stream Texture Renderer コンポネントのプロパティを変更します。

  • Source: RsDevice
  • Stream: Depth
  • Format: Z16

また Texture Binding (Texture) の「+」ボタンをクリックし、先ほど追加した RawImage オブジェクトを関連付けます。そして「 RawImage.texture 」を選択します。

これで準備できました。

実行

それでは実行してみましょう。確かにRawImageの箇所に深度画像が表示されています。

まとめ

Intel RealSense の深度画像を Unity 上に表示する方法を紹介しました。 RsDevice を利用すると簡単に深度画像を表示できることがわかりました。また他のセンサについても同様な手順で表示することができるでしょう。

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