【MAYA】カーブに沿って曲がる橋を作る【MASH】
例えば、この島に橋を渡したいとする。
愚直にオブジェクトを配置し、頂点をいじって作ろうとする場合、板を一枚渡すだけなら楽だ。
だが、吊り橋のように複数の板を並べて渡すとなるとちと面倒だ。
さらに、ちょっと中央をたゆませたりして、それをかんたんに調整出来るようにしたいとなると…。
こんなときに、オブジェクトを ルールに沿って大量に配置できるMASHが便利なので、それを実践してみる。
使用MAYAバージョン:2019.2
パーツを用意する
適当に橋桁を1つ用意する。
カーブを引く
NURBSカーブを引く。
後で調整できるので適当でいい。
MASHネットワークを作成
橋桁オブジェクトを選択して、
アニメーションメニュー > MASH > MASHネットワークを作成
あるいは
シェルフ > MASHタブの一番左のアイコン をクリックする。
これ。
すると、以下の図のように、橋桁が増える。
カーブワープを実行する
カーブワープは、パスに沿って変形させる機能だ。
シェルフ>MASHタブの右から6番目辺りにある。
(この機能、メニューのどこにも見当たらない。隠し機能?)
オブジェクト ⇒ カーブ の順で選択して実行する。
オブジェクトは、MASHネットワークの作成時にできた【MASH1_ReproMesh】を選択し、NURBSカーブを選択して実行。
するとこのような状態に。
みるからに失敗しているようにみえる。
個数を調整する前に、橋桁の向きを調整してみよう。
橋桁の回転
なにかうまい方法はないかと調べたが、結局この方法が一番楽だった。
橋桁の元モデルを回転させる。
今回は、X-90度、Z90度回転。
ちなみに元の橋桁オブジェクトは、MASH実行時に非表示にされているので注意。
MASHの調整
アウトライナに【MASH1】というオブジェクトができていると思うので、それを選択してアトリビュートエディタを開く。
色々あるが【MASH1Distribute】タブを開く。
調整するのは、【ポイント数】と【距離X】の2箇所だ。
あとはカーブを選択して、カーブポイントを調整することでたゆみ具合などを直せば完成だ。
きれいに曲線を描いた状態になる。
ちなみにこの手法の特徴として、以下のようなものがある。
『カーブの曲がった部分のモデルが変形して次のモデルとの距離を維持している』のが赤丸の部分で見て取れる。
なのでこういった橋や、曲がる階段などにこの手法は向いている。
元モデルを厳密に作成して、数値を調整すれば、隙間なくポリゴンを並べることもできる。
(頂点マージはしてくれないので最後に自分でする)
逆にモデルの形状を変えずにカーブに沿わせたいときは、MASHモジュールの『Curve』を使うと良い。
こちらの場合は、カーブワープを実行せずに、MASHネットワーク作成後Curveモジュールを足し、【入力カーブ】にNURBSカーブを中ボタンでD&Dする。
こちらは変形しても元モデルの形状は変わらない。
Curveのステップを1にして、Distributeの距離Xを0にし、ポイント数を増やして調整すると良い。
終わりに
MASHには他にも、
- メッシュの表面にオブジェクトをランダム配置する
- 色を塗った部分にだけオブジェクトを配置する
- ダイナミクスを使って自然な感じでオブジェクトを大量配置する
など、背景のモデルを作っていると役に立つ機能が色々ある。
まあ昨今、アセットとして細かいモデルを作ってゲームエンジン上でMASH的な配置をすることも多いので、ゲーム用途だと昔ほど使い道はないかもしれない…。