学べること#
スカルプトのディテールを軽量メッシュにベイクし、その上にPigmentでPBRマテリアルを作り上げます。ここでようやく、プロップは灰色の粘土のような見た目を脱し、本物らしいオブジェクトに見え始めます。
始める前に#
- Retopoでクリーンなトポロジーを再構築するを終えておいてください。密なスカルプトと軽量なクアッドメッシュ、両方のメッシュが必要です。
- Pigmentは支援が必要なモジュールです。WebGL上で動作します。
- 知っておくと役立つこと:PBRマテリアルは1枚の画像ではなく、複数のチャンネルの集合です。PigmentはbaseColor、roughness、metallic、normal、height、ao、emissiveの、ちょうど7つを扱います。
手順#
-
RetopoからSend to Pigmentで軽量メッシュをPigmentに持ち込むか、
.glb、.gltf、.objをインポートします。 -
ハイポリのディテールをローポリにベイクします。Bakerを開き、スカルプトをハイポリとして読み込み、Bake Typeを選んで実行します。ハイポリが読み込まれるとボタンはBake from High-Polyという表示になり、Bake Allはチェックしたタイプをまとめて実行します。
ヒント: ベイカーには12種類のタイプがあります。ノーマルとAOが見た目のほとんどを担います。カーバチャーとシックネスはそれ単体ではあまり目立ちませんが、手順6のマスクジェネレーターがこれらを読み取るので、こちらもベイクしておきましょう。
-
モデル上でベイクされたノーマルマップを確認します。Sculptで刻んだクリースはすべて、そのジオメトリを持たないメッシュ上でも読み取れるはずです。もしクリースが見当たらなければ、それはおそらくベイクするには繊細すぎたということです。
-
ベースとしてフィルレイヤーを追加します。フィルレイヤーはモデル全体を1組のチャンネル値で覆うため、何もない表面ではなく、一貫した出発点が得られます。
-
マテリアルのベース値を設定します。岩はラフでノンメタルな表面なので、ラフネスを高くし、メタリックはゼロのままにします。
警告: PBRにおいてメタリックはほぼ二択の値です。現実のサーフェスは金属かそうでないかのどちらかです。中間的な値は、ほとんどの照明のもとで不自然に見えます。
-
摩耗表現のために2枚目のレイヤーを追加し、手描きではなく生成マスクで駆動させます。エッジ摩耗とカーバチャーのジェネレーターは、手順2でベイクしたマップを使って、プロップの露出したエッジを自動的に見つけ出します。
ヒント: ここでカーバチャーをベイクしたことが役立つ場面です。ジェネレーターがすべてのエッジを見つける作業を肩代わりしてくれます。彫刻された岩でこれを手作業でやろうとすると長い時間がかかります。
-
アンビエントオクルージョンや汚れのジェネレーターで、くぼみに汚れを加えます。エッジの摩耗とくぼみの汚れこそが、表面を使い込まれたものに見せる要素のほとんどです。
-
すぐ使える出発点としてSmart Materialsを眺めてみましょう。それぞれ独自のレイヤースタックとマスクを備えており、一から組み立てる代わりに、適用してから調整できます。
-
手描きは、シミ、欠けた角、ジェネレーターでは推測できない色のばらつきなど、本当に必要な箇所だけに留めます。
-
テクスチャセットを書き出します。PigmentにはUnity Standard、Unreal Engine、Blender/Cycles、Substance Painter、Godot 4、V-Ray向け、そしてカスタム用のExport Presetが用意されているので、チャンネルを1つずつ書き出すのではなく、目的に合ったものを選びましょう。
結果#
プロップは今や完全なPBRマテリアルをまとっています。ベイクされたサーフェスディテール、説得力のあるベース、然るべき場所のエッジ摩耗と汚れです。あとはライティングを当てるだけです。
さらに進むには#
- パイプラインの次のステップ:Renderでプロップにライトを当てるか、そのままEngineに持ち込む。
- 曲面にテクスチャがうまく収まらないときは、投影モード(トリプラナー、平面、円柱、球面)を試してみましょう。
- レイヤースタックに慣れてきたら、マテリアルのノードグラフも試してみましょう。