チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第76回:ゲームのためのハードサーフェスモデリング時代
- Maya
- ゲーム
- コラム
- チュートリアル
- モデリング
…会社には居るのです。正確には、ほとんど家で仕事をしているのですが。ふとコラムを確認してみると、なんと去年の9月からコラムを更新していないではありませんか。そもそも去年は三つしかコラムを出せていないような気がしてきました。季刊というよりももはや年刊という遅筆状態です。
というわけで、なにか新鮮なネタをと思ったところ、いいものが見つかりました。ハードサーフェスモデリングです。とはいえ、かなりショートセッションな紹介しか今回は出来ないのですが、ご興味を持っていただければ嬉しいです。
ハードサーフェスモデリングの今
このイメージは、Fusion 360 でパーツを作り、Mayaでキットバッシュモデリングしたものです。( Arnold でレンダリング)
無機物、工業製品、硬いもの、そういったものをハードサーフェスと呼びます。昔はNURBSで作成していましたが、今どきはポリゴンで作成することが多いです。しかし、ポリゴンはなんでも作れる一方で、ハードサーフェスに適切なモデリング方法ではありません。
時代が進んでゲーム製作の環境が変わってきた今、改めてハードサーフェスに合ったモデリングを考えると、Fusion 360 がとても適していることがわかってきました。
従来のNURBSやらソリッドモデリングは、メッシュに変換するとポリゴン数が多くなってしまうため、そのままゲームには使えませんでした。今は法線マップにしてしまうことでその問題をカバーできます。
ゲームのレンダリングは高解像度となり、ハードサーフェスの細かいベベル(フィレット)が生み出すハイライトととても相性がよく、ハードサーフェスの見栄えがとても良い状況です。シェーダーもクオリティが上がっていますし。
モデルのクオリティについても一考すべき時代が来ています。
キャラクタモデリングを思い浮かべてください。ハイポリゴンで作って実機用のローポリゴンに落とし込むという方法は当然のように行われています。でもどこまでハイポリゴンにすれば良いでしょうか?最高品質で作っておいて、出力する先に合わせたクオリティに落とし込むこの方法は、現実を模倣するために何億ポリゴンで作れば現実の人と同じクオリティになるのでしょうか?この基準はとても決め難いです。毛穴までモデリングするとなれば、億では済まないかもしれません。
一方ハードサーフェスは基準がシンプルです。皆さんの周りにある工業製品は、CADソフトで設計されています。CADのデータはベクターデータですので、とても正確です。実際に製造されるモノよりも精度が高いです。つまり、ハードサーフェスモデルはCADソフトで作っておけば、今後何年経っても最高クオリティのデータのままです。後は狙ったポリゴン数に落とし込むことだけ考えれば良いのです。
CADデータではポリゴンをどのぐらい分割しておくか考えることもありません。Mayaに読み込む時にポリゴン数を決定すればよいのです。デザイナーは、デザインにだけ気を配ればよいため、作業もはかどります。
今後のモデラーのスキルアップとして、一度身につければしばらく食いっぱぐれないのがCADによるハードサーフェスモデリングだと思います。
更にキットバッシュモデリングを行えば、短時間で高密度のモデルが作成できます。上の機械の腕を作るのに Fusion 360 で作成したパーツはこんな感じです。
これらの組み合わせで腕を作っています。全てを作るよりも圧倒的に短時間で作成できています。
Fusion 360
さらにデザイナーにとってラッキーなことは、Fusion 360 の様にデザイナーにとって使いやすいCADソフトが登場していることです。Fusion 360 ではソリッドというデータでモデリングします。今回はあまり細かいことまでご紹介できないですが、ウェブでFusion360を調べると、モデリングしている様子を動画でご覧頂けます。基本的にはメッシュでは避けがちな、ブーリアンなどを使って形状を削ったり足したりしながら作成していきます。
どんなものが実際に作れるか気になりますよね?このユーザーギャラリーを見ていただくと、ワクワクしてくることでしょう。
https://gallery.autodesk.com/fusion360/projects#filters=%5B%5D&sort=popularity
どれもポリゴンモデリングでは無意識的に避けている形状ばかりです。穴が空いている形状、複雑な一定のパターンの形状の繰り返し、規律に沿った形状(きちっと30度になっている、など)、これらの形状がものすごく簡単に作成できます。
こういった形状をゲームに出せると、今まで見たことのないクオリティのゲームが作れるはずです。そもそも、現実世界にはこういう複雑なハードサーフェスモデルがたくさん溢れているにもかかわらず、ゲームに出てこないというのも妙なもので、よりリアリティのあるゲームにするには、こういうモデルが登場する必要がますます増えていると感じます。
実際海外のモデラーでFusion 360を使ってゲームデータを作成している方もいらっしゃいます。今飛び込めば、アナタも時代の最先端!という状況です。
Fusion 360 から Maya へ
Fusion 360 でのモデリングについていろいろとご紹介したいのですが・・・画像やら手順やら動画やら用意する時間がないため、Mayaへのデータの持って行き方だけご紹介します。
この画像の右はMayaにインポートしてきたFusion360のデータです。200万ポリゴン程度でメッシュ化されています。左は、ローポリゴン化して、法線マップとアンビエントオクルージョンマップをTurtleでベイクしたものです。ポリゴン数は8000程度です。リアルタイムで動くにも関わらず、ハイポリゴンのモデルとクオリティもあまり変わらないレベルです。
Fusion から Maya にデータを読み込み、ゲームのデータにするまでの流れはこんな感じです。
Fusion 360 で「ファイル > エクスポート」でモデルを書き出します。形式はCAD形式でMayaで読み込めれば何でも良いですが、IGESが成功しやすかったのでおすすめです。
Mayaで読み込むときは、ATFPlugin.mllプラグインをロードしてから、IGESをインポートします。
インポートのオプションで、ファイルタイプをIGES_ATFに変更し、「ファイルタイプ特有のオプション」で「オブジェクトをテッセレーション」=Arubaテッセレーションに設定します。
この設定でメッシュ化を行います。
CADデータの利点としては、読み込み時にテッセレーション出来ますので、粗目のパラメーターにして読み込めば、それだけでLODモデルが得られます!Arubaテッセレーションは優秀で、つなぎ目も上手く処理してくれますし、とても良いメッシュが手にはいります。次の図では同じデータをインポートする時に「Chordal Deviation」の値を変更しています。増やすと荒くなります。ハイポリゴンでは20万、減らした方では1万7千ポリゴンです。
最後に、読み込んだメッシュの頂点がバラけているので、メッシュを選択して次のスクリプトを実行してくっつけます。
string $list[] = `ls -sl`; for ( $node in $list ){ polyMergeVertex -d 0.001 -am 0 $node; polySoftEdge -a 30 $node; }
まとめ
ハードサーフェスモデリングを取り巻く環境はいつの間にか変化しており、Fusion 360 の様なデザイナー向けのCADソフトに有利な時代が来ています。今回のコラムは画像もあまりなくて、しかも駆け足での紹介でしたが、思った以上に簡単にデータをMayaに持ってこられることを知って頂けましたでしょうか?
Fusion 360 はホビーユースなら無料ですし、まずは触ってみることをお勧めします。ポリゴンモデリングを日々している身からすると、「モデリングってこんなに楽しかったっけ?」と思うぐらい楽しい経験が待っていますよ。