MODO JAPAN GROUP

事例記事

ゲーム制作におけるMODOワークフロー : 第3回 リトポロジーとハイレゾリューションモデルからローレゾリューションモデルへのベイク

株式会社 KORAT でさまざまなコンテンツの3DCG製作、ディレクションを担当しておいでの 高野 怜大氏に、Unity, Unreal Engineなどのゲームエンジンを用いたゲーム制作のワークフローでの「MODO」の活用スタイルをご紹介いただいております。

banner_case_article_game

text by 高野 怜大

リトポロジーとハイレゾリューションモデルからローレゾリューションモデルへのベイク

前回はMODOの「ベイク機能」の概要とベイクウィザードの簡単な使い方を紹介しました。

今回はもう少し具体的なワークフローとして、
「最初に素材となるハイレゾリューションのモデルデータがあり、それをゲームアセット用のローレゾリューションに加工する」
というフローの中で、どのように「ベイク機能」が使うのかを紹介したいと思います。

以下の図が今回紹介する作業の流れです。

bake_flow02

ゲーム制作の中では、映像作品で使用されたモデルを流用したり、スカルプトアーティストが作成したモデルや3Dスキャンされたデータを利用することがあります。

しかしそのようなモデルデータはポリゴン数が多かったり、材質の設定がゲームエンジンでの利用を考慮されておらず、そのままの状態ではゲームエンジンで利用できないことがほとんどです。

こういった場合、リトポロジの機能を使用して、ハイレゾリューションのモデルを元にローレゾリューションのモデルを再構築し、ハイレゾリューションからローレゾリューションへのテクスチャベイクで法線マップを作成してローレゾリューション上に細かいディテールを表現します。

それでは作業の工程を順番に説明します。

リトポロジ

今回はハイレゾリューションの岩のモデルを、ゲームアセット用のローレゾリューションのモデルに再構築します。このモデルは約30万の三角ポリゴンで構成されています。

ハイレゾリューションの素材

「トポロジ」レイアウト

まずリトポロジの作業を行います。この作業には「トポロジ」レイアウトを使用します。

このレイアウトにはリトポロジ関連のツールが集約されており、リトポロジの作業を集中して行うことができます。


retopology_auto_retopo_01

今回のリトポロジには「自動リトポロジ」ツールを使います。テクスチャの設定がシビアだったり、精度の高いモデルが要求されるような場合には、「トポロジ」ツールなどを使用して手動でモデルを再構築しますが、背景に使用するような有機的なモデルであれば「自動リトポロジ」ツールを使って作業時間を短縮させることができます。

ハイレゾリューションのアイテムを選択し、「自動リトポ」ボタンをクリックして「自動リトポロジ」ツールを起動させます。


すると「自動リトポロジ」の設定ダイアログボックスが表示されますので、値を調整します。

retopology_auto_retopo_02

「自動リトポロジ」は数回行います。いろいろなモデルで「自動リトポロジ」を試してみたのですが、一度に「自動リトポロジ」でローレゾリューションにするよりも数回に分けて段階的にレゾリューションを減らした方が期待に近い結果を得ることができるようです。

まず一回目の「自動リトポロジ」でモデル全体が4角ポリゴンで構成されるようにします。 「四角形のみ」のチェックボックスをONにしてください。

「相対ポリゴンターゲット数」は80%くらいの高い値に設定しておきます。

OKボタンを押して「自動リトポロジ」を実行します。


retopology_auto_retopo_05

するとリトポロジーの計算が実行され、アイテムリストに新しく「 <元のメッシュアイテム名>_retopo」というメッシュアイテムが作成されます。


retopology_auto_retopo_06

このモデルのトポロジを見てみましょう。全て四角形ポリゴンで構成された流れのあるトポロジが生成されているのが確認できます。


retopology_auto_retopo_07

それでは二回目の「自動リトポロジ」を実行します。

二回目は、ポリゴン数を少なくするのが目的なので「相対ポリゴンターゲット数」に小さい値を指定して実行します。


retopology_auto_retopo_08

「自動リトポロジ」を数回に分けて適用してポリゴン数を少なくした状態です。

※四角ポリゴンで約350枚(三角ポリゴンで700枚)までに減らしました。

これで元のハイレゾリューションのモデルから「自動リトポロジ」でローレゾリューションのモデルを生成する工程は完了です。

次はこのローレゾリューションのモデルのUVを展開します。


UV展開

retopology_uv_edit_01

ローレゾリューションの岩のモデルに対して、ベイクしたテクスチャをマッピングできるようUVを展開します。

作業には「UV編集」レイアウトを使用します。

このレイアウトにはUV編集のためのツールが集約されており、UV編集の作業を集中して行うことができます。


retopology_uv_edit_02

アイテムリストでローレゾリューションの岩のモデルを選択し、リストにあるUVマップの「新規マップ」をクリックします。


retopology_uv_edit_03

UVマップの名称を入力し、OKボタンをクリックするとUVマップが新しく作成されます。このUVマップにローレゾリューションの岩のモデルのUVを展開します。


retopology_uv_edit_04

今回のUV展開には「アンラップ」ツールを使用します。まず3DビューポートでUVのシームとなるエッジを選択します。


retopology_uv_edit_05

「アンラップ」ツールを起動させてUVビューをクリックすると、自動的にUVが展開されます。赤い部分はUVが重なっている部分です。「アンラップ」ツールのプロパティ「反復回数」の値を調整します。


retopology_uv_edit_06

「反復回数」の値の調整で重なりの無いきれいなUVマップを作成することができました。今回はこれでOKとします。もし、もっと細かくUVを調整する場合には、このレイアウトにある様々なツールを使ってUVを編集するとよいでしょう。


モデルの準備が整いましたので、次はこのモデルへカラーマップや法線マップをベイクします。


モーフマップの作成

ベイクを行う前に、ノーマルマップがきれいに出力されるようケージとなるモーフマップを用意します。

retopology_morph_push_01

ここからの作業はすべてゲームツールレイアウトで行います。


retopology_morph_push_02

アイテムリストでローレゾリューションのメッシュアイテムを選択し、リストにあるモーフマップから「新規マップ」をクリックします。



retopology_morph_push_03

表示されるダイアログボックスでモーフマップの名称を設定してOKボタンをクリックすると、ケージ用のモーフマップが作成されます。


retopology_morph_push_04

ウィンドウ左の「頂点マップ」タブにある「モーフプッシュツール」をクリックして起動させます。

「モーフプッシュツール」を使うと、ベイクの際の距離を視覚的に確認しながら設定することができます。


retopology_morph_push_07

3Dビューポートを左右にドラッグすると、モーフプッシュツールの「距離」が増減してポリゴンの法線方向に押し出されるようなモーフを作成することができます。

モーフを適用したモデルが元のハイレゾリューションのモデルを覆うくらいの大きさになるよう調整します。


retopology_morph_push_05

もしベイクするモデルがもっと複雑でモーフの様子が分かりにくいような場合には、「ケージビュー設定」を調整して見やすい表示にしましょう

「ケージビュー追加」ボタンをクリックします。


「ケージビュー設定」ボタンをクリックし、パネルで細かい表示の設定を調整します。

retopology_morph_push_06


retopology_morph_push_08

最後の準備として、ローレゾリューションのモデルにマテリアルグループを作っておきます。このマテリアルグループの中にベイクで生成されるテクスチャが入ります。

これで準備完了です。


ベイク

それでは最後にベイクウィザードを使ってハイレゾリューションのモデルからローレゾリューションのモデルにテクスチャベイクします。

retopology_bake_wizard_01

ゲームツールレイアウトのベイクウィザードを起動し、通常のテクスチャベイクと同じように設定をおこないます。


retopology_bake_wizard_02

このステップでのポイントは「UV」、「ケージ」、「ターゲットマテリアル」です。

UVはローレゾリューションのモデルのUVマップを指定し、ケージは先程作成したモーフマップを指定します。

ターゲットマテリアルは、出力したテクスチャの反映先なので、ローレゾリューションのマテリアルグループを指定します。

設定が終わったら、次のステップへ進みます。


retopology_bake_wizard_03

このステップでは、ソースとターゲットを指定します。

今回は、ハイレゾリューションからローレゾリューションへのベイクなので

ソース:ハイレゾリューションのメッシュアイテム

ターゲット:ローレゾリューションのメッシュアイテム

となるようチェックして、次のステップへ進みます。


retopology_bake_wizard_04

このステップは既に用意されているレンダー出力を用いてベイクする要素を指定する工程ですが、それは次のステップでも選択できるので今回は何も指定せず次に進みます。


retopology_bake_wizard_05

ここではベイクするテクスチャを指定します。今回は「ディフューズの色」と「法線」を書き出したいので、「テクスチャ出力を追加」からそれぞれ選択して追加します。

設定が終わったら、「ベイクのみ」をクリックしてベイクを実行します。


レンダリングが始まり、ハイレゾリューションモデルの表面がローレゾリューションモデルへベイクされます。

retopology_bake_wizard_06


レンダリングが終わったら、シェーダーツリーを見てみましょう。 ローレゾリューションのマテリアルグループに新たにテクスチャが読み込まれているのが確認できます。

retopology_bake_wizard_07

このようにベイクウィザードを使えば、ハイレゾリューションのモデルからローレゾリューションのモデルへのテクスチャベイクも簡単に行うことができます。


ベイクアイテム

retopology_bake_item_01

一つのゲームの中で使用されるアセットは非常に数が多く、別のアセット用のモデルを同じ設定でベイクしたり、同じモデルに対して設定を調整しながらベイクしたい場合もあるでしょう。

ベイクウィザードで行った一連の設定はベイクアイテムとして保存することができ、何度でも再利用できます。

「ベイクのみ」ボタンを長押しするか右クリックするとポップアップメニューが表示されます。「ベイクアイテムの作成のみ」をクリックして実行します。


retopology_bake_item_02

するとシェーダーツリーに「Bake Item」が作成され、プロパティから先ほどベイクウィザードで設定した項目にアクセスすることができます。

このベイクアイテムを選択してプロパティの「選択をベイク」または「全てをベイク」をクリックするだけで、同じ設定でテクスチャベイクを行えます。


今回は具体的なワークフローの中でどのようにベイク機能(ベイクウィザード)を利用するのかを紹介しました。

次回はベイク先となるローレゾリューションモデルの、UV展開するためのツールを詳しく紹介したいと思います。

ではでは

profile_kaleid_takano2

高野 怜大

2002年から GameAsset、VideoPromotion をはじめとする各種コンテンツの3DCG製作、ディレクションを担当。

代表参加作品
「ファンタシースターオンライン2 ジ アニメーション (c)SEGA」
「HEXA GEAR(ヘキサギア)」コトブキヤ 新プラモデルシリーズプロモーション映像
モーターショーなど各種展示会映像
著書
「2.5Dアニメーション」「やってはいけないCG制作」他

株式会社コラット

PAGE TOP
MODO is a registered trademark of The Foundry, in the USA and/or other countries.
All products or brand names mentioned are trademarks or registered trademarks of their respective holders.