09« 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.»11

* category: スポンサー広告

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Comment -- | Trackback -- |  * 記事編集 *  go page top
* tag: CityEngine  OpenStreetMap 

* category: Unity3D

CityEngine + OpenStreetMap + Unity3D 

バトロイドに変形するなら地上戦もやりたいので街を作りました。
17.jpg

マップ中央付近を建物で埋め尽くしています。
建物の生成にはCityEngineを使用。スクリプトを使って建物や道路などを自動生成するツールです。

木や街灯・窓枠などのパーツや車・歩行者まで配置できるようですが、今回はバトロイド視点で眺めるので
細かいパーツや複雑な形状はなくし、街の密度感を再現できるようスクリプトをカスタマイズしています。


道路はOpenStreetMapからCityEngineにインポートしています。
OpenStreetMapは地図情報をベクトル形式で出力できるため扱いが容易であり
3Dデータに使うには非常に有用です。
ただ、取り込んだ範囲のデータには道路の幅や建物の高さ情報が含まれていなかったので、
スクリプトで建物や道路を自動生成した後に、道路幅を調整したり、
大きな建物は高さを調べてパラメータを入力するなど手動で修正が必要でした。
今後はこの辺りのデータも取り込めるようになって欲しいところです。


Unityに取り込んだ後で、LightMapを生成しましたがこれだけで400MBにもなってしまいました...。
また、全てのオブジェクトを一度に表示すると非常に負荷が高くなるので、
Camera.layerCullDistancesを使用して、建物とカメラの距離に応じてを表示するオブジェクトを
を制限しています。レイヤーは建物の高さ毎に設定しています。
しかし、水面の反射にはこれが働かないようで、表示されていないオブジェクトまで
水面に映ってしまい、負荷が下がらなかったため一時的に水面反射をやめました。

容量はともかくFPSはそこそこ現実的な値が出るようです。

18.jpg

20.jpg


関連記事
スポンサーサイト

この記事に対するコメント

city engine強力ですね;
unity上で大きさとtriangle数は どのくらいになりました?
細かいパーツや複雑な形状はなくし とあったのでビルはほとんど箱だと思うのですが

あとこれは市街地全体で 1 mesh扱いになるのでしょうか?

URL | まさかみ #UTTqB9Tc 【2011/11/12 20:08】 *編集*

今回生成した大きさは約10x10kmです。
CityEngineはもっと大きなサイズも扱えますが、
メモリとCPUの処理能力の都合でこのサイズになりました。

正確なtriangle数は分かりませんが、blender上での面数は70万程です。
これは建物だけでなく道路も含めた数値です。
ビルは平面形状をインポートできたもの以外は箱です。意図的に。
もっと小さい家は傾斜した屋根を上に生成しています。
(2つ目の画像に少しだけ映っていますね)

Unity3Dにインポートするとき、頂点数は65000以下でなければならないので
それ以下になるよう調整してmeshは分割しています。

URL | 管理人 #2Qwf./yA 【2011/11/13 00:28】 *編集*

65000頂点制限は知りませんでした。
市街地かなり大きいですね、
僕もツールは違いますが市街地作ろうとして 目安がなくてモヤモヤしてたので参考になります。

URL | まさかみ #UTTqB9Tc 【2011/11/13 18:27】 *編集*

街の大きさは、 FPSとかで人間サイズのキャラクターが歩き回るには広すぎるでしょうね。
ちなみにUDKとCityEngineのデモは確か1.5km四方くらいでした。
http://www.procedural.com/showcases/industries/game-development/unreal.html
ですが、このゲームはフライトシューティングなので、
上空から見下ろすとさらに周辺も埋めたくなります。

参考になってよかったです。CityEngineもですが、この手のツールの
日本語の情報がもっと増えるといいですね。



URL | 管理人 #2Qwf./yA 【2011/11/13 22:03】 *編集*

コメントの投稿

Secret

go page top

トラックバック

トラックバックURL
→http://solidm.blog89.fc2.com/tb.php/26-dc295b70
この記事にトラックバックする(FC2ブログユーザー)

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。