プロシージャル街生成(PCG)とは
プロシージャル街生成(Procedural City Generation, PCG)とは、アルゴリズムを用いて都市を自動生成する技術です。この技術は、ゲーム開発、映画制作、建築設計など、様々な分野で活用されています。手作業で都市をモデリングする代わりに、PCGは効率的かつ多様な都市景観を生成することを可能にします。
街生成アルゴリズムの進化
当初、街生成のアルゴリズムにはL-systemsが提案されました。L-systemsは、植物の成長をモデル化するために開発されたもので、その構造生成の能力が都市のレイアウトにも応用されました。その後、形状記述に特化した
ドメイン固有言語(DSL)が登場し、より柔軟で詳細な都市モデルの生成が可能になりました。また、タイルマップ自動作成(例:Wave Function Collapse)のような手法も、都市のパターン生成に用いられるようになりました。
街生成ソフトウェアの分類
PCGソフトウェアは、大きく分けて「道生成と建物生成の両方を行うもの」と「建物生成のみを行うもの」に分類できます。
道生成と建物生成の両方を行うソフトウェア
これらのソフトウェアは、道路網を生成し、その道路に沿って建物を配置します。代表的なソフトウェアには以下のようなものがあります。
Esri CityEngine: Esri社が開発したPCGソフトウェアで、L-systemsを拡張したCGA shape grammarを使用しています。MayaやHoudini用のプラグインも提供されています。
Ninja City: Brian Keffer氏が開発した
Maya用スクリプトで、Ninja Dojoの一部として提供されています。
Scene City: Arnaud Couturier氏が開発したBlender用アドオンで、旧Suicidatorです。
City Rig: C4Depot社が開発したCinema 4D用プラグインで、格子状の道路のみ生成可能です。
WetaH: WETAデジタル社が開発し、Unityエンジンに統合されたHoudini向けツールで、CityBuilder機能も搭載予定です。
建物生成のみを行うソフトウェア
これらのソフトウェアは、道路の生成機能は持たず、建物の自動生成に特化しています。
QTown: Maya用のオープンソーススクリプトで、道路生成には対応していません。
City Kit: Greyscalegorilla社が開発したCinema 4D用プラグインで、Greyscalegorilla Plusの一部として提供されています。道路生成には対応していません。
開発が停止したソフトウェア
過去には、多くのPCGソフトウェアが開発されましたが、現在は開発が停止しているものも存在します。以下に主なものを挙げます。
CityScape: HERE社(旧NAVTEQ、旧PixelActive)が開発したソフトウェアで、プロモーションバージョンが
3ds Max 2011に付属していました。
Urban Pad: Gamr7社が開発したプロシージャル街生成ミドルウェアで、2012年に開発が終了しました。
CityGenerator: Paolo Emilio Selva氏が開発した
Softimage用プラグインで、塗り分けした画像マップから街を生成します。道路生成には対応していません。最終バージョンは2008年リリースのv0.80601です。
City Builder: Pierre Lalancette氏が開発したSoftimage用スクリプトです。
PCity: Sebastian Paetzold氏が開発した
オープンソースソフトウェアで、SIGGRAPH 2001の論文「Procedural Modeling of Cities」に影響を受けています。
CityBuilder: dinosaur氏が開発したオープンソースソフトウェアで、ストリートマップからジオメトリとシーングラフを作成します。
Citygen: ブランチャーズタウン技術学院が開発した
オープンソースソフトウェアで、多数の論文が公開されています。
Blended Cities: Blender用アドオンで、オープンソースです。ゾーニングに対応させたバージョンも存在しました。
Building Generator: 3ds Max用の無料建物生成スクリプトで、道路生成には対応していません。
Kludge City: Maya用の建物生成スクリプトで、道路生成には対応していません。
Eki's ModPak: Eki Halkka氏が開発したLightwave用プラグインで、CityGenという街生成機能を含んでいます。道路生成には対応していません。
Procedural City Generation in Python: オープンソースのPython製PCGソフトウェアで、MPLライセンスで提供されています。
GhostTown: Kristian Larsen氏が開発した
3ds Max用スクリプトです。単体版のGhostTown Standaloneの開発が発表されていました。
まとめ
PCGは、都市景観を自動生成するための強力なツールです。L-systemsから始まり、
ドメイン固有言語、タイルマップ自動作成など、様々なアルゴリズムが開発されてきました。現在では、多くの商用および
オープンソースソフトウェアが存在し、ゲーム開発、映画制作、建築設計など、様々な分野でその技術が活用されています。今後も、PCG技術は進化し続け、よりリアルで多様な都市モデルの生成が期待されます。