32
総合PBRガイド by Allegorithmic - vol. 2 光と物質:PBRのテクスチャを作成するための実用的なガイドライン カバー:Gaëtan Lassage、著:Wes McDermott

『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR textures 』私家訳版

  • Upload
    -

  • View
    10.290

  • Download
    1

Embed Size (px)

Citation preview

総合PBRガイド by Allegorithmic - vol. 2 光と物質:PBRのテクスチャを作成するための実用的なガイドライン カバー:Gaëtan Lassage、著:Wes McDermott

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 1

目次

技術編集:Nicolas Wirrmann および Jeremie Noguer コピー:Alexandre Bagard

●PBRとは何か? - 3  どんな利点があるか? - 3  アーティストにとってどんな意味があるか? - 3 ●メタル/ラフネス(金属/荒さ)ワークフロー - 3  不導体F0値 - 5  ベースカラー - 5   作成のガイドライン - 6  メタリック - 7   作成のガイドライン - 8    生の金属(ローメタル) - 8    腐食もしくは不導体の層(レイヤー) - 9  ラフネス(粗さ) - 10   作成のガイドライン - 11  解像度とテクセル密度 - 11   作成のガイドライン - 12  メタル/ラフネスワークフロー  の長所と短所 - 12 ●スペキュラ/グロッシネスワークフロー - 13  ディフューズ - 13   作成のガイドライン - 13  スペキュラ(鏡面反射) - 14   作成のガイドライン - 14    生の金属(ローメタル) - 14    不導体 - 15  グロッシネス(光沢度) - 16   作成のガイドライン - 16  解像度とテクセル密度 - 16   作成のガイドライン - 17  スペキュラ/グロッシネスワークフロー  の長所と短所 ‒17 ●両方のワークフローに共通するマップ - 18  アンビエントオクルージョン - 18   アンビエントオクルージョンの作成 -18  ハイト - 19   ハイトの作成 - 19  ノーマル(法線) - 21   ノーマル(法線)の作成 - 21

●Substance PBRユーティリティ - 22  マテリアル - 22   Bitmap2Material3 - 22   PBRベースのマテリアル - 22   PBR Substance マテリアル - 23  反射率値 - 23   不導体F0値 - 23   金属反射率 - 23  コレクション(補正) - 24   PBR メタル/ラフネス検証 - 24   PBRセーフカラー - 25  コンバージョン(変換) - 25   メタル/ラフネスの長所と短所 - 25 ●付録 - チャート - 26  サーフェイスはメタルか? - 26  反射率値 - 27  正しいもの/正しくないものの比較検討 - 28

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 2

光と物質 PBRテクスチャを作成するための実用的なガイドライン 物理ベースレンダリング(PBR)は、厳しい基準というよりももっと方法論よりのものと考えてもよい。具体的な原則とガイドラインが存在するが、それは真のスタンダードと呼ばれるものでないので、様々な実装の仕方があり得る。特に使用されているマップのタイプ、すなわち、ワークフローやBRDF、ラフネス/グロッシネス(粗さ/光沢度)のデータの値の表し方などにその違いが顕著に表れているが、それらは実装をカスタマイズすることでリマッピングできる程度のものだ。たとえマップ名が変わってしまうような実装があったとしても、基本的な使い方は同様だ。

このガイドでは、図01に示されているメタル/ラフネス(金属/粗さ)とスペキュラ/グロッシネス(鏡面/光沢)という、二つの最も一般的なワークフローについて議論を進めていこう。Substance Designer、Substance PainterおよびBitmap2Material 3からなる、PBRマップをオーサリングするSubstanceツールセットは、両方のワークフローをサポートする。メタル/ラフネス(金属/粗さ)およびスペキュラ/グロッシネス(鏡面/光沢)のためのSubstance PBRシェーダはGGX BRDFを使用しており、いかなるラフネス/グロッシネス(粗さ/光沢)値のリマッピングも利用しない。しかしながら、もしカスタムリマッピングが必要な場合は、Substanceマテリアルを使うことで簡単に実現できる。さらにSubstanceツールセットの中ではカスタムシェーダがサポートされているから、どんなにカスタマイズされたパイプラインに対してもSubstanceを適応させることができる。

ここで強調しておきたいのは、二つのワークフローにはその実装において各々長所と短所を持っているから、一方のワークフローが必ずしももう一方のものよりも遥かに優れているということではないということだ。本当に重要なことは、あなた方自身がPBRの背後にある基本原則を十分に理解していることだ。コンセプトとガイドラインこそが、あなた方が作るPBRマップを正確なものにするのであって、決してそのワークフローそれ自体ではないということだ。同じデータをあらわしているワークフローでも、違ったやり方でそのデータを実装しているのだ。

第一巻である「総合PBRガイド」においては、技術的、理論的な観点からPBRを定義した。この第二巻では、PBRテクスチャをオーサリングする際の現実的な適用応について議論し、第一巻で打ち立てた基礎に基づく一連のガイドラインを提供する。まずはアーティスティックな観点から、PBRを再定義することからはじめよう。そこから、メタル/ラフネス(金属/粗さ)ワークフローを論じることで、その原則とガイドラインを導き出そう。その後で、スペキュラ/グロッシネス(鏡面/光沢)ワークフローのフォローアップを、オーサリング方法の違いという観点から詳しく述べてみよう。結果、両方のワークフローを通しで読むことで、PBRテクスチャをオーサリングするための総合的なガイドラインの全体像をつかむことができる。

図01

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 3

メタル/ラフネス(金属/荒さ)ワークフローは、PBRシェーダーのサンプラーにテクスチャとしてセットされるチャンネル群として定義される。図02に示すように、メタル/ラフネス(金属/粗さ)ワークフローのために具体的に使われるマップは、ベースカラー、メタリックおよびラフネスである。私たちは以下のサブセクションで、これらマップタイプの各々について論じることにする。図03に示すように視差(parallax)マッピングのために、PBRシェーダはアンビエントオクルージョン、ノーマル(法線)およびハイト(高さ)マップを使うこともある。これらのマップタイプは、両方のワークフローに共通するものだが、これらについては「両方のワークフローに共通マップ」で説明をしよう。

PBRとは何か? 物理ベースレンダリング(PBR)とは、光とサーフェイスの相互作用のより正確な表現を提供するシェーディングおよびレンダリング手法である。それは、物理ベースレンダリング(PBR)、または物理ベースシェーディング(PBS)と呼ぶことができる。パイプラインのいずれの側面が論じられているかにもよるが、通常PBSといえば、シェーディング概念について特化した概念であり、PBRといえばレンダリングおよびライティング面について特化した概念である。しかしながら、二つの用語が共に表現しているのは、物理的に正確という観点からアセットを表現するプロセスそのものである。

どんな利点があるか? 芸術的および生産効率的な考え方から、PBRの利点は以下のようにあげることができる。

アーティストにとってどんな意味があるか? アーティストとして私たちは、あるサーフェイスの属性を表現するマップについて違う方法で考える必要がある。従うべきルールやガイドラインに沿った新しいタイプのマップがある。 伝統的なレンダリングワークフローから、ディフューズ(拡散反射)とスペキュラ(鏡面反射)マップの概念を捨てる必要がある。これらのマップは、マテリアルと光との相互作用を近似するために用いられてきた、ある種の回避策のようなものであるからだ。コンピュータハードウェアとレンダリング技術の進歩の結果として、わたし達は今やより正確に光の物理現象をシミュレートすることが可能となった。 PBRでは、エネルギー保存の法則とBRDFに基づいて、シェーダーが重い物理学的リフティングを処理するので、わたし達アーティストは、物理学的な原理をガイドとしてマップを作成すればよい。それにはマテリアルの様々な値を推測するという作業が省かれているので、わたし達はアーティストとして、テクスチャリング作業のもっとクリエイティブな面に時間を費やすことが可能となる。正しくガイドラインに沿って、マップを正確にオーサリングすることは重要であるが、だからと言ってわたし達のアーティストとしての直感を無視せよという意味ではない。実際に、芸術的な視点こそが、入念に創り上げられた細部と表現を通じてマテリアルに個性を与え、それが内に秘めた物語を伝えてくれるのだ。重要なことは、必要以上に物理学に囚われないことだ。わたし達がより物理的に正確な環境で作業しているからといって、わたし達がずっと培ってきたアートを行ってはいけないという意味ではない。たとえば、ディズニーの物理ベース反射モデルは、厳密な物理的モデルにではなく、よりアートディレクション向けに作業しやすいという意味で、「理にかなった」アプローチとして設計されている。同じように、わたし達も原則を知り、ガイドラインの活用の仕方を知らねばならないが、決してその奴隷であってはならない。

図02

1.物理的に正確な数式に基づいて方法論とアルゴリズムが定義されているので、鏡面性のようなサーフェイスの属性   をオーサリングする際に、推測を排除しつつ現実味のあるアセットをより簡単に作り上げることができる。 2.アセットが、あらゆるライティング条件下で正確に見えるようになる。 3.異なるアーティスト間においても、一貫性のあるアートワークを作成するためのワークフローを提供する。

アーティストとしてわたし達は、あるサーフェイスの属性を描写するマップについて今までとは違った考え方をする必要がある。新しいマップタイプには、従うべきルールやガイドラインが存在する。

メタル/ラフネス(金属/荒さ)ワークフロー

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 4

メタル/ラフネス(金属/粗さ)ワークフローにおいて、金属の反射率の値は、絶縁体の反射色と、BRDFによって処理される反射率と一緒にベースカラーマップ上に配置される。使われているメタリック(金属)マップは、ベースカラーマップ上にある金属部分と絶縁体部分のデータを区別するためのマスクとして機能する。不導体のF0値は、マニュアルではいじらず、シェーダに処理させる。図04に示すように、メタルマップ中の黒い部分をシェーダーは、ベースカラーマップ中の対応する

金属のための反射率の値は、絶縁体の反射色と一緒にベースカラーマップに配置される

メタル/ラフネス(金属/粗さ)ワークフローでは、エネルギー保存の法則を破ることはできない。ディフューズ(反射色)とスペキュラ(鏡面反射)のバランスは、メタリックマスクを使って調整できるが、それらのディフューズやスペキュラをいくら組み合わせても、最初に受けた光よりも強力な反射光や屈折光を設定することはできない。

図04

図03

領域に対して、不導体かつ反射率の値が4%(0.04)として解釈する。第一巻で論じたように、4%という値は、一般的な不導体マテリアルのほとんどをカバーしている。不導体F0値、金属反射率、アルベドカラーの輝度のような全ての値が、実際に測定されたデータから導き出されていることが重要である。各々のマップタイプを見ていく際に、測定データに基づくものとしてガイドラインは論じられることになる。  第一巻で、わたし達はエネルギー保存の概念について説明したが、それによれば光は、あるサーフェイスに衝突する以前に持っていた「強さ」以上の強さで、サーフェイスから反射することはない。実装面では、エネルギー保存のコントロールは主にシェーダーが制御するが、それはSubstanceの場合も同様である。

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 5

不導体F0値 SubstanceツールセットやUnreal Engine 4に見られるような、ある種のメタル/ラフネス(金属/荒さ)の実装にはスペキュラコントロールがあるが、それを使うことでアーティストは不導体のコンスタントなF0値を変化させることができる。Substanceでは、このアウトプットには「スペキュラレベル」(specularLevel)のラベルが付いているが、それはメタル/ラフネス(金属/荒さ)PBRシェーダー内のテクスチャサンプラーが提供するものだ。図05に示すように、それは0.0から0.08までの範囲で表される。ある不導体のF0を手動で設定する必要がある場合は、図06に示すように、Substance Designer内のSubstanceグラフ中の「スペキュラレベル」(specularLevel)の出力を使って設定することができる。スペキュラ/グロッシネス(鏡面/光沢度)ワークフローでも、不導体のF0に関して詳しく検討することにしよう。

ベースカラーマップは、図07に示すように不導体の反射カラーと金属の反射率の値という2種類のデータを内蔵できるRGBマップである。第一巻で説明したように、不導体が示す色は反射された電磁波を表している。反射率の値が含まれるのは、メタリックマップ中でメタル(金属)として示されている領域である。

もしある不導体のF0を手動で設定する必要がある時には、Substance Designer内の 「スペキュラレベル」(specularLevel)の出力を使って設定することができる

図05

図06

ベースカラー(sRGB基準のRGB)

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 6

図09

図07

図08

ベースカラーマップは、色調の面でやや平坦なもの、すなわち従来のディフューズマップよりも低いコントラストのものとして考えることができる。明るくしすぎてもいけなければ、暗くしすぎてもいけない。色調という観点からいえば、物体はわたし達が頭の中で思っているよりも、はるかに淡いものである。この範囲を、石炭を最も暗い材質とし、新鮮な白い雪を最も明るい材質とすることで視覚化できる。例えば、確かに石炭は暗いが、それは0.0の黒ではない。わたし達が選ぶカラー値は、ある輝度の範囲内に収まっている必要がある。輝度の範囲に関しては、私は主に不導体の反射色を参照している。図08では、ダート(dirt/汚れ)値が正確な輝度の範囲を下回った例を見ることができる。暗めの値に関して、sRGBで30〜50を下回るような値をとるべきではない。

作成のガイドライン

図09に示すように、アンビエントオクルージョンチャンネルのみに関してシェーダーがこの程度の詳細表示しかできないような場合には、マイクロオクルージョンを足してもよいという例外はある。しかしマイクロオクルージョンがマップに足されている場合でも、それは依然として輝度の範囲によって支配されている必要がある。

暗めの値の範囲としては、sRGB 30で比較的緩めの値であり、sRGB 50でかなり厳しめの値となっている。明るい色に関しては、全ての値がsRGBで240よりも上の値をとるべきではない。

ベースカラーは不導体マテリアルの反射光のデータを含んでいるので、故にアンビエントオクルージョンのようなライティング情報を欠いているべきであると述べた。

http://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/

金属の反射率の値を示すマップの値は、現実世界の測定データから得るべきである。これらの値は鏡面反射で70〜100%の範囲にあり、sRGBで180〜255の範囲にマッピングすることができる。Substance PBRユーティリティの章において、よくあるマテリアルのプリセットF0値を提供するツールについて説明しよう。  またSébastien Lagardeが提供している、メタル/ラフネス(金属/粗さ)のチャートも同様にリソースとしては非常に有用である。

金属の反射率を示す値は、現実世界の測定データ から得るべきである

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 7

1.色は、非金属マテリアルのアルベドと金属の反射率の値で表現する。 2.ベースカラーは、マイクロオクルージョンの例外を除き、ライティング情報を欠いている必要がある。 3.暗い値は、sRGBで30(緩めのレンジ)〜sRGBで50(厳しめのレンジ)を下回ってはいけない。 4.明るい値が、sRGBで240を上回ってはいけない。 5.ローメタル(生の金属)の反射率は、鏡面反射で70〜100%という高い値をとり、sRGBで180〜255程度にマッピングできる。

後述するメタリックの章で読むことになるが、ベースカラーにはまた、金属の反射率の値を含めることができる。汚れや酸化をベースカラーに追加する場合、これが金属の反射率の値を、生のままのメタルで想定している範囲を下回ってしまうことがありうる。汚れや酸化を加える場合は同時にメタリックマップについても考慮されなければならない。従ってこれらの領域は、メタリックマップでは値が引き下げられなければならないが、それはもはや生のままのメタルであるとはみなされていないということを意味しているのである。例として図10では、錆びた金属が不導体として扱われていて、メタリックマップ中では黒に設定されているのがわかるだろう。 同様にメタリックマップは、ベースカラー中のデータがどのように解釈されるべきかシェーダーに指示するためのマスクとして動作する

メタリックマップは、生の金属(ローメタル)をマテリアルとしている領域を示すために定義するために使用する。メタリックマップはグレースケールマップである。同様にそれは、ベースカラー中のデータがどのように解釈されるべきかシェーダーに指示するためのマスクとしても動作する。メタリックマップ中のデータには、現実世界のデータは含まれておらず、それはそのままマテリアルの値として使用される。それはただ単に、ベースカラー中のどの領域が反射色(不導体)として解釈され、そしてどの領域が金属の反射率の値として表されているのか、シェーダーに記述する。メタリックマップにおいて、0.0(黒、すなわちsRGBで0)は非金属(ノンメタル)であることを示し、1.0(白、すなわちsRGBで255)は生の金属(ローメタル)であることを表している。ローメタルとノンメタルを定義するという点で、このメタリックマップは、多くの場合、二値(黒または白、要するに、金属もしくは非金属)となる。実際に、シェーダーがメタルマップの白い部分を確認すると、図11に示すようにシェーダーは、金属の反射率の値を得るための場所として、ベースカラーマップ中の該当する領域をチェックする。

図10

メタリック(リニア基準のグレースケール)

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 8

図12

図11

作成のガイドライン テクスチャ作成に関して、メタルサーフェイスには二つの重要な側面がある。それはその反射率の値が鏡面反射で70〜100%の範囲にまで高く及ぶということと、いくつかの金属は腐食されるということである。作成のガイドラインを議論する際に、これらの二つの側面を個別に見ていくことになる。

金属領域として指定される場所に関しては、反射による照り返しで70~100%の範囲内の反射率を持たねばならない

生の金属(ローメタル)

メタルマップは、0または1、すなわち金属であるか否かに従ってオーサリングされるべきであり、生の研磨された金属の状態を定義するために使用される。一般的な指針としては、メタルマップ中において生の金属を示すグレースケールの範囲は、sRGBで235〜255の範囲で定義される。この範囲内に入る金属領域では、図12に示すように、反射による照り返しで70〜100%の範囲内の反射率を持たねばならない。sRGB値でマッピングすると、180〜255になる。再度強調するが、これらの値は、現実世界での測定データに基づくものである。

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 9

Substance ツールセットを使用することで、ウェザリングエフェクトの作業が簡単になるだけでなく、マルチチャンネルサポートを通じて、各チャンネルにそのエフェクトがどのように伝播するか制御することができる。Substance Designer および Substance Painter を使って、Substanceエフェクトのパラメタを変化させると、Substanceエフェクトによってコントロールされているチャンネルが自動的に調整されるのである。 例えばSubstance Designer では、マテリアルカラーブレンドノードを使うことで、複数のチャンネル間にまたがる汚れのようなエフェクトを適用することができる。マテリアルカラーブレンドでは、図15で示すようにメタリック値のスライダーを調整することで、金属上の汚れレイヤーの効果をコントロールすることができる。

図13

図14

酸化された金属は、不導体、すなわち錆びた金属として扱う必要がある。 同じことが塗装された金属についても当てはまる

腐食もしくは不導体の層(レイヤー)

サーフェイスが風雨にさらされることで、金属はその表面が酸化されてしまったり、ほこりや汚れの層といったその他の環境的外見に埋もれてしまうかもしれない。酸化された金属は、不導体すなわち、錆びた金属として処理する必要がある。同じことが塗装された金属にも当てはまる。例として、図13に示すように、塗装された金属をみてみよう。その金属の塗装の一部にはひっかき傷があり、塗装がはげ落ちている。金属は「生のまま」のメタル(メタリックマップで白で表示される)をむき出しにし、塗装部は不導体のレイヤー(メタリックマップで黒で表示される)となっている。

メタリックマップは、マップ中で遷移するグレー値によって表されることによって、メタルとノンメタルとでブレンドされた状態として表すことができる。重要なのは、メタリックマップがsRGBで235以下のグレー値を持っている場合、続いてベースカラーにおける「生の」金属反射率の値も低くする必要があるということである。例として図14に示すような、汚れの層を考えてみよう。汚れの層の一部は生のメタルの部分によって不明瞭になっているものとする。汚れが不導体であり、メタリックマップが全部白で塗りつぶされてしまっている場合には、ベースカラー中のこれら汚れの領域を、金属の反射率の値として使うとよい。汚れのカラー値は、磨かれた金属を表現するのに必要な70〜100%の反射率の値よりもはるかに低い。汚れが表示されている領域のメタリックマップの値を下げることで、不導体と金属の反射率の値の間で適切なブレンドを作り上げることができる。 汚れ層の不透明度を使って、ベースカラーの反射率の値をどの程度下げたらよいか示すことができる。ここには揺るぎないルールはない。 やっていることは、(導電性の)高反射率のサーフェイスから、(誘電性の)低反射率のサーフェイスに値を動かしているだけだ。動かす度合いはどうとでも変えてよいのである。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 10

図15

1.黒(0.0)は非金属であり、白(1.0)は金属である。酸化や汚れを考慮すると遷移するグレースケールの値もありえる。

2.メタルマップにsRGBで235よりも低い値がある場合には、ベースカラーマップ中の反射率の値を下げる必要がある。

ラフネスマップでは、黒(0.0)は滑らかなサーフェイスを表し、白(1.0)はざらついたサーフェイスを表している。あるサーフェイスの特徴をアーティストが視覚的に決めてしまってよいという点で、ラフネスマップはもっともクリエイティブを発揮できるマップである。要するに、ラフネスマップでは、あるサーフェイスの状態にまつわるストーリーを、好きなように決めてしまってよい。それが置かれている環境はどんなものか?それは今まで大切に扱われてきたのか、それともないがしろにされてきたのか?それは風雨にさらされてきたのか?あるサーフェイスの状態は、それが置かれていた環境について多くのことを伝えてくれる。故に、あなたが創ろうとしているアセットや世界の全体的なデザインについて、それはさらに多くのことを物語ってくれることだろう。 ラフネスには、本当に正しいも、間違っているもない。アーティストがクリエイティブにフルコントロールできる。ラフネスに際しては、まずはノーマル(法線)マップから始めてみるのがよい。ノーマル(法線)マップは、しばしば重要なサーフェイスの詳細情報を含んでいるが、それはラフネスマップでも同じように表現できる。

図16

ラフネス(粗さ)(リニア基準のグレースケール)

ラフネスマップは、図16に示すように光の拡散を引き起こす、サーフェイスの凹凸を記述している。第一巻で説明したように、反射する方向は、サーフェイスの粗さ(ラフネス)に基づいてランダムに変化する。ラフネスは光の方向を変化させるが、光の強度は一定のままである。サーフェイスがラフになればなるほど、ハイライトはより大きく、よりぼやけた見た目になる。滑らかなサーフェイスは鏡面反射の焦点を維持するので、反射する光の総量は同じであっても、見た目はより明るくより強くなる。

vol. 2 - Practical guidelines for creating PBR textures Page 11

1.創造的に、かつ、そのサーフェイスにまつわるストーリーを視覚的に語ること。

メタル/ラフネス(金属/粗さ)ワークフローを使うことの副産物として、図17に示すような、ホワイトエッジのアーティファクトができてしまうことがある。私たちはメタリックワークフローを議論しているが、スペキュラ/グロッシネス(鏡面/光沢度)ワークフローでもこの問題は同様にあらわれる。しかしながらその場合には、図18で示すように効果が逆転してしまう、すなわちホワイトの代わりにブラックのフリンジが表れるのでほぼ見えない。 図19に示すようにこのフリンジが、不導体から大変明るい メタルの領域にマテリアルが移行する領域に対するテクスチャ補間が原因なことは、すぐにわかる。

ドキュメントの解像度とテクセル密度は、エッジアーティファクトの可視性に直接影響を与える。例えば、ハードエッジブラシを使ってメタルとノンメタルの遷移領域を描いても、ドキュメントの解像度が低いと、エッジが柔らかいままとなり、アーティファクトが悪化してしまう。

この低解像度の問題は、ドキュメントの解像度に基づき適切にテクセル密度を提供するように、UVがスケーリングされていないことが原因でもある。図20に示すように、UVにふさわしい良いテクセル密度を使うことが、あらゆるエッジのアーティファクトを最小化するための最善の方法である。図20では、両方のテクスチャセットで同じ2048ピクセルの解像度を使用しているが、右の画像では、テクセル密度が低い悪いUVレイアウトの例となっている。

図17

図18 図19

ドキュメントの解像度とテクセル密度は、エッジアーティファクトの可視性に直接影響を与える

作成のガイドライン

解像度とテクセル密度

メタル/ラフネス(金属/粗さ)では、ベースカラーに金属反射率のとても明るい値が含まれているので、ノンメタルのディフューズカラーとで補間されてしまう。それがホワイトエッジを作り出すのである。スペキュラ/グロッシネス(鏡面/光沢度)では、生の金属(ローメタル)はディフューズカラーを持たないので、ディフューズマップは黒を含むことになる。黒の値は、ノンメタルのディフューズカラーに補間されて、今度はそれがブラックフリンジを生み出す。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 12

1.メタル/ラフネスワークフローにおいて表れるホワイトエッジに影響しているのは、テクセル密度と解像度である。   アーティファクトを最小にするためには、使っているUVがドキュメントの解像度に合わせて、適切な密度を与えている   か確認する必要がある。

1.オーサリングをより簡単にしつつ、正確でない不導体F0データを与えることで発生する誤差を受けにくくすることができる。 2.メタリックとラフネスの両方がグレースケールマップであることからわかるように、テクスチャメモリを節約できる。 3.より広く採用されているワークフローとみなしてよい。

短所 1.マップ作成において不導体F0をコントロールしない。とはいっても、多くの実装にはスペキュラコントロールがあり、   基本となる4%値を上書きすることができる。 2.解像度が低い場合には特にエッジのアーティファクトがより顕著になる。

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

図20

作成のガイドライン

スペキュラ(鏡面反射) すべての不導体マテリアルのF0は、通常はメタル/ラフネス(金属/粗さ)ワークフローにおける、リニアで0.04すなわち4%の反射率に設定される。すでに述べたように、いくつかの実装では、スペキュラチャンネルを提供することで、この設定を上書きすることができる。Substanceでは、これは、スペキュラレベル(specularLevel)チャンネルと呼ばれる。マップ作成のためのガイドラインという点からは不導体F0はより複雑な問題であり、一般的なメタル/ラフネスワークフローでは、その値は0.04で機能するので、これ以上ガイドラインの議論を続けることをやめ、スペキュラ/グロッシネスワークフローに移ろうと思う。

メタル/ラフネス(金属/粗さ)ワークフローの長所と短所 長所

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 13

メタル/ラフネスの場合とまったく同じように、スペキュラ/グロッシネスワークフローもマップのセットとして定義され、PBRシェーダーのサンプラーにテクスチャとして投入される。図21に示すように、スペキュラ/グロッシネスワークフローで具体的に使われるマップは、ディフューズ、スペキュラ、およびグロッシネスである。スペキュラ/グロッシネスワークフローは、「ディフューズおよびスペキュラ」のような非常になじみのある名前を使っているが、これらのマップが、伝統的な手法におけるそれらのマップと同じものではないということを、しっかりと区別しておくことが重要である。Substanceでは「ディフューズ」という用語を使っているが、いくつかの実装においては、ディフューズをアルベドとして参照していることがある。またPBRシェーダは、視差(parallax)マッピング用にアンビエントオクルージョン、ノーマル(法線)、ハイトマップを使用するかもしれない。それらのマップについては前に述べたように、「両方のワークフローに共通するマップ」において説明する。

例えば、ディフューズの白(1.0)とスペキュラ値の白(1.0)を組み合わせることで、反射/屈折した光は、最初に受けた光よりも多くなってしまうが、それはエネルギー保存の法則に反している。これはテクスチャをオーサリングするとき、テクスチャデータに当てはまる現実の結果を見ていないという意味する。

やがてみるように、マップが表しているデータは、メタル/ラフネスワークフローでのそれと同じものだ。しかしながら、わたし達は同じガイドライン従いつつも、マップのオーサリング方法については異なっているのである。データは異なるマップに配置されるが、それでも私たちは同じ原則に従っている。すでに述べたように、不導体のF0、メタル反射率、アルベドカラーの輝度範囲などの全ての値は、実際に測定されたデータより導かれねばならない。ガイドラインで後に説明する各々のマップをみると、それらが実測されたデータに基づいていることがわかる。本章において、メタル/ラフネスの章においてカバーされていたような正確な情報を繰り返すことはない。そのむしろその違いのほうにフォーカスを当て、スペキュラ/グロッシネスワークフロー向けにどんな注意をしておく必要があるか注目する。

図21 ディフューズ(sRGB基準のRGB)

1.カラーは、非金属(ノンメタル)マテリアルのアルベドと生の金属(ローメタル)の黒(0.0)を意味している。 2.ベースカラーは、マイクロオクルージョンを除いて、ライティング情報を欠いている必要がある。 3.生の金属(ローメタル)の黒を除き、暗めの値は、sRGBで30(ゆるめの範囲)もしくはsRGBで50(厳密な範囲)を   下回ってはいけない。 4.明るい値は、sRGBで240を上回ってはいけない。

スペキュラ/グロッシネス(鏡面/光沢度)ワークフロー

このワークフローでは、メタル反射率の値およびノンメタルのF0は、スペキュラマップ内にセットされている。スペキュラ/グロッシネスワークフローには、RGBマップが2つあって、ひとつがディフューズカラー(アルベド)で、もうひとつが反射率の値(スペキュラ)である。スペキュラマップを使うことで、マップそれ自体に含まれる不導体マテリアルのF0を制御することができる。

メタル/ラフネスワークフローで述べたように、SubstanceのPBRシェーダーは、エネルギー保存の法則を制御している。このことはスペキュラ/グロッシネスワークフローではさらに重要な意味をもつ。というのも、スペキュラマップが不導体のF0をフルコントロールしているが故に、もし正しくない値が含まれていると、マップがより影響を受けやすくなるからである。

メタル/ラフネスワークフローでのベースカラーマップと同様に、ディフューズマップにはアルベドカラーが含まれている。  しかし、ディフューズマップには反射率の値は一切含まれていない。

作成のガイドライン ディフューズマップはアルベドカラーのみである。図22に示すように、金属は拡散色(ディフューズカラー)を持っていないため、生の金属(ローメタル)を示す領域は黒(0.0)になる。酸化が発生した場合、金属領域は色を含むようになり、もはや生の金属としてあつかわれなくなる。汚れや、生の金属の上に不導体の層(レイヤー)を作り出すその他のエフェクトについても同様である。 色調という意味では、ディフューズマップのガイドラインは、ベースカラーマップのそれと同じである。しかしながら例外として、生の金属(ローメタル)が存在する場合、0.0(黒)の値が許可され、暗めの値の範囲に関するガイドラインによって支配されなくなる。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 14

図23

スペキュラマップは、 異なる不導体マテリアルの値をひとつのマップの中でオーサリングできるようにする

図22

スペキュラ(sRGB基準のRGB) 図23に示すように、スペキュラマップは、金属反射率の値および非金属のF0値を定義している。このRGBマップは、異なる  不導体マテリアルの値をひとつのマップの中でオーサリングできるようにする。これが、不導体の反射率が4%にハードコードされていて、唯一スペキュラレベルチャンネルを介してのみ調整できる、メタル/ラフネスワークフローとの違いである。  メタル/ラフネスワークフローで触れたように、F0値のデータは現実世界の測定値から導出されるべきである。不導体のF0値はグレースケールとなり、いくつかの金属は異なる波長の光を吸収するように金属反射率を色づけすることができる。

作成のガイドライン スペキュラマップは金属と非金属の両方のF0値を含んでいるので、各々のマテリアルタイプに応じて個別のカテゴリーにマップを分割すること。

生の金属(ローメタル) F0値は、現実世界のデータに基づくべきである。メタリックマップで説明したように、酸化や非金属であることを示す  レイヤーがある場合には、ローメタルの反射率を低くする必要がある。スペキュラ/グロッシネスワークフローの場合には、図24に示すように、汚れや酸化した部分は、ディフューズマップ内のローメタルのディフューズカラーを上げ、  スペキュラマップ内の反射率の値を下げる。例として、図24に示されているローメタル上の汚れ層を見てみよう。  スペキュラマップ中の「汚れ」が、適切な不導体のF0値を含んでいる。この場合では、0.04(4%)を使用している。

vol. 2 - Practical guidelines for creating PBR textures Page 15

図25

図24

不導体(誘電体/絶縁体) 不導体マテリアルのF0は、同様にスペキュラマップ中にオーサリングされる。ここであなたはF0値を完全に  制御し、しかし、それは正しいデータを使用することが重要である。第一巻で説明したように、非金属(絶縁体/誘電体)は、電気伝導性に劣っている。屈折光は散乱および/または吸収され、(多くの場合サーフェイスから再放出されるとはいえ、)それらのマテリアルが反射する光の総量は、金属よりも遥かに少ない。一般的な不導体の場合、その値は屈折率(IOR)から計算されたF0ベースで2〜5%ぐらいだろうと既に説明した。図25に示すように、宝石を除き一般的な不導体マテリアルについては、そのF0はリニアで0.02〜0.05の範囲内にある。sRGBで言うと、sRGBで40〜75というスケールの範囲が、リニアでの0.02〜0.05(2〜5%)の範囲と重なっている。 もしある特定のマテリアルのIOR値を見つけることができない場合は、4%(0.04は、プラスチック)を使うとよい。図21に示したように、宝石は例外であって、リニアで0.05〜0.17の範囲を持っている。シェーダーには、リニアで0.0〜0.08の範囲がマッピングできる。ゼロは空気を表現するために必要とされる。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 16

1.スペキュラマップには、不導体のF0とローメタルの反射率の値が含まれている。 2.不導体は金属よりも、はるかに少ない量の光を反射する。一般的な不導体の値は約2〜5%であり、   sRGB基準ではsRGB 40〜75の値となる。これはリニアでの0.02〜0.05と重なっている。 3.一般的な宝石は、リニアで0.05〜0.17の範囲内に収まる。 4.一般的な液体は、リニアで0.02〜0.04の範囲内に収まる。 5.ローメタル(生の金属)の反射率値は、スペキュラ(鏡面反射)で70〜100%の範囲までに高くなるが、   それをsRGBでマッピングすると180〜255になる。 6.もしある特定のマテリアルのIOR値を見つけることができない時は、4%(0.04はプラスチックにあたる)を使うとよい。

図26

1.創造的に、かつ、そのサーフェイスにまつわるストーリーを視覚的に語ること。

図27

作成のガイドライン

グロッシネス(光沢度)(リニア基準のグレースケール) グロッシネスマップは、図26に示すように光の拡散を引き起こす、サーフェイスの凹凸を記述するものである。グロッシネスマップでは、黒(0.0)がラフなサーフェイスを表し、白(1.0)がスムーズなサーフェイスを表している。これは、メタル/ラフネスワークフローにおける、ラフネスマップの逆である。グロッシネスマップには、すでにラフネスの章で述べたのと同じ、アーティスト向けのガイドラインが適用できる。

光の拡散を引き起こす、サーフェイスの表面の 凹凸を記述する

解像度とテクセル密度 両方のワークフローにおいてエッジへのアーティファクトがどのように発生するについてすでに論じている。メタル/ラフネスの章で詳しく説明したことだが、エッジへのアーティファクトはメタル/ラフネスワークフローのほうがより顕著に表れやすい。また同時にスペキュラ/グロッシネスにおいては、ローメタルはディフューズカラーを持たないので、ディフューズマップに黒が含まれていることも述べた。図27に再度示すように、黒の値は、ノンメタルのディフューズカラーに補間されて、黒のフリンジの原因となる。

ここで、ドキュメントの解像度とテクセル密度が、エッジのアーティファクトの可視性に対し直接的な影響を与えることを、繰り返し言っておこう。例えば、メタルとノンメタルの間の遷移領域を作成するためにハードエッジブラシを使っているとしても、ドキュメントの解像度が低いとそのエッジは以前としてソフトのままになってしまうので、結果アーティファクトが酷くなってしまう。この低解像度の問題は、  ドキュメントの解像度に対して十分なテクセル密度を提供できるようスケーリングされていないUVによっても、同様に引き起こされる。図28に再度示すが、UVに最適なテクセル密度を提供することが、この問題をコントロールするためのベストの方法である。

vol. 2 - Practical guidelines for creating PBR textures Page 17

1.テクセル密度と解像度が、スペキュラ/グロッシネスワークフローにおいて表れる黒フリンジに影響する。   使っているUVがアーティファクトを最小化すべく、ドキュメントの解像度に合わせて最適な密度を提供しているか、   確認すること。

ドキュメントの解像度とテクセル密度は、エッジのアーティファクトの可視性に対し直接的な影響を与える

スペキュラ/グロッシネス(鏡面/光沢度)ワークフローの長所と短所

1.エッジアーティファクトが目立ちにくい。 2.スペキュラマップ中の不導体F0値に対するコントロールができる。

短所 1.スペキュラマップが不導体F0をコントロールできるので、もし不正確な値が使用されているとより影響を受けやすくなって   しまう。シェーダー中で正確に扱われないと、エネルギー保存の法則を破ってしまうことがある。

2.追加のRGBマップで、より多くのテクスチャメモリを消費してしまう。

3.伝統的なワークフローと同じテクニカルタームを使っているにも関わらず、違うデータを必要とするので、より混乱を   招きやすい。もしシェーダー側に処理されない場合、物理ベースのガイドラインに関するより多くの知識を必要とする。   例えば、不導体の正確なF0値、ディフューズカラーでローメタルが黒になること、エネルギー保存の法則をきちんと守る   ことなど。

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

図28

作成のガイドライン

長所

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 18

Sunstance Designerでは、アンビエントオクルージョンは、統合されたベーキングツールセットを使うことで、メッシュもしくは

ノーマルマップからベイクすることができる。さらに図30に示すように、ハイトをアンビエントオクルージョンに変換するアンビ

エントオクルージョンノードもある。

図31に示すように、Bitmap2Materialを使って、ソース画像からアンビエントオクルージョンを生成することもできる。

図29

図30

アンビエントオクルージョンは、ディフューズの寄与のみに影響を与え、スペキュラの寄与を塞がないようにしなければならない。

両方のワークフローに共通するマップ アンビエントオクルージョン アンビエントオクルージョン(AO)マップは、サーフェイス上の一点に到達可能な周囲の(アンビエントな)環境照明がどれほどあるか定義するマップである。アンビエントオクルージョンは、ディフューズの寄与のみに影響を与え、スペキュラの寄与を塞がないようにしなければならない。Unreal  Engine  4のように、いくつかのエンジンは、スクリーンスペースリフレクションのためのオプションを持っており、ローカルリフレクションをシミュレートするためのオプションがある。アンビエントオクルージョンをスクリーンスペースリフレクションと一緒に使うのは、ベストコンビネーションだ。

Substance  PBRシェーダーでは、(環境マップから生成された)アンビエント照明にアンビエントオクルージョンが乗算される。 アンビエントオクルージョンマップはPBRシェーダーのテクスチャサンプラーから与えられ、図29に示すようなオプション的なチャンネルである。アンビエントオクルージョンはテクスチャマップに焼き込まれるべきものではなく、シェーダーに与えられる時には必ずそれ自身独立したチャンネルとして与えられるものである。

アンビエントオクルージョンの作成

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 19

ハイトマップは、レンダリングにおいてし

ばしばディスプレイスメントとして用いら

れるが、PBRの場合には視差(parallax)

マッピングのために使われることで、図

32で示すように、際だったデプスと結果

生み出される強烈なリアリズムをノーマ

ルおよびバンプマッピングに足すために

用いられる。Substance Designerはレ

リーフマッピング視差アルゴリズムを使

用する。ハイトマップは、テクスチャサン

プラーでPBRシェーダーに与えられ、オ

プション的なチャンネルである。また図

32に示すように、Substance Designerでは、シェーダー上のレリーフパラメタを

使うことでその効果をコントロールするこ

とができる。

アンビエントオクルージョンと同様に、統合されたベーキングツールセットを使用することで、Substance Designerはメッシュからハイトをベイクすることができる。また図33に示すように、ノーマルマップからハイトをコンバートするための、 Normal to Height ノードがある。

図34に示すように、Bitmap2Materialを使って、ソース画像からハイトを生成することもできる。Substance Designerのベク

ターもしくはビットマップペインティングツールを使って、ハイトデータを自分で塗ってしまうことすらできる。とは言っても、ハ

イトをペイントするためのベストの方法はSubstance Painterを使うことで、図35に示すように、3Dメッシュに直接に詳細に

ペイントすることができる。

図32

ハイトは視差(parallax)マッピングに使われ、際だったデプスと結果生み出される強烈なリアリズムを加えるために用いられる

図31

ハイト(高さ)

ハイトの作成

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 20

図33

図34

図35

Bitmap2Materialは、ソース画像からハイトを生成することができる

Substance Painterを使ってハイトをペイントすることができる

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 21

Bitmap2Materialは、ソース画像からノーマルを生成することができる

図37

ノーマル(法線)マップは、サーフェイスの細部をシミュレートするために使用されるマップで、その使い方ははPBRにおい

ても、非PBRのワークフローと同様である。しかし、たとえノーマルマップがサーフェイスの細部をシミュレートするにしても、

ノーマルマップからサーフェイスの細部情報を取り出し、ラフネスやグロッシネスマップに対し同じように影響するようにし

ておくのは有益なことだ。

図36

ノーマル(法線)

ノーマルの作成 ノーマルマップは、統合されたベーキングツールセットを使用し、Substance  Designerでメッシュからベイクすることができます。また図36に示すように、ハイトをノーマルマップに変換するノーマルノードがある。図37に示すように、Bitmap2Materialを使って、ソース画像からノーマルを生成することもできる。Substance  Designerのベクターもしくはビットマップペインティングツールを使って、ハイトデータを自分で塗ってしまい、さらにノーマルノードを使って、それらをノーマルデータにコンバートすることもできる。Substance  Painterでペイントされたハイトデータを、ノーマルマップとしてエクスポートすることもできれば、同じ様にダイレクトにノーマルデータをペイントしてしまうことも可能だ。

Substanceツールセットを使用して、ノーマルをベイクしたり、変換して作ることができる

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 22

このセクションでは、PBRテクスチャをオーサリングしたり正確な反射率の値を設定することを支援する、いくつかのSubstanceユーティリティについて説明する。ユーティリティは、マテリアル、補正、値に基づきセクションごとに分類されている。これらの

ノードは、このマニュアルに記載されている原則と概念に基づいて設計されたものだ。

Substance PBR ユーティリティ

マテリアル Bitmap2Material 3

B2M  3は、スタンドアロンのアプリ(Indie/Pro)もしくはSubstanceマテリアル(Proのみ)として提供されるが、それはたった一枚イメージソースを投入すれば、メタル/ラフネスもしくはスペキュラ/グロッシネス用のPBRマップを作成する。またマップをタイル化することもできるし、ライトキャンセル機能を利用してアルベドを作成したり、ノーマルやハイトマップを作成するにも優れている。図38に示すように、B2M  3は各種マテリアルのベーステクスチャを作成するための実に素晴らしいツールである。

図38

PBRベースマテリアル 本ノードは、完全なベースマテリアルを作るためのユーティリティで、図39に示すようにSubstance  DesignerライブラリのFilters>PBR  ULliLes以下より見つけることができる。本ノードは、メタル/ラフネスとスペキュラ/グロッシネスワークフローの両方をサポートしている。本ノードは、ローメタルマテリアルの一般的なプリセットを提供すると同時に、ノンメタル作成用に不導体のアルベドを設定することができる。また、グランジ(汚れ)量オプションを使って、ワークフローに応じてラフネスおよびグロッシネスをコントロールすることができる。また別の方法として、Substance  Painterで作成したベースマップをインポートしている場合、カスタムマップインプットの追加を選択してみると、うまく機能してくれる。この方法を使うことで、他の様々なマテリアルとブレンドすることができるマテリアルノードを素早く作成することができる。

図39

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 23

図40

PBR Substanceマテリアル

Substance  DesignerおよびSubstance  Painterには、PBRキャリブレーション済みのマテリアルが搭載されている。それらはSubstanceフォーマットにコンパイルされた、プロシージャル、ハンドペイントおよび写真から作られたマテリアルのコンビネーションである。Substanceマテリアルなので、それらにはテクスチャの外観を各種のパラメターを使ってダイナミックにコントロールできるという利点がある。それらのおかげで、マップをゼロからオーサリングすることなく、高速かつ効率的な手法を使ってPBRコンテンツを制作できる。 Substance  Designerでは、Substance素材は、PBR  Materials下のLibraryで見つけることができる。そこには、Gametextures.comによって提供されている、ハンドペイントのPBRマテリアルのセットもある。あなたが所有するAllegorithmicのアカウントから、追加のGametextures.com製PBRマテリアルをダウンロードすることも可能だ。 Substance  Painterでは、Substance素材はシェルフ内のマテリアルタブの中にある。そこには同様にGametextures.comからのマテリアルのセットもある。Gametextures.comマテリアルを、あなたが所有するAllegorithmicアカウントからダウンロードして、マテリアルタブにインストールすることができる。 Substance  DesignerおよびSubstance  Painterで提供されているコンテンツに加えて、Substanceデータベースには莫大な量のPBRキャリブレーション済みのマテリアルが収録されている。それらもまた、Substanceフォーマットにコンパイルされた、プロシージャル、ハンドペイントおよび写真から作られたマテリアルのコンビネーションである。

反射率値 不導体F0

図40に示すように、このノードは一般的な不導体マテリアルのF0値を出力する。プリセットから値を選択してもよいし、IORインプットフィールドにIOR値を入れて、F0値を計算することもできる。このノードは不導体マテリアル向けに設計されており、スペキュラ/グロッシネスワークフローで使われる他にも、メタル/ラフネスワークフローのスペキュラレベルチャンネルとして使用される。

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

金属反射率 このノードは、一般的なローメタルマテリアルの反射率の値を出力し、Substance  DesignerライブラリのFilters>PBR以下にある。図41で示すように、いくつかのプリセットのメタル値から選択することができる。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 24

図42

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide コレクション(補正)

PBR メタル/ラフネス検証(バリディト)

このノードはメタル/ラフネスワークフローで動作するように設計されており、図42で示すように、ベースカラーおよびメタルマップの不正な値をチェックするユーティリティである。このノードはSubstance  DesignerライブラリのFilters>PBR以下にあって、ノードは赤から黄色、緑へと変化するヒートマップを出力する。赤は不正な値を示し、緑/黄色が正しい値である。金属に関しては、メタリックマップ中において(sRGBで235を越える値によって)「金属」と示されている領域に対し、それに対応するベースカラー中のF0値を、本ノードはチェックする。ヒートマップは、F0のレンジが低すぎる可能性がある範囲を表示する。アルベドに関しては、本ノードは不導体の輝度範囲が正確かどうかをチェックする。

図41

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 25

図43に示すように、このノードは、ベースカラーまたはディフューズマップの値を補正する。本ノードを使うことで、それらの値は確実に不導体の補正済み輝度レンジ内の収まることになる。本ノードは、Substance DesignerライブラリのPBR Utilities下にある。

図43

コンバージョン(変換) BaseColor_metallic_roughness_to_diffuse_specular_glossiness

図44

PBR セーフカラー

ビデオウォークスルーもご利用ください:http://www.allegorithmic.com/pbr-guide

図44に示すように、このノードは、メタル/ラフネスワークフローからスペキュラ/グロッシネスワークフローへとマップを変換する。本ノードは、Substance  DesignerライブラリのPBR  ULliLes下にある。

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 26

付録 ‒ チャート サーフェイスはメタルか?

図45

図46

あるサーフェイスを、メタルかノンメタルかにブレイクダウンしてみると、とてもわかりやすくなる。私はテクスチャ作成プロセスを開始するにあたって、多くの場合、まずマテリアルをじっくりと調べた後で、自分がメタルを作ろうとしているのか、それともそうでないのかを自分自身に尋ねている。この質問を通じて、図45および46で示すような、この巻全体を通じて説明してきたテクスチャ作成プロセスのガイドラインを導き出すことができる。図45はメタル/ラフネスワークフローを用いており、図46はスペキュラ/グロッシネスワークフローである。

サーフェイスはメタルか? メタル/ラフネスワークフロー

(メタルマップ内の白)

ベースカラー(アルベド) ・カラーが表すのは、非金属の場

合アルベドで、金属の場合反射率の値である

・生の金属はディフューズカラーを持っていないので、黒になる。金

属のディフューズカラーは、マップで作成されない

・マイクロオクルージョンの例外を除き、ライティング情報を欠いてい

るべきである

ベースカラー(反射率) ・反射率は、ベースカラー中に

作成される   ・スペキュラで70〜100%は、

sRGBで180〜255にあたる  

・現実世界の測定値を使用すること  

・金属上に酸化や汚れ層がある時、反射率カラーは、非金

属を考慮して下げられなければならない

(メタルマップ内の黒)

ベースカラー(アルベド) ・値は、反射されたカラーを表す

・暗めの値は、sRGBで30(ゆるめの範囲)〜sRGBで50(厳密な範

囲)を下回ってはいけない

・sRGBで240を越える明るい値はない

不導体反射率 ・4%(リニアで0.04)の決め打ちの

値となり、マップで作成されない *ただし、スペキュラレベルチャンネルを除く

・現実世界の測定値を使用するこ

と ・リニアで0.02を下回る値はない

・値が見つからない場合には、

0.04(4%)を使うこと

サーフェイスはメタルか? スペキュラ/グロッシネスワークフロー

ディフューズ(アルベド) ・カラーが表すのは、非金属の場合アルベドで、生の金属の場合には黒(0.0)である。 ・値は、反射された色を表す ・暗い値は、sRGBで30(ゆるめの範囲)~sRGBで50(厳しめの範囲)を下回ってはいけない ・sRGBで240を上回る明るい値はない ・マイクロオクルージョンの例外を除き、ライティング情報を欠いているべき

スペキュラ(反射率) ・金属反射率および不導体FO値は、スペキュラマップ内に作成されている ・金属のスペキュラは70~100%、これはsRGBで180~255にあたる ・一般的な不導体は2~5%、sRGB基準だとその値はsRGBで40~75になっているべきだが、それはリニアで0.02~0.05の範囲と重なっている ・現実世界の測定値を使用すべき ・金属に酸化または汚れ層がある時、反射率カラーは非金属を考慮して下げられなければならない ・リニアで0.02を下回る値はない ・値が見つからない時には、0.04(4%)を使用すること

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 27

反射率値 図47は、不導体F0の範囲を示している。不導体は金属よりも、はるかに少ない量の光を反射する。一般的な不導体の値は

約2〜5%であり、sRGB基準ではsRGB 40〜75の値となる。これはリニアでの0.02〜0.05と重なっている。図48で、不導体

F0と金属反射率の値を共に見ることができる。金属に関しては、スペキュラレンジは70〜100%内であり、sRGB値で180〜

255にマッピングされる。

図47

図48

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 28

正確/不正確の比較 図49より、メタル/ラフネスワークフローを使用して、正確に作成したマップと不正確に作成したマップの例を見てみる。汚れおよ

び塗料の不導体層はアルベド値が暗すぎるし、しかもメタリックマップ中において汚れが生の金属としてマークされている。また、

ベースカラー中において金属反射率の値が低すぎる値にセットされており、70〜100%のスペキュラレンジで反射しない。

図50より、スペキュラ/グロッシネスワークフローを使用して、正確に作成下マップと不正確に作成したマップの例を見てみる。生の金属の全てが、ディフューズマップ中の値が明るくなりすぎている。生の金属は黒でなければならない。不導体の塗料や汚

れの層は、ディフューズマップ中のアルベド値が暗すぎる。汚れ層は、スペキュラマップ中でF0値が明るすぎる。汚れのF0値は

不導体の範囲と一致しない。

図49

図50

vol. 2 - PBRテクスチャを作成するための実用的なガイドライン Page 29

Allegorithmicが開発する、新世代の3Dテクスチャリングソフトウェア:Substance Pinter、Substance DesignerおよびBitmap2Material。ほとんどのAAAゲームスタジオではこれらのツールを使用しており、Substanceは、次世代のPBR(物理

ベースレンダリング)のアセット作成のためのスタンダードとなっている。

Substanceの詳細については、当社のウェブサイトをご覧ください。 www.allegorithmic.com

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 30

vol.2 - PBRテクスチャを作成するための実用的なガイドライン Page 30

日本語訳:Nobuyuki Kobayashi Twitter @nyaa_toraneko

2015/02/09

本ドキュメントは、Allegorithmic社が公開している 『THE COMPREHENSIVE PBR GUIDE ‒ Vol. 2: Practical guidelines for creating PBR textures 』

を私家訳したものです。 全ての著作物の権利は、Allegorithmic社にあります。

オリジナル版は、

http://www.allegorithmic.com/pbr-guide よりダウンロードできます。