LoginSignup
57
39

More than 3 years have passed since last update.

点群データをHoudiniでボクセル表示する

Last updated at Posted at 2019-09-01

はじめに

Houdiniを使って3Dスキャンによる点群データをマイクラ風のボクセル表示にする手順のまとめです。
image.png
点群データは東京藝術大学の金田充弘研究室とgluonの取り組まれているデジタル芸大プロジェクトのものを使わせていただき『ボクセル藝大』を作ってみました。

【2019/9/12 追記】同じ方法でボクセル化した都城市民会館です。


都城市民会館の点群データはこちらで公開されています!
旧都城市民会館の点群データが完成!

環境

Houdini 17.5.229
CloudCompare 2.10.2

CloudCompareで点群のデータ形式を変換

HoudiniはE57, LAS形式の点群データを読み込むことができます。今回の元データはpts形式だったのでCloudCompareでE57形式に変換しました。

Houdiniでボクセル化する手順

STEP 1 準備

Geometryノードを作りその中に入り、Nullノードを作ります。
image.png

Nullノードの名前をCONTROLLERに変更し、ボクセル化をコントロールするためのパラメータを登録します(堀川さん方式です)
・GridSize:Gridの間隔を指定(0.2 → 0.2m = 200mm)
・Gap:ボクセルとボクセルとの隙間(0.02 → 0.02m = 20mm)
・NoiseParm:ばらつきを持たせるための係数
image.png

STEP 2 点群を読み込む

Lidar Importノードを作成し、 File でE57ファイルを指定、 Color をFrom Point Cloudに変更します。
image.png

点群データを読み込めましたがスケールと向きがおかしい?
image.png

STEP 3 スケールと向きを調整

今回の点群データはmm単位、Z-upになっています、Houdini はm単位、Y-upなので調整が必要です。
Transformノードを作成し、インプットにLidar Import のアウトプットをつなぎ、 Rotate X を-90に Uniform Scale を0.001に設定します。
image.png
点群データは原点からかなり離れた位置になっていることもあります。その場合は Move Centroid to Origin を押すとジオメトリの重心が原点になるようにTranslateに自動で数値が入ります。
image.png

調整できました
image.png

正門のあたりを拡大するとこんな感じです
image.png

STEP 4 点群をグリッドに乗るように間引く

Fuseノードを作成し、一つ目のインプットにTransformのアウトプットをつなぎます。Snap To を Grid にして Grid Spacing に STEP1で作成したパラメータ GridSize を設定します。
image.png

GridSizeで指定した間隔になるようにポイントを間引くことができました。
image.png

STEP 5 ポイントの位置にボックスを配置する

Boxノードを作成し Uniform Scale を STEP1で作成したパラメータの「GridSize から Gap を引いた値」にします。
Copy to Pointsノードを作成し、一つ目のインプットにBoxのアウトプットを、二つ目のインプットにFuseのアウトプットをつなぎます。
image.png
ボクセル化できました!
image.png
ですが・・・きれいに並びすぎていて味気ないように思います。

STEP 6 ボックスの配置をばらつかせる

FuseノードとCopy to Pointsノードとの間にAttribute Noiseノードを追加しました。
Attributes に P 、Amplitude を STEP1で作成したパラメータの「GridSize に NoiseParm を掛けた値」を設定します。
image.png
ノイズなし
image.png
ノイズあり
image.png

まとめ

ネットワークの全体像
image.png
Lidar Import と Fuse を使ってシンプルな手順でボクセル化できました!

参考

点群VR「点描芸大」まとめ
メタボリズムの名建築『旧都城市民会館』を3 次元スキャンで記録に残したい。

57
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
57
39