株式会社 KORAT でさまざまなコンテンツの3DCG製作、ディレクションを担当しておいでの 高野 怜大氏に、Unity, Unreal Engineなどのゲームエンジンを用いたゲーム制作のワークフローでの「MODO」の活用スタイルをご紹介いただいております。
text by 高野 怜大
今回はモデリングの工程にフォーカスし、その基礎的な知識となるモデリング手法について説明します。
モデリング手法を正しく理解することで、修正や変更に強く、決められた作業時間の中でより高い品質のモデルを制作できるようになるでしょう。
MODOのモデリング手法には「ダイレクトモデリング」と「プロシージャルモデリング」の大きく二種類があります。
「ダイレクトモデリング」ではモデルのエレメント(頂点、エッジ、ポリゴン)を直接編集し、直観的にスピーディなモデリングが可能です。
これに対して「プロシージャルモデリング」は非破壊のモデリング手法となっており、モデルの情報やモデルに対して行った編集の情報を保持しつつモデリングを進めるので、後からそれらの情報を変更することができます。この手法は 3ds Max のモディファイヤに似ており、使ったことのある人はその便利さがお分かりいただけるかと思います。
ダイレクトモデリングで使用するツールを見てみましょう。ダイレクトモデリングのツールは「Model」パレットに集約されています。
「Model」パレットは「モデル」レイアウトの左側に配置されています。
また、他のレイアウトで作業しているときはショートカット「F2」キーを押してフローティングパレットとして呼び出すことができます。
たとえば「アニメーション」レイアウトでモーションの設定作業をしているときにちょっとモデルを修正したくなったような時、「Model」パレットを表示させて編集作業を行うことが可能です。
「Model」パレット以外に「スカルプト」パレット(F3キー)、「セットアップ」パレット(F4キー)もショートカットで呼び出すことができます。
レイアウトを変更するまでもないような細かい修正の際にはパレットだけを呼び出して手早く作業できます。
プロシージャルモデリングは「メッシュオペレータ」タブで表示されるリストで管理します。
モデルの作成/編集を演算 (オペレーション) としてレイヤー構造で組合せますので、特定の処理だけ取り消したり修正することが簡単に行えます。
ここからは実際にどのような手順でプロシージャルモデリングを行うのかを説明します。
プロシージャルモデリングの利点が分かりやすいよう「Radial Sweep(ラディアルスイープオペレータ)」を使用し、簡単なドーナツ型のモデルを作成してみます。
それではまず原点から少し離れた位置にポリゴンで円を作成します。
プロシージャルタブをアクティブにし、オペレータ追加から複製の「Radial Sweep」を追加します。
すると、ドーナツ状のモデルになります。
ドーナツ状のモデル自体はダイレクトモデリングの「回転体」ツールを使っても作成できますが、プロシージャルモデリングで作成したこのモデルは分割数や位置、角度などを後から変更できるのです。
実際にやってみましょう。
メッシュオペレータで「Radial Sweep」を選択し、プロパティを確認します。
「Radial Sweep」のプロパティは「スイープエフェクタ」、「へリックスジェネレータ」のタブで分類されています。
「へリックスジェネレータ」のカウントの値を小さくしてみるとモデルの分割が少なくなるのが確認できます。
また、中心の値や開始角度、終了角度の値の変更でモデルの形を変更することができます。
ダイレクトモデリングではモデルの作成/編集中のツールがアクティブになっているときにしかこのような変更は出来ませんが、プロシージャルモデリングではあとから自由に修正が可能です。
プロシージャルモデリングを反映させた後に、最初の円の形状を変更することもできます。
編集しやすいように表示を変更します。
プロシージャルモデリングタブのオペレータ追加タブにあるボタンを押して、ゴーストビューをONにします。
Radial Sweepの下にあるBase Meshを選択します。
すると最初に作成した円のポリゴンが表示されます。
このモデルはダイレクトモデリングのツールで編集できますので自由な形に変更可能です。
Base Meshをハートの形に編集し、Radial Sweepを選択すると、ハートのポリゴンがRadial Sweepされているのが確認できます。
プロシージャルモデリングはオペレータの組み合わせで様々なモデリングが可能となっており、今までダイレクトモデリングで使用していたツールの代わりにプロシージャルモデリングのオペレータを用いるだけでも、後からの修正に強いモデルを作成できるのが理解いただけたかと思います。
ここからはすぐに実践出来て効果的なプロシージャルモデリングのオペレータをピックアップして紹介します。
Symmetrize(シンメトライズ)は、モデルを反転コピーするオペレータです。
これを使えば、対称のモデルは半分だけの作成で済みます。
MODOにはモデルのトポロジから対称を判断してモデリングを行うことのできる「対称」ツールがありますが、Symmetrize(シンメトライズ)オペレータを用いると対称先を実体を持たない写像のような状態でモデリングを行うことができます。
メカニカルなパーツの面取り/フィレットにはEdge Bevel(エッジベベル)オペレータとSelect By Index(セレクト バイ インデックス)オペレータを組み合わせるとよいでしょう。
効果が分かりやすいよう箱状のメッシュアイテムに対してプロシージャルモデリングの面取りを行ってみます。
まずエッジ選択モードで面取りしたいエッジを選択します。
Edge Bevel(エッジベベル)オペレータを追加します。
選択していたエッジに対してEdge Bevel(エッジベベル)が適用され、ハンドルのドラッグで面取りできるようになりました。
パーツのディテールにメリハリをつけたいので、上の部分の周りを少し小さく面取りしたいと思います。
パーツ上部のエッジを選択します。
Edge Bevel(エッジベベル)オペレータを追加します。
選択していたエッジに対してベベルがEdge Bevel(エッジベベル)適用され、ハンドルのドラッグで面取りできるようになりました。
それでは、ここでパーツの下部分のエッジに対しても、同じサイズのベベルを適用したくなったとします。
そういった場合にはEdge Bevel(エッジベベル)オペレータのSelectionを調整します。
Edge Bevel(エッジベベル)オペレータの中を見てみると、Tool PipeとSelectionのオペレータがあり、SelectionのSelect By Indexオペレータでエッジが指定されています。
Select By Indexオペレータを選択し、プロパティの「インデックスで選択」タブの項目を確認すると「選択」の項目に番号が入力されています。この番号のエッジがベベルの対象になっているわけです。
エッジ選択モードで下の部分のエッジを選択し、追加ボタンをクリックします。
選択の項目にエッジの番号(インデックス)が追加されました。
パーツを確認すると下の部分にもベベルが適用されているのが確認できます。
この面取りはプロシージャルモデリングで行っていますので、後からベベルのサイズや丸めレベルを調整することが可能です。
ダイレクトモデリングで有機的なモデルを表現する際にサブディビジョンサーフェイスを使用しますが、プロシージャルモデリングで作成したモデルにはダイレクトモデリングのサブディビジョンサーフェイスを適用することはできません。プロシージャルモデリングで用意されているSubdivideオペレータを使用してください。このオペレータを追加すると、形状が細分割されて滑らかなモデルになります。
いかがだったでしょう。
今回は「ダイレクトモデリング」と「プロシージャルモデリング」についてご紹介しました。
制作するモデルに合わせてそれぞれの手法を組み合わせたり、あとから変更が入りそうなところは「プロシージャルモデリング」でモデリングしておけば、全体の作業の効率化につながるのではないかと思います。
次回はツールパイプラインについて説明したいと思います。
ではでは
|
高野 怜大
2002年から GameAsset、VideoPromotion をはじめとする各種コンテンツの3DCG製作、ディレクションを担当。
|
<< 前の記事 次の記事 >> |