概要
シンプルな街ジェネレーターを実装して街並み生成の検証を行いました。
ビルジェネレーターの実装
窓に模したprimを立方体の側面に配置するだけのシンプルなビルジェネレーターを実装しました。
建物のスケール、階高、窓枠の高さそれぞれをパラメーターで柔軟に調整できるようにしています。
街ジェネレーターの実装
次にビルジェネレーターを応用し街ジェネレーターを実装しました。
まず敷地内にビルの平面となる四角形を埋めます、Grid状だと単調なため様々なスケールの平面が混在するようにします。
最後に窓枠、階層も調整が効くので建物の窓もランダムに生成するようにしてみます。
結論
ビルの平面、スケール、ディテールを多様にすることで、これだけシンプルなロジックでもそれぞれのビルに特徴を持たせることができました。
このようにパラメーター調整による形態の多様性と柔軟性を持たせることが、プロシージャルデザインの肝になってくると思われます。
Tips
システム単位を確認&変更方法
Houdiniには長さや重さを設定するUnit単位という概念があります。
[Edit]→[Preferences]→[Hip File Options]で確認でき、デフォルトのユニット単位は下記の通りです。
Unit Lenght(m) = 1
Unit Mass(kg) =1
街ジェネレーターではデフォルトを基準のままに建物のスケールを設定しています。