【背景CG】mayaで森や山を作る。StandIn(スタンドイン)とMash(マッシュ)を使って大量のオブジェクトをレンダリングする方法。

はじめに。

こんにちは小山順之(@annoonblog)です。今回は主にMayaのMashとStandInという機能を使って森を作る方法をご紹介したいと思います。
基本的に木のモデルには枝や葉等複雑な形状が多数あるので、意識して削減してもポリゴン数がそこそこ多くなってしまいます。そしてそれをたくさん複製して配置するとパソコンの処理が重くレイアウト作業が効率よく行えなかったり、プロジェクトを開いたり保存するのに時間がかかったりと色々な弊害が出てきます。というわけで「森を作りたくても作れないじゃないか〜!!」ということになってしまうのですが、安心してください!!
MayaではStandInを利用する事でその問題を解決する事ができます。
StandInとはジオメトリデータ(頂点の情報等)の読み込みをレンダリングを行う時まで保留できるデータ形式です。
この記事では作成したモデルをStandInに書き出して、さらに効率よく複製、配置する方法を解説します!!
ちなみに現在僕が勤務している海外のスタジオでは会社の独自のツールを使ったり、houdiniで同じようなモデルの複製・配置(レイアウト)を行なったりしていていて森を作成するにも色々なアプローチ方法があります。
 
どの方法にもメリットデメリットがあると思いますが、僕自身はMayaのMashとStandInを利用した方法も比較的効率よく作業できるのでパーソナルワークを制作する際には好んで使っています!!
この記事で覚えられるTIps
・StandInの利用方法
・Mashを使ってモデルを大量に複製・配置する方法
・実際の地形のデータから山を簡単に作成する方法(上級編)
・任意の部分にモデルを複製配置する方法(上級編)
・ランダム感を加えた質の高いフォグの作成方法(上級編)
・アニメーション付きモデルをStandInとして書き出す方法(上級編)

まずはこの様な森を作るところから始めます!!
そのあとに上級編もありますので是非参考にしてみて下さい!!!

1.モデルの準備とStandInの作成

始めに木のモデルを数種類用意します。

ここで大事なことはがいくつかあります。
まず木のモデルを遠景で使用する場合は可能な限りポリゴン数を減らしてレンダリング負荷を減らしましょう。
そして二つ目は色のバリエーションを作ることです。これは最終の質を高める上でとても大事です。
木のテクスチャを作成する際はそのあたりも意識して作業しておきましょう!!葉の色も均一ではなくランダム感があることが理想です。
もしMayaに読み込んだ段階で色のバリエーションを作りたい場合はハイパーシェード上でColor collectノードをコネクトすることで色の調整をすることができます。

今回はSpeedTreeで作った以下の3つの木を用意しました。

それぞれ葉の色も緑っぽいものや黄色っぽいものと差をつけました。今回は機能の紹介という事で3本しか用意していませんが、実際には同じ木のモデルでも色のバリエーションが複数あった方が、最終の見栄えが良くなります。

SpeedTreeについては「形状に沿った木を作る方法」や「SpeedTree  ツタの作り方」の記事でも色々なTipsをまとめてありますのでよかったら参考にしてみて下さいね!!!もちろんモデルはネットでダウンロードしたものでも構いません。

特に遠景で使用する場合はローポリゴンモデルであっても見応えのあるクオリティにできるので、質にこだわりすぎなくても大丈夫です。むしろ木が生えているエリアの説得力や、スケール、色等のランダム感の方が重要かなと思います!!

木のモデルを準備したら、モデルが原点にあり、TranslateやRotate、Scaleの値が0になっていることを確認してください。

もしなっていない場合は原点に配置し直してModify→Freeze transform、Modify→Reset transformを行なって下さい。余計なデータをクリアするためにDelete historyも行なっておきましょう。
それではモデルをStandInとして書き出してみましょう!!
任意のモデルを選択してArnold→Scene Export→Export Selection to ASSの右側の四角をクリックします。

Export bounding box
にチェックが入っている事を確認しましょう。
その他の項目は通常はshapesとshadersのチェックのみでOKですが、ライト等他の要素も書き出したい場合は任意でチェックします。

また、今回はMaya2020を使用していますが、それよりも古いバージョンの場合はStandInの書き出しが少し違う位置にある場合があるので注意して下さい。

これでStandInの書き出しが終わったので次に今書き出したデータを読み込みます。

Arnold→StandInをクリックします。するとOutlinerにaiStandInが出来上がるのでそれをクリックしてAttribute EditorのPathの部分で先ほど書き出した.assデータを読み込みます。

現状は読み込んだモデルがバウンティングボックス表示になっていると思いますが、View Port Draw Modeの部分をPolywire等に変えるとモデルの形状がわかる様な表示にする事ができます。

これで森を作成する準備が整いました。

2.Mashを使ってモデルを複製、配置する。

mashネットワークを作成します。複製したいStandInを選択した状態で(今回は三種類の木のモデルのStandInを選択しました)FX→Mash→Create Mash Networkの右側の四角をクリックします。

現れた設定画面でInstancer(インスタンサー)を選択します。そしてApply and closeをクリックします。

するとMash Networkができあがりますが現状では三種類の内一種類の木しか表示されていないはずなのでIDノードを追加を追加して他の種類の木も複製されるように設定します。

TypeをランダムにしてID タイプをランダムにしてID Countを3に変更します。
その下にあるランダムシードの数値を変更すれば表示される木の種類がランダムに切り替わります。
その後、木の数が足りないのでMash_DistributeノードのNumber of Pointsの数を増やして複製数を増やします(下記イメージでは3になっていますが、一旦200等に数を増やします)
更に地面用のモデルを作成してその上に木を生やしたい場合はDistribution TypeをMeshにして地面用のモデルをアウトライナーから中ボタンドラッグ&ドロップinput meshの部分に適用します。

今回は地面用のモデルとしてシンプルな平面を作り、ソフトセレクションで少し凹凸をつけてみました。

これで地面のモデルの形状に沿って木が複製されました。
しかし、木の角度が地面に沿って極端に斜めになってしまっている箇所があるので直立する様にCaluculate Rotation(回転の計算)のチェックを外します。

更にスケールや回転をランダムにして複製感を和らげるためにRandomノードを追加します。
以下のパラメータをviewportを見ながら好みの状態になるまで調整します。

改めてMash_DistributeのNumber of Pointsの値を調整して木の数をイメージに近くなるまで増やします。

これで多数の木を複製して配置する事ができました。

レンダリングする際はDirectional Light等を横から当てるとそれぞれの木に影が落ちてクオリティが高く見えます。
最後にArnoldのaiフィジカルスカイを追加して各パラメータで空の色や明るさ、太陽の位置を調整して森の完成です!!このレンダリング結果を見ると色のバリエーションが画に良い影響を与えているのがわかると思います。
リファレンスとなる画像を良く見て、それに近いカラーバリエーションを作る事を意識すると説得力がでます!!!

上級応用編

さて、基本的な森の作り方が分かったところでここからは上級応用編です!!

まずは上級編で紹介する内容を紹介します!!これらの内容は僕が海外スタジオで働きながら頻繁に使っているかなり実用的なTipsになります。これらのTipsを利用して山や森を作成し、建物や人を配置する事でクオリティの高い背景CGを作成する事ができます。

どれも僕が日本を飛び出して海外スタジオで映画に携わる現在までに少しずつ蓄積してきたノウハウです。特に背景CGの制作に関して基礎よりも一歩上のクオリティを目指したいという方には必ず役に立つ内容になると思います。

Ex.1 実際の地形のデータから山を簡単に作成する方法

無料で使える地形データのダウンロードサイトの紹介と使い方、そしてそれを元に山をモデリングする方法を紹介します!!

Ex.2 任意の部分にモデルを複製配置する。

冒頭で少しお話させていただいた通り、僕もパーソナルワークを制作する際にこのMashの機能をしばしば使っています。
その時に山や複雑な形状の地面に対して、適切に木を生やしたいと感じる事があります。

例えば下記イメージの用に崖の斜面の部分には木を生やさず平らな部分に木が生えるように制御したいという場合です。そんな時の為にMashには任意の部分のみにモデルを配置する機能があります。Mayaでペイントする方法とSubstance PainterやMariを使ってハイクオリティーなマップを作って制御する方法を紹介します!!

その他にもマニュアルで任意の場所にモデルを複製する方法も紹介します。

マニュアルで塗った場所に木のモデルを大量に複製する。

Ex.3 フォグの追加

現実世界でも遠くにあるものは近くにあるものよりも霞んで見えますよね!!

最終的なクオリティを上げる為にフォグを追加する事は特に背景CG制作では必須です。上級編ではモデルの複製・配置(レイアウト)だけでなく、フォグの追加方法と更に少しランダム感を加えて質感をアップする方法を紹介します!!

Ex.4 アニメーション付きモデルをStandInとして書き出す方法

基礎編でまとめたStandInの機能ですが、実はその際にライトを含めたりアニメーション付きモデルのデータを書き出して複製する方法があります。遠景で人を配置してショットに説得力を出したい時に使えるtipsです。
以下は簡単に作った群衆の作例です。

かなりボリュームのある内容となりますが、これら全てのTipsをひとつひとつ解説していきます!!!

そして、これらの技術を組み合わせて作った僕のパーソナルワークの一例がこちらです!!
全てMayaのMashとStandInを使っています。

この作品では木と家と小さなアセットを全てStandInで書き出し、後方の山に生える木々はMashで配置しました。

遠方の木も含めてレイアウトは9割方mashで制御しました!!

この作例ではSubstance PainterとMayaのMashを組み合わせて木を配置しました。 崖の形状に沿ったレイアウトをする事で画の説得力が格段に上がりました。

この木の作例では落ち葉や雑草、藻等のモデルをマニュアルで塗った箇所にMashで配置しました。

実際これらのパーソナルワークを作った事で僕はカナダのMoving Picture Companyというスタジオに就職し、ハリウッド映画に携わるキャリアをスタートする事ができました。海外で働いている今でもこれらのTipsを使う事がよくあります。
 
このブログを読んでくださっているのは学生さんが大半なので、これらの上級編のチュートリアル記事は他のチュートリアルサイトよりも安く3900円という価格で発信させて頂く事にしました。海外に飛び出して試行錯誤しながら学んだものなので必ず役に立つと思います!!

内容としてはCGの学校に通いながら就職活動に励んでいた過去の自分に教えてあげたいなと思う様な実践的なものを厳選しました。
これらの知識がみなさんの役に立てば本当に嬉しいです!!それが一番のモチベーションで日々記事を書いています。
 
ご興味ある方は下記画像をクリックすれば記事に飛べるので是非読んで活用してみてくださいね!!!

山や森を作る上級編チュートリアル

アニメ面白ネタまとめ記事もありますので、仕事で疲れた時は楽しんでみてください!!笑

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です