テクスチャを利用してメッシュのサイズや配置をコントロールするには


https://www.youtube.com/watch?v=By9NUtPn3RA

今回はテクスチャを利用して、メッシュのサイズや配置をコントロールする方法について解説します。

サンプルとなるこのシーンでは、地面の上に敷石と草が配置されています。この敷石と草はプロシージャルモデリングとテクスチャを利用することによって、動的に配置を行っています。

まずは地面となるポリゴンを作っていきます。アイテム追加作成プリミティブCubeを追加し、板ポリゴンを作成します。これが地面となります。この地面を元に敷石と草という二つのメッシュを作っていきます。

敷石用の空のメッシュを作ったら、アイテム追加編集Merge Meshesを追加します。このMerge Meshesはシーン内に存在している他のメッシュレイヤーを取り込むというメッシュオペレーションです。ソースを指定する箇所で先ほど作った地面のメッシュを指定します。これで敷石のメッシュも地面と同じメッシュになりました。

ではさらにこの細かく分割されたポリゴンの中から、一部を削除していきます。削除するためには編集Deleteを追加します。そうすると削除箇所を指定していないため、全てのメッシュが削除されるようになりました。Deleteを展開し、(Selectionを追加)Select By Falloffを追加し、フォールオフによって削除するポリゴンを選択するようにします。フォールオフはTexture Falloffを使用し、Poisson Cellsを指定します。いくつかの島ができるようにテクスチャの値を調節します。

ポリゴンの島ができてきましたが、角ばってしまっているので、これを丸めるために、デフォームSmoothオペレーションを追加します。丸みをつけたら、ポリゴンSmooth Shiftで厚みをつけ、さらにSmoothオペレーションを重ねて丸みを出します。これで敷石の完成です。

では次に草のメッシュを作ります。こちらも敷石と同様、編集Merge Meshesを追加し、地面のメッシュレイヤーを取り込みます。アイテムを選択し右クリックからアイテムマスクを作成し、わかりやすいように色を変えておきましょう。さらにレイヤー追加特殊Fur Materialを追加し、草を生やします。そうすると現在、草は地面全体を覆うように生えており、敷石が配置されている個所に対しても、草が生えていることになります。

これを回避するため、シェーダツリーを見てみると、Nodesの中に先ほど敷石のモデリングでテクスチャフォールオフのために使用したPoisson Cellsがあるのが確認できます。このテクスチャを利用して、草が生える場所というのを指定することにします。

Poisson Cellsを右クリックし、インスタンスの作成でインスタンスを作成したら、草のマテリアルグループへと移し、エフェクトをファーファー密度へと変更します。こうすることで、必ず草は敷石が置かれていない個所から発生することになります。

敷石と草のメッシュは地面のメッシュを元にしていますので、地面のメッシュを変更することで敷石や草のメッシュを変えたりアニメーションさせることができますし、また敷石と草の配置具合や生え具合は同じテクスチャを元にコントロールされていますので、テクスチャを調整することで、敷石と草を同時に調整することが可能になっています。