PBRの作業手順

「PBRの作業手順」の編集履歴(バックアップ)一覧はこちら

PBRの作業手順」(2019/11/04 (月) 13:19:11) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Planetside公式フォーラム、"General"の[[Topic: PBR Workflow>https://planetside.co.uk/forums/index.php/topic,26658.0.html]]からの転用です 。 メタル(金属)に対する[[フレネル効果>https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AC%E3%83%8D%E3%83%AB%E3%81%AE%E5%BC%8F]]の作業手順とラフネスマップを使用した手順を記述します。 -「Specular tab」において、Glossness mapを持っている場合、このマップはRoughness mapの反転であるため、"Invert roughness image"を有効にして使用します。 -Gloss mapが黒色に近い場合は無視して下さい。ただし、非常に金属質なサーフェスを持っている場合は異なる取り組みをする必要があります。 -Albedo map、またはBase colour mapを持っている場合は、非メタル(すなわち、ほとんどのマテリアルがそうである誘電体)の場合、"Diffuse colour"として割り当てます。メタルの場合は、"Reflectivity"として割り当てます。 **非メタルサーフェスの作業手順 +"Diffuse colour"を白(1)に設定します。Albedo mapを"Diffuse colour image"に割り当てます。 +"Reflectivity"を白(1)、"Reflection tint"を白(1)に設定します。"index of refraction(屈折率)"をデフォルト値1.5で使用する事が出来ます。 +"Roughness"を1.0に設定します。次に、Roughness mapを"Roughness image"に割り当てるか、別の『Image Map Shader』を使用してRoughness mapを読み込み、その『Image Map Shader』を"Roughness function"として関連付けます。『Image Map Shader』を使用している場合は、「Colour」タブの"Data is linear"オプションを試してみると良いかもしれません。『Image Map Shader』の"Rrojection type"を必ず「Object UV (if available)」に設定し、"Repeat X"と"Repeat Y"を有効にして問題を回避して下さい。 #image(nonmetal.jpg,width=450,height=253) Roughness mapの代わりにGlossiness mapがある場合、そのGlossiness mapを"Roughness image"に割り当てて、"Invert roughness image"を有効にする事で利用可能となります。 **メタルサーフェスの作業手順 +"Diffuse colour"を黒(0)に設定します。これが重要です。 +"Reflectivity"を1にしてテクスチャマップを無し、"Index of refraction"を10に設定して、サーフェスの反射率を高くします。 +Albedo mapを"Reflectivity image"に割り当てます。 +"Roughness"を1に設定します。別の『Image Map Shader』を作成して、Roughnessを読み込みます。次に、『Image Map Shader』を『Default Shader』の"Rroughness function"に接続します。『Image Map Shader』の投影モードを「UV (if available)」に設定し、予期せぬ事態を避けるために、"Tile X"と"Tile Y"を有効にします。 +『Default Shader』の直下に『Reflective Shader』を追加します(『Default Shader』は、『Reflective Shader』の"Main input"に入力する必要があります)。"Roughness"を1に設定し、『Default Shader』に対して行ったのと同じ"Rroughness function"に接続します。『Reflective Shader』を使用する理由は、入射角度において最大1の反射傾斜を作り出してフレネル効果を追加するためです。現実の世界では、これは暗く着色された金属でも起こります。この効果が得られない場合、エッジがあまりにも暗く見えるかもしれません。 #image(metal-flow.jpg,width=450,height=251) #image(metal.jpg,width=450,height=253) 異なる値を持つメタルマップがある場合、実際には2つのマテリアルを混合し、メタルマップを"Mix controller"として使用する必要があります。『Merge shader』を使用してミキシングを行い、"Mix controller"パラメータの入力を利用する事が出来ます。大部分の自然なオブジェクトでは、メタルは黒(0)にする必要があるため、これを行う必要はありません。 ***ラフネスとグロスに関する注意事項: 前述したように、グロスは基本的にラフネスの反転です。しかし、0と1の間で異なるマッピングを使用する場合、レンダラー間で矛盾が生じる可能性があります。これらの違いを説明するために、シェーダーにさらにオプションを追加して画像のガンマ/色空間を制御する予定です。これらのオプションがないと、ラフネスやグロスの画像で2.2または0.454のガンマ補正を試す必要があります。 Roughness mapを読み込むには、別の『Image Map Shader』を使用する事をお勧めします。 このようにして、「Colour」タブで"Data is linear"オプションを試す事が出来ます。これは、同じ"Roughness function"を複数のシェーダーに接続する必要がある場合にも役立ちます。 これらの問題が発生した場合は、TGでの表示と他のレンダラーでの表示の比較レンダリングをPS社まで送って下さい。これにより、どんな変更を加えたり、UIで提供する必要があるかどうかの判断材料になります。 ---- 上記メタルサーフェスのテスト用データとして以下のサンプルが提供されています。 #image(pbr_metal_spheres_aa8.jpg,width=450,height=253) [[PBR_Metal_Spheres.zip>https://planetside.co.uk/forums/index.php?action=dlattach;topic=26668.0;attach=90369]]: 86.3 KB ([[ここ>https://cc0textures.com/view.php?tex=Metal05]]からテクスチャをダウンロードする必要があります) これはcc0textures.comのPBRメタルテクスチャを使用するプロジェクトのサンプルです。 パストレースとTG4.4以降で最適に機能する堅牢な適応サンプリングを使用します。TG4.3でもレンダリングする事が出来ますが、4.4の方が高速です。
Planetside公式フォーラム、"General"の[[Topic: PBR Workflow>https://planetside.co.uk/forums/index.php/topic,26658.0.html]]からの転用です 。 メタル(金属)に対する[[フレネル効果>https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AC%E3%83%8D%E3%83%AB%E3%81%AE%E5%BC%8F]]の作業手順とラフネスマップを使用した手順を記述します。 -「Specular tab」において、Glossness mapを持っている場合、このマップはRoughness mapの反転であるため、"Invert roughness image"を有効にして使用します。 -Gloss mapが黒色に近い場合は無視して下さい。ただし、非常に金属質なサーフェスを持っている場合は異なる取り組みをする必要があります。 -Albedo map、またはBase colour mapを持っている場合は、非メタル(すなわち、ほとんどのマテリアルがそうである誘電体)の場合、"Diffuse colour"として割り当てます。メタルの場合は、"Reflectivity"として割り当てます。 **非メタルサーフェスの作業手順 +"Diffuse colour"を白(1)に設定します。Albedo mapを"Diffuse colour image"に割り当てます。 +"Reflectivity"を白(1)、"Reflection tint"を白(1)に設定します。"index of refraction(屈折率)"をデフォルト値1.5で使用する事が出来ます。 +"Roughness"を1.0に設定します。次に、Roughness mapを"Roughness image"に割り当てるか、別の『Image Map Shader』を使用してRoughness mapを読み込み、その『Image Map Shader』を"Roughness function"として関連付けます。『Image Map Shader』を使用している場合は、「Colour」タブの"Data is linear"オプションを試してみると良いかもしれません。『Image Map Shader』の"Rrojection type"を必ず「Object UV (if available)」に設定し、"Repeat X"と"Repeat Y"を有効にして問題を回避して下さい。 #image(nonmetal.jpg,width=450,height=253) Roughness mapの代わりにGlossiness mapがある場合、そのGlossiness mapを"Roughness image"に割り当てて、"Invert roughness image"を有効にする事で利用可能となります。 **メタルサーフェスの作業手順 +"Diffuse colour"を黒(0)に設定します。これが重要です。 +"Reflectivity"を1にしてテクスチャマップを無し、"Index of refraction"を10に設定して、サーフェスの反射率を高くします。 +Albedo mapを"Reflectivity image"に割り当てます。 +"Roughness"を1に設定します。別の『Image Map Shader』を作成して、Roughnessを読み込みます。次に、『Image Map Shader』を『Default Shader』の"Rroughness function"に接続します。『Image Map Shader』の投影モードを「UV (if available)」に設定し、予期せぬ事態を避けるために、"Tile X"と"Tile Y"を有効にします。 +『Default Shader』の直下に『Reflective Shader』を追加します(『Default Shader』は、『Reflective Shader』の"Main input"に入力する必要があります)。"Roughness"を1に設定し、『Default Shader』に対して行ったのと同じ"Rroughness function"に接続します。『Reflective Shader』を使用する理由は、入射角度において最大1の反射傾斜を作り出してフレネル効果を追加するためです。現実の世界では、これは暗く着色された金属でも起こります。この効果が得られない場合、エッジがあまりにも暗く見えるかもしれません。 #image(metal-flow.jpg,width=450,height=251) #image(metal.jpg,width=450,height=253) 異なる値を持つメタルマップがある場合、実際には2つのマテリアルを混合し、メタルマップを"Mix controller"として使用する必要があります。『Merge shader』を使用してミキシングを行い、"Mix controller"パラメータの入力を利用する事が出来ます。大部分の自然なオブジェクトでは、メタルは黒(0)にする必要があるため、これを行う必要はありません。 ***ラフネスとグロスに関する注意事項: 前述したように、グロスは基本的にラフネスの反転です。しかし、0と1の間で異なるマッピングを使用する場合、レンダラー間で矛盾が生じる可能性があります。これらの違いを説明するために、シェーダーにさらにオプションを追加して画像のガンマ/色空間を制御する予定です。これらのオプションがないと、ラフネスやグロスの画像で2.2または0.454のガンマ補正を試す必要があります。 Roughness mapを読み込むには、別の『Image Map Shader』を使用する事をお勧めします。 このようにして、「Colour」タブで"Data is linear"オプションを試す事が出来ます。これは、同じ"Roughness function"を複数のシェーダーに接続する必要がある場合にも役立ちます。 これらの問題が発生した場合は、TGでの表示と他のレンダラーでの表示の比較レンダリングをPS社まで送って下さい。これにより、どんな変更を加えたり、UIで提供する必要があるかどうかの判断材料になります。 ---- 上記メタルサーフェスのテスト用データとして以下のサンプルが提供されています。 #image(pbr_metal_spheres_aa8.jpg,width=450,height=253) [[PBR_Metal_Spheres.zip>https://planetside.co.uk/forums/index.php?action=dlattach;topic=26668.0;attach=90369]]: 86.3 KB ([[ここ>https://cc0textures.com/view.php?tex=Metal05]]からテクスチャをダウンロードする必要があります) これはcc0textures.comのPBRメタルテクスチャを使用するプロジェクトのサンプルです。 パストレースとTG4.4以降で最適に機能するロバストアダプティブサンプラーを使用します。TG4.3でもレンダリングする事が出来ますが、4.4の方が高速です。

表示オプション

横に並べて表示:
変化行の前後のみ表示: