Intel RealSense が Unity のビルド後に反応しないときの対応

RealSenseが認識されない

Intel RealSenseはUnity Editor上でも動作するため、通常開発はUnity Editor上で行っている方が多いでしょう。しかし、いざWindowsアプリをビルドして動かそうとすると RealSense を認識していないことがあります。
例えば RealSense のデモにおいても、RealSenseを認識しなかったら次のようにリストが表示されません。

RealSenseが認識されていない
RealSenseが認識されていない

私の場合はログを出力して確認を行ったところ、次のようなエラーが発生していました。

Failed to load 'C:/*****/RealSenseTest_Data/Plugins/realsense2.dll', expected x86 architecture, but was x64 architecture. You must recompile your plugin for x86 architecture.
DllNotFoundException: realsense2

エラー内容の通り、 realsense2.dll はx64アーキテクチャでビルドされています。私のWindowsアプリの設定を確認したところ、x86アーキテクチャでビルドしようとしていました。

Unityのアーキテクチャがデフォルトのx86
Unityのアーキテクチャがデフォルトx86のままである

アーキテクチャの変更

今の時代、わざわざ x86アーキテクチャでビルドする必要はないので、アーキテクチャを x86_64 に変更して再ビルドしたところ、問題なく RealSense を認識し表示することができました。

Unityのアーキテクチャをx86_64に変更
Unityのアーキテクチャをx86_64に変更する
RealSenseが認識されている
RealSenseが認識されている

まとめ

UnityではWIndowsアプリのビルドアーキテクチャが x86 になっているため、変更を忘れてビルドしてしまい、慌ててしまうことがあります。プロジェクトを作成した時に忘れないように変更しておくのがいいでしょう。

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