【iPhoneLiDAR活用】スキャンした3Dモデルをマインクラフトに持っていく方法
#ふつーのひとのiPhoneLiDAR活用術
こちらの記事では3Dモデルをボクセル化してマインクラフトのブロックとして扱えるようにする方法について紹介いたします。
スキャンした3Dモデルをゲームで使いたい!
iPhoneで撮影した3Dモデル見ていて思ったのですが、「これ、マインクラフトで使えれば街並みとか一瞬で作れるんじゃね?」と思ったのでやってみました!
↓するとこうなります。
やったこと
とりあえず何をやったのかだけメモしておきます~
iPhoneで3Dモデルを撮影
(3Dモデルがメッシュモデルなら)CloudCompareで 「Edit < Mesh < Sample Points」で点群を作成
Open3Dで点群をボクセル化してマイクラのブロックの形式に変換する。(下記URLの画像をマイクラのブロック形式にする方法を参考にしました。)
https://zenn.dev/takunology/books/minecraft-programming-book/viewer/chapter22
困ったことメモ
RGBの色空間からLabの色空間に変換する関数が画像形式にしか対応していないようだったので下記URLを参考に自前で実装しました。
https://qiita.com/hachisukansw/items/09caabe6bec46a2a0858「地上絵の製作」のページに載っている「ブロックのLab値リスト」のLab値が間違ってる?っぽいので自前で計算しなおしました。(自前で計算する方法も同ページに載っています~)
Open3Dのgeometry.VoxelGrid.create_from_point_cloudのvoxel_sizeを0.001(1mm)にして動かしたらPCがフリーズしました。(笑)
改善できそうなところ
【スキャンについて】
形状安定のために下記を行う。
"壁をしっかりスキャン"
"隙間なくスキャン"色変換が上手くいくよう撮影時の輝度が一定になるようにする。(曇りの日がベストか?)
【プログラムについて】
前処理としてノイズ除去をかませる
点群の色の均一化とかを使ってみる?
まとめ
まだまだ粗削りですが頑張ればマイクラ配布マップの街並みとか簡単に作れるようになるかも?
関連記事
↓ふつーのひとのツイッター
Twitter:@HNohito
↓RAGのTwitterとかYoutubeとか
Twitter:@redastergardens