2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MoAR - Museum of ARAdvent Calendar 2022

Day 3

ビルのモデルを作る

Last updated at Posted at 2022-12-02

MoAR はビルをキャンバスにした AR コンテンツなのでキャンバスとなるビルの正確なモデルが必要になる。

PLATEAU

東京だし PLATEAU のデータ使えるかな?と思ってデータ確認してみたところ LOD2 で他より精度高く作られてはいるものの今回の用途にはディティールが足らなかった。(周辺のビルとかはオクルージョンとかには使えるかも

WHEREVER in PLATEAU

PLATEAU から個別のビルモデルを抽出する方法

  1. PLATEAU View で建物 ID を調べる。
    建物ID
  2. CityGML をダウンロードする。
  3. ダウンロードした ZIP ファイルを展開すると大量の gml ファイルが出てくるので、建物 ID を全文検索して該当するモデルが含まれる gml ファイルを特定する。(gml ファイルには複数の建物データが含まれている
  4. PlateauCityGml で↑で見つかった gml ファイルを処理すると建物1つずつの OBJ ファイルが生成される。
  5. 建物 ID がファイル名になっているので該当するファイルを見つける。

自分でモデリングする

PLATEAU のモデルが使えないのなら作るしかないので図面もらって Fusion 360 でモデリング。

図面

プリントされた図面をスキャンした PDF なのでところどころ歪んでたり傾いたりしてるやつを Photoshop で修正して Fusion 360 で下敷きにしてトレース。数値読めない部分もあったりするのも勘で適当に合わせる。割とシンプルな扇型だったので助かった。

195022427-f59aa061-279d-4a87-8175-695f248d1ccd.gif

作ったモデルを Immersal で AR 表示してみたところ。ちょいズレてるのが、ドリフトしてズレてるのかモデルが正しく作れてないのかそもそも建物が図面どおりに作られてないのかがわからないところが厄介だけど PLATEAU モデルよりは全然よい。

194994246-81fce0cc-e993-47b7-9bd5-f8f0ef32ac10.png
左が自分でモデリングしたやつで、右が PLATEAU のモデル。

Blender で作り直す…

Fusion 360 でモデリングしたものは OBJ ファイルなどのポリゴンモデルとして書き出すと Unity などの他アプリで使用できるようになる。で、Fusion 360 からポリゴンモデルとして書き出すと、めっちゃ細長いこれは線なのでは?というポリゴンとかめちゃくちゃ小さいこれは点なのでは?というポリゴンとかが生成されたりするし当然ながらトポロジーみたいなのは全く考慮されないデータが出てくるので、単にそれを表示するだけならまだいいのだが(よくないのだが)、ここからさらに加工しようとするとその構造がアレすぎてかなり辛い。

という事情があって最終的に MoAR アプリで使っているモデルは、Fusion 360 のモデルを参照しながら Blender で1から再モデリングしたものだったりします。

Blender model

左が Fusion 360 から書き出したモデルで、右が Blender で1からモデリングしなおしたもの。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?