見出し画像

Blenderで点群:インポートからレンダリングまで

概要

Blenderを使った点群ファイルのビジュアライズ方法をメモします。
大まかな流れは以下の通りです。
1. ply形式のファイルを用意する。
2. BlenderにPoint Cloud Importerをインストールして、点群を読み込む。
3. Geometry NodeとShaderをセットする。
4. Cyclesでレンダリング。

点群をBlenderにインポートする

ply形式の点群データを用意する

今回の方法では点群データをply形式で用意する必要があります。
そのためには、例えばCloud Compareなどのソフトウェアを使うのが簡単です。

import-ply-as-vertsをインストールする

次に以下をインストールする必要があります。(感謝)

やり方はリンク先に書いてあります。
Blenderのplyインポート用のスクリプトを、提供されているものと置き換えます。

まずBlenderのEdit>Preferences>Addonsから、デフォルトでオンになっているPLYファイルインポート用アドオンのチェックを外します。
次に上記githubのレポジトリをZipファイルとしてダウンロード・展開して、好きなフォルダに置いておきます。その中にある、PLY_As_Verts.zipというファイル(こちらは展開しない)を、BlenderのEdit>Preferences>Addons>Installから選択します。

アドオンのZipファイルをインストールする。

その後、インストールされたアドオンにチェックを入れます。
完了するとインポートの項目が以下のようになります。

"Stanford PLY as Verts"に変化

インポートするときは、以下のようにチェックを入れます。

"Verts/Colors Only"にチェック

以下のようにインポートできます。

点群のPLYファイルをインポートする

Blenderでの設定

Geometry Nodeの設定

点群データがインポートできますが、そのままではレンダリングできません。まずはGeometry Nodeを以下のように設定します。

"Mesh to Points" -> "Set Material"

"Mesh to Points"と"Set Material"というノードをつなぎます。"Mesh to Points"のRadiusで、点群のそれぞれの点の半径を設定できます。
"Set Material"ノードに適当なマテリアルをセットします。次にそのセットしたマテリアルの設定が必要になります。

Shaderでマテリアルを設定する

Shaderタブで、先ほどセットしたマテリアルを開き、以下のように設定します。

"Attribute"ノードの名前は"Col"にする

"Attribute"ノードを入れ、"Name:"の欄に"Col"と入力します。これによって、それぞれの点の色情報を取得できます。簡単のため、"Attribute"ノードの"Color"出力を直接、"Material Output"の"Surface"入力につなぎます。

レンダリングエンジンをCyclesに設定

今回の方法では、レンダリングをCyclesで行う必要があります。

レンダリングエンジンをCyclesに変更します

レンダリングモードで見ると、点群を色つきで表示できていることが分かります。

色のついた点群を表示

あとはカメラやライトを設定したり、マテリアルを変更したりすることで、好きな画像や動画をつくることができます。

おわりに

特に建物などをスキャンした点群データはしばしば大きくなると思います。もし大きすぎてBlenderにインポートできない場合は、Cloud Compareなどを使って点を間引くという方法もあります。
分かりにくいところなどありましたらコメントをお願いします。


この記事が気に入ったらサポートをしてみませんか?