このチュートリアルでは、PBRとは何か、SubstanceでPBR Materialを定義するために基本的なTexturesがどのように使用されるのか、そして最も重要な点として、それらがどのように連携して機能するのかを見ていきます。



動画の書き起こし

こんにちは、皆さん! この動画を見ているということは、Substance Painter が 3D モデル用のマテリアルやテクスチャを作成できるソフトウェアであることを、すでにご存じかもしれません。3D モデルファイルを Substance Painter に読み込み、ここでテクスチャ画像を作成してジオメトリにマッピングし、その画像を書き出すことで、テクスチャを含んだオブジェクトを Unity や Unreal のようなゲームエンジンで使用してビデオゲームや VR、AR アプリケーションを制作したり、Blender 3D、3D Studio MAX、Maya のようなアニメーションおよびレンダリングソフトウェアで使用したり、さらに Sketchfab のようなインターネット上のリアルタイム 3D ビジュアライゼーションシステムなど、さまざまな用途に活用できます。

続ける前に、というよりもプログラムのインターフェースや新しい空の Substance Painter プロジェクトへの 3D モデルの読み込みについて説明する前に、まず「マテリアル」とは何かを説明する必要があります。

マテリアルとは、3D オブジェクトに適用された際に、そのオブジェクトが仮想シーン内で照明を受け、レンダリングされるときにどのように振る舞うかを定義する情報の集合です。レンダリング、つまり画面上に表示される最終画像は、静止画であってもリアルタイムであっても、仮想シーン内における光とサーフェスの相互作用によって生み出されます。一方には、仮想ライトやライティング環境テクスチャなど、さまざまな種類の光源があります。そしてもう一方には、オブジェクトのサーフェス、あるいは場合によってはボリュームがあります。この初期結果に対して、後からポストプロダクションエフェクトを追加することもできますが、その名前の通り、これらはレンダリング処理の後に適用されるエフェクトやフィルターです。

さて、マテリアルは情報の集合だということですが、ではどのような情報なのでしょうか?

レンダリングを生成するために使用される理論モデル、つまり「スキーム」「方式」「パラダイム」に応じて、さまざまな種類の情報を指定できます。それぞれに固有の特性があります。特に Substance Painter では、Physically Based Rendering、つまり PBR モデルに従ったマテリアルを定義できます。場合によっては PBS という略称を見ることもありますが、これは Physically Based Shading の略で、オブジェクト表面のシェーディングを指します。

このチュートリアルでは、PBR 理論そのものについて深く掘り下げることはしません。それについては別の専用チュートリアルで扱います。ここでは、Substance において PBR マテリアルを定義するために使用される基本的なテクスチャと、それらがどのように連携して動作するかを見ていきます。これらの概念を理解することは、マテリアル情報チャンネルのパラメータを手探りで変更するのではなく、自信を持ってマテリアルを作成およびカスタマイズするために非常に重要です。

この動画が理論的になりすぎないように、PBR の基本要素と、それが Substance 内でどのように実装されているかを、すでにこのソフトウェアでマテリアルとテクスチャが作成されている 3D モデルを使って説明していきます。

Physically Based Rendering というパラダイムは、その名前の通り物理的アプローチに基づいており、現実世界での物体の振る舞いを参考にしています。

マテリアルは 2 種類のワークフローで定義できます。Metallic と Specular です。

Metallic ワークフローでは、サーフェスを金属と非金属に分け、その区別に基づいて他のすべてのチャンネルの振る舞いが変化します。

一方、Specular ワークフローでは、スペキュラー反射の強度や色味を定義することで、オブジェクト表面と相互作用する光がどのように振る舞うかを決定します。

特に、この例で使用している PBR Metallic ワークフローでは、サーフェスの見た目は複数の特性によって決定されます。その中でも特に重要なのは次の要素です。

まずその材質の性質です。金属なのか、それとも誘電体とも呼ばれる非金属なのかを区別します。

次に Base Color です。金属オブジェクトでは光の反射強度を定義し、非金属オブジェクトではライティング効果を含まない実際の表面色を表します。

そしてサーフェスの滑らかさ、つまり Glossiness、あるいはその逆である Roughness のレベルです。

現実世界で観察されるこれらの特性に加えて、仮想世界で便利な追加機能も利用されます。たとえば Normal Map や Height Map のような特定のテクスチャ画像を使用することで、実際にはジオメトリにモデリングしていないディテールをシミュレートできます。これにより頂点、エッジ、フェイス数を削減でき、特にビデオゲームやその他のリアルタイムアプリケーションでのレンダリング負荷を軽減できます。

この動画で使用している木製の樽を使って、単一のオブジェクト内で、こうした基本情報がどのようにテクスチャへ変換され、Substance マテリアル内で組み合わされるのかを見ていきます。

3D View でオブジェクトに適用された完全なマテリアルのプレビューを表示するには、Material の M キーを押すか、3D View 右上のドロップダウンメニューから Material を選択します。

ご覧の通り、鉄でできた金属パーツと木製の非金属パーツの両方があります。これにより、PBR パラダイムにおいてこれら 2 種類のマテリアルがどのように処理されるか、特に Base Color の定義やスペキュラー反射の色に関する違いを確認できます。

個別の情報チャンネル、つまりオブジェクト表面に適用されている各種テクスチャ画像を表示するには、C キーを複数回押すか、3D View 右上のドロップダウンメニューから目的のチャンネルを選択します。

まず Metallic チャンネルから見ていきましょう。このチャンネルは、グレースケール画像を使って、マテリアルのどの部分を金属として扱い、どの部分を非金属として扱うかを定義します。白は純粋な金属、黒は純粋な非金属を表します。この樽ではグレー部分もありますが、これは金属パーツに使用している「Iron Old」というマテリアルが、埃や錆で覆われた古い鉄を表現しているためで、いわば「金属らしさ」が低下しているからです。

一方、木製部分は完全に黒く表示されており、期待通り非金属であることを意味しています。

次に、2 番目の重要な PBR チャンネルである Base Color を見ていきましょう。

この情報チャンネルでは、ライティングやシェーディング効果を含まないカラー Texture を使用して、オブジェクトのベースカラーが表示されています。いわば「フラットな」テクスチャです。金属部分と木製部分の色の強度は似ています。もちろん色自体は異なりますが、視覚的にはまったく別の物質には見えません。

その理由は、シェーディングやレンダリング時の区別が Metallic チャンネルとその関連 Texture によって Substance 側で行われているからです。この Texture によって、サーフェスが金属か非金属かに応じて光の反射を異なる方法で処理する必要があることが Substance に伝えられます。金属部分の Base Color に含まれるグレー値は、光の反射強度と、反射に適用される可能性のある色味を定義しています。

Iron Old マテリアルは「汚れた」マテリアルなので効果はあまり目立ちませんが、木材マテリアルと金属マテリアルの間に Substance の「Aluminium Pure」マテリアルを挿入し、その下の Iron Old マテリアルを無効化すると、各チャンネルや最終結果がどのように変化するかを見てください。

最終結果、つまりすべての情報チャンネルを組み合わせた Material ビューでは、金属部分が以前よりもはるかに反射的になっています。

Metallic チャンネルでは、金属部分は純白になっており、完全に純粋な金属を表しています。

Base Color チャンネルでは、金属部分はほぼ白になっています。これは、その領域のスペキュラー反射強度が最大になり、色味も付かないことを意味しています。

では、Aluminium Pure の Metallic パラメータを 0 に設定するとどうなるか見てみましょう。金属バンドは白くなり、以前のように反射しなくなり、白いプラスチックのように見えます。

次に Metallic を 1 に戻し、Base Color の値を下げてみます。するとバンドは金属特有の反射性を維持したまま、徐々に暗くなっていきます。

ここが重要なポイントです。このような Metallic ワークフローでは、オブジェクトの Base Color だけではサーフェスの反射性を定義するには不十分です。なぜなら、それが金属かどうかも指定する必要があるからです。金属では Base Color の強度が光やスペキュラー反射の強度にもなります。一方、非金属では Base Color は木製部分のように実際の表面色のみを定義します。

3 番目の重要なマテリアルチャンネルである Roughness の効果をお見せするために、Aluminium Pure マテリアルは有効のままにしておきます。

Roughness は滑らかさの逆であり、Metallic マップと同じくグレースケール画像で表現されます。白は最大の粗さ、黒は完全に滑らかで完全反射するサーフェスを表します。実際、完璧な鏡は、白色の Metallic マテリアルに Roughness を 0 に設定することで PBR 内で実装されます。今まさに画面で示している通りです。

Roughness 値を上げると、サーフェスは滑らかさを失い、スペキュラー反射はより拡散し、ある意味ぼやけた状態になります。これは金属にも非金属にも共通して適用されます。

それでは Aluminium Pure マテリアルを削除し、Iron Old を再度有効化して元のプロジェクト構成に戻します。そして、Computer Graphics において、ジオメトリに実際にモデリングせずにレンダリング時にサーフェスディテールを追加できる追加情報を見ていきます。

3D View 右上のセレクターから「Normal + Height + Mesh」オプションを選択します。

このビューでは、オブジェクト表面上のディテール表現に影響を与える複数の情報チャンネルが組み合わさって表示されます。これらのディテールがなければ、オブジェクト表面は滑らかすぎて説得力に欠けて見えてしまいます。特に木製部分ではその違いが顕著です。

特に画面上の例では、表面ディテールは主に「Fibers」レイヤーによって木製部分に実装されています。これらのディテールがある場合とない場合の違いを確認するには、Layers パネルで対応するレイヤーを有効化または無効化しながら、「Normal + Height + Mesh」モードと「Material」モードの両方で変化を観察してください。オブジェクトを正面からではなく側面から照らしたときのほうが違いはより分かりやすくなります。

同様の効果は金属部分にも存在しており、2 つの Iron Old レイヤー、Iron と Edges の Height および Normal 情報チャンネルによって実装されています。ご覧の通り、これらの Texture によってサーフェスははるかに魅力的になります。これがなければ、滑らかすぎて平坦に見え、不自然になってしまいます。

マテリアルとは、グレースケール画像やカラー画像として実装された情報の集合であり、それらがオブジェクト表面へマッピングされ、今回の場合は PBR Metallic パラダイムという特定の方式に従って組み合わされるものです。この情報によって、オブジェクト表面と光源がどのように相互作用し、最終画像を生成するかが定義されます。

PBR は、現実世界で観察されるマテリアル特性に基づいており、それらの特性を表現するテクスチャを適切に組み合わせることで Computer Graphics 上に実装されています。

PBR 手法には Metallic と Specular の 2 種類のワークフローがあります。このチュートリアルでは Metallic ワークフローの例を見てきました。

PBR Metallic ワークフローでは、まずグレースケール Texture を使って、サーフェスのどの部分が金属でどの部分が非金属かを定義します。

金属部分では、カラー Texture である Base Color 情報が、スペキュラー反射の強度や色味を定義します。一方、非金属部分では、Base Color はライティングやシェーディング効果を含まない実際の表面色のみを表します。

Roughness はサーフェスの粗さの度合いを示します。Roughness 値が低い場合、反射は非常にシャープで明確になります。そして白い Base Color を持つ金属サーフェスでは、マテリアルは完璧な鏡のように振る舞います。Roughness 値が高くなるにつれて、光の反射は徐々に拡散し、ぼやけていきます。Roughness は Glossiness の逆です。

カラー画像である Normal Texture と、特定のグレースケール画像である Height Map を使用することで、オブジェクト表示やレンダリング時に表面ディテールの存在をシミュレートできます。これらはジオメトリ数を削減し、計算リソースを節約するために役立ちます。特にビデオゲームや VR、AR アプリケーションのようなリアルタイム用途で重要です。

それでは、Substance Painter における PBR、マテリアル、テクスチャの基本要素に関するこの導入チュートリアルはここまでにします。今回は最初の 4 つの情報チャンネルを扱いました。今後は Height や Ambient Occlusion のような個別チャンネルを分析するチュートリアルや、ケースごとに複数チャンネルがどのように組み合わさって特定の効果を生み出すかを解説するチュートリアルも作成していく予定です。

YouTube の動画コメント欄で、質問や感想、リクエストなどをぜひ送ってください。それではまた次回お会いしましょう!

チュートリアルを検索

フレーズ、または複数のキーワードをカンマで区切って入力してください。

Francesco Milaneseによる3Dモデル、チュートリアル、コンピューターグラフィックス関連の資料を掲載しています。3Dモデルの使用ライセンスは、各モデルのページに掲載されているリンク先の外部ストアで購入できます。ご利用には、適用されるライセンス条件が適用されます。 Francesco Milanese — イタリアVAT番号:06321250877。お問い合わせ:info@francescomilanese.com


プライバシー及びクッキーの使用に関する拡張情報の通知