2009/12/30
テーマ: 開発 / Blender / 2009 / すべて
SIO2 を使った iPhone ゲームに表示させるための街並みシーンを作ろうとしています。手動で作るのは大変だと思ったので、最小限の情報から規則的に生成することを考えています。
まず試したのはOpen City Engineというツールです。これはかなり強力なツールで、車線の数、ビルの種類(住居用/商業用/...)、ビルの分布などを指定して、信号機や歩道を含む街のシーンを生成することができます。
で、こっちを採用する路線で行ってたんですが、SIO2 + iPhone 環境にフィットさせるために今後いろいろ必要になるであろうカスタマイズ性を考えると、Open City Engine 内部を思い通りにいじくるのは大変そうだと思ったので、自分で作ってみることにしました。
道路を表すグラフから、道路メッシュや信号機、フェンス、横断歩道などを生成します(予定では)。今できてるのは、ラフな道路メッシュの生成と、道に沿って猿を設置する機能です。
道路を表すグラフ(黄色くハイライトされてるやつ。8頂点, 8エッジ)
生成されたシーン
などなど。
以前にも似たようなことを途中までしていまして、そのときは Metasequoia で作ったシンプルグラフ(.mqo)を C## で parse、道路メッシュを生成、それを別の .mqo に出力、それを Metasequoia で開いて DirectX(.x) 形式に手動でエクスポートというワークフローでした。
Blender + python 構成だと、内部データを直接いじれるので面倒な parse をしなくてよい、Blender のいろんな機能がスクリプトから使えるなど、良いことばかりです。(今は Metasequoia でもできるのかもしれませんが。)
ビデオ編集の話といい、いろんなメディアが Blender, Python というフリーなツールを介して繋がっていく感じが大変良いです。