2019年10月12日土曜日

【Unity】Realsense D415を使った点群表示にチャレンジ

今回はタイトルにある通り、D415を使って計測した点群をUnity環境で表示させて見たいと思います。

ロボットの開発ではROSを使う方法が主流なため、Ubuntuで動くPCで各種作業を行うのが定番ですが、点群をCGやVRなどで活用する場合はWindowsアプリがやりやすいですね。

今回はゲームエンジンとしてポピュラーなUnityで表示させてみます。

今回の環境は下記の通りです。
PC:Surface Pro 3
OS:Windows8.1
カメラ:Realsense D415

Step.1 Unityのインストール

まずはUnityの最新版をインストールします。
Unity Hubを使うと管理が楽なのでそちらもおすすめです。
※インストール手順はネット上にたくさん情報があるので省略します。

Step.2 Realsense SDK2.0のインストール

公式サイトから、最新版をダウンロードしてインストールしてください。
 
windows8.1(64bit)の場合はwindows10用を使用します。
(windows7用のデータをインストールしてもエラーが出ます)

※D435iはwindows8.1では動作しませんのでご注意を。

インストールが完了したら、カメラをUSB3.0につないでデスクトップにあるRealsense Viewerを起動すると、深度画像が表示されればOKです。


Step.3 Unity用librealsenseのインストール

こちらのサイトから、必要なデータをダウンロード&インストールします。
 
やり方としては二通りあり、ソースファイルをCMAKEでビルドする方法と、Unityパッケージをそのままダウンロードして使う方法です。

上記サイトのStep.1に書いてあるのがまさにビルドでやる方法ですが、CMAKEをインストールしてから何度試みてもエラーが出てしまったので、パッケージファイルをそのまま使う方法で進めることにしました。

上記サイトのトップ画像真下のところにダウンロードのリンクがありますので、そこからrealsense.unitypackageを適当なフォルダにダウンロードしてください。

Step.4 Unityヘインポート

・まずはUnityを起動し、新しいProjectを立ち上げます。


・Step.3でダウンロードしたunitypackageファイルを右下のAsset欄にドラッグ&ドロップします。


 importファイルのウィンドウが立ち上がるので、すべてimportします。

・しばらくすると、Asset欄にRealsense SDK2.0のフォルダが作成されます。



・Realsense SDK2.0のフォルダ階層直下にあるScenesフォルダ、さらにsamplesフォルダを開き、PointCloudのシーンファイルをダブルクリックします。


背景が青~黒のグラデーションに切り替わり、無事、読み込まれました。

・画面上部中央の再生ボタンをクリックすると、下の画像のように点群を取ることができます。


点群の直径は、Hierarchyタブの欄にあるRsDevice→PointCloudとたどり、Inspectorタブに表示される項目の下のほうにPoint Sizeを入力する個所があるので、そこで調整できます。

0 件のコメント:

コメントを投稿

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。