規則的なメッシュの配置を動的に行うには


https://www.youtube.com/watch?v=9bb-M2SGzgE

今回はプロシージャルモデリングを用いて規則的なメッシュの配置を動的に行う方法について解説していきます。

まずは規則的に配置していくメッシュを作ってみましょう。X軸に対してセグメントを切り、両端を落とす感じに曲げて屋根瓦っぽい形状を作ってみます。この屋根瓦を規則的に並べていくにはリプリケータを活用しますが、リプリケータで配置するには、配置する元となるメッシュが必要となります。

空のメッシュレイヤーを作り、今度は配置元となるためのメッシュをプロシージャルで作ります。作成プリミティブCubeで板ポリゴンを作ります。ちょうど瓦と同じぐらいの大きさに作っておきましょう。これがリプリケータの配置元となるメッシュですが、サイズを変更すると、それに合わせて瓦がきちんと配置されるように、自動的にセグメントを増やすような仕組みを作ってみます。

ここで必要となるのは板ポリゴンのXZのサイズと、XZのセグメント数となります。Ctrlキーを押しながらこれらのチャンネルを複数選択し、スケマティックビューへと追加します。立方体のサイズとセグメントの間に比例関係がありますので、ここではChannel Relationshipのノードを使って二つの比例関係を定義することにします。

追加チャンネルモディファイヤチャンネルChannel Relationshipノードを追加します。まずは立方体のXのサイズをこのノードへと入力し、Xのセグメントへと出力を接続します。これによりXのサイズとXのセグメントの間に関係が成立したことになります。ではどういった関係になるのかを定義するためノードをクリックすると、ビューポート上にHUDが出てきます。今回の場合、Xのサイズが1の時にセグメントの数も1になりますので、セグメントに1を入力したらここでキーを作成します。Graphボタンでグラフ編集を開き、前後の振る舞いをリニアにすることで、同じようにサイズが2になったらセグメントが2、サイズが3になったらセグメントが3になるようにします。これによりXのサイズを変更することでセグメントの数が変化していくのが確認できます。同じ設定をZに対しても行っておきます。

設定が完了したら、リプリケータを追加します。アイテム追加パーティクルReplicatorを追加し、原型となるアイテムに瓦のメッシュを、またポイントソースに先ほど設定した立方体を指定します。また、各立方体のポリゴンの中心に瓦が配置されるよう、ソースモードはポリゴンを使用に設定します。すると立方体のサイズを変更するだけで、瓦の配置を動的に行えるようになりますので、最初に配置する数を固定しておかなくても、あとから変更することが可能になってきます。

このようにキレイに整列された瓦ですが、テクスチャフォールオフを使って、ランダムに崩すことも可能です。ポイントソースとなるメッシュに対して、編集Deleteオペレーションを追加し、Select By Falloffで選択箇所を定義します。Radialのフォールオフを追加し、全てを覆い尽くすほどサイズを大きくしたら、Puffy Cloudsテクスチャを追加します。テクスチャのプロパティを調整することで、瓦の崩れ具合を調整することができるようになります。

このようにプロシージャルモデリングではメッシュを規則的かつ動的に配置したり、またその配置を崩したりといった調整を、プロパティで簡単に行えるようになります。