Unityで点群(Point Cloud)をレンダリングするよ。

ブログタイトルで「Unreal Engineするよ。」と謳っていますが、今回はUnityです。

Unityで点群をウォークスルー!?して連番で書き出しました。

UE4はじめ、その他有料ソフト等々かなり色々と試したんだけど、基本的な機能含めUnity以外は重たくて駄目でした。

Unity以外で他になにかいい方法があれば教えていただきたいですが…。

そしてまだ、Unity自体よくわかっていないので今回は詳しいことは要望+もっといい方法があったときに記事にしたいと思いますが、とりあえず今回やったことをサクッとまとめました。

  1. 点群データはLeica Geosystemsより拝借→データセットのダウンロード
    21スキャン/3GBのやつ。形式は.e57ですね。
  2. その.e57を”Cloud Compare”で.txtに変換(スキャン分21個の.txtに変換)。
  3. “Meshlab”でtxtを.offに変換。
  4. Unityへ”Point Cloud Free Viewer”でインポート。
  5. “Unity Recorder”でレンダリング。
    今回はテストの意味も含め、4Kの60fps。
  6. After Effectsでコンポ→レンダリング

それで出力したのがこちら。

とにかく点群データの変換がめちゃくちゃ時間かかりました。

加えて、ちゃんと調べてないので正確ではないかもしれないけど、.txtデータの1つのファイルに大体1,500万ポイントくらいあってそれが21.txtファイル。

自分のPCがそんなにスペックの高いものではないというのもあり、とにかく時間がかかりすぎることにしびれを切らし、実際には14.txtファイルしかインポートしていません。

なので、1,500万ポイント×14ファイル=2億1,000万ポイントくらいはあるんですかね?

もしかしたら、勘違いしているかもしれませんが、多分それくらいです。

それにしても、Unityって結構メンド…いやいや、色々なことができますね。

やっぱり、Unityもやっていくかなぁ…。

ちなみに、Unreal Enigneでも点群を読み込むプラグインがあるのですが、今回の自分のケースだとマッチしませんでした。

これ→Point Cloud Plugin

2018/12/08 追記

この感じだと、PCのスペック次第では限度はあるだろうけど、かなりのポイント数イケるんじゃないかなと。

[`evernote` not found]
Pocket
LINEで送る

コメントを残す