マテリアルとテクスチャ
※ 翻訳には「Google AI Studio」を利用し、「Gemini Experimental 1206」のモデルを使用しています。
このガイドラインは、Khronos Groupの「3DC-Asset-Creation」で公開されている「Materials and Textures」を日本語に翻訳したものです。
原文のライセンス: Creative Commons Attribution 4.0 International License
マテリアルとテクスチャ
バージョン 1.0.0 最終更新日: 2020年10月20日
マテリアルは、3Dモデルの平らな表面に視覚的なディテールとシェーディングを追加するために使用されます。表面が木材、布地、金属、プラスチック、ガラスなどのように見えるかどうかを定義するのに役立ちます。
同じマテリアルを、好きなだけ多くのモデルに再利用できます。家具サプライヤーは、ホームファニシングのラインに同じダークオークウッドステインを使用する場合があります。この表面の外観は、すべての3Dモデルで再利用される単一のマテリアルで定義できます。これにより、一貫した外観が作成され、再作業が削減されます。
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.1: デフォルトのマテリアルを使用したモデル
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.2: カスタマイズされたマテリアルを使用した同じモデル
マテリアルの種類
eコマースアプリケーションのリアルタイム3Dモデルに使用するマテリアルの種類はいくつかあります。
- PBR メタリックラフネス
- PBR スペキュラ-グロッシネス
- ディフューズスペキュラ
- アンリット
- カスタムシェーダー
PBRマテリアル
PBRは物理ベースレンダリングの略です。PBRは、さまざまな照明条件(日光、室内照明、夜間など)で正確で予測可能な結果を作成するマテリアルとレンダリングのアプローチです。
(C)2016, theblueturtle_. ライセンス: CC BY 4.0 International 図5.3: 戦闘で損傷したSFヘルメット - PBR. glTFデモ: https://www.babylonjs.com/demos/pbrglossy/
(C)2016, theblueturtle_. ライセンス: CC BY 4.0 International 図5.4: PBRテクスチャ(左から): ベースカラー、オクルージョン、ラフネス、メタルネス、ノーマル、エミッシブ
PBRメタルネスラフネス
ほとんどの表面には、PBRメタルネスラフネスマテリアルを使用することをお勧めします。
幅広い表面タイプが可能で、使いやすく理解しやすく、ダウンロードファイルのサイズを小さく保ち、レンダリング時のメモリ使用量を削減します。
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.5: PBRメタルネスラフネスマテリアル
PBRスペキュラ-グロッシネス
表面の反射率をPBRメタルネスラフネスで適切に作成できない場合は、代わりにPBRスペキュラ-グロッシネスを使用する必要がある場合があります。
PBRスペキュラ-グロッシネスは、反射色の制御を強化しますが、メモリ使用量が増加し、モデルファイルサイズが大きくなります。
PBRスペキュラ-グロッシネスには、メタルネスラフネスに比べて2つの主な利点があります。
- 非金属表面に色付きの反射を作成できます
- 金属が非金属に移行する際のテクスチャアーティファクトを防ぐことができます
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.6: サテン生地は、色付きの反射に依存する非金属表面です。色付きの反射がない場合(左)と、色付きの反射がある場合(右)
Image by Microsoft, based on the Water Bottle sample model. ライセンス: パブリックドメイン 図5.7: PBRメタルネスラフネスマテリアルは、金属と非金属の間にフリンジングアーティファクトを引き起こす可能性があります。左側では、赤いラベルの端に、赤いペイントと真鍮の金属の間にフリンジアーティファクトが表示されています。右側では、PBRスペキュラ-グロッシネスマテリアルはこれらのエラーを表示しません
(C)2020, Joe Wilson. ライセンス: CC BY 4.0 International 図5.8: メタルネステクスチャによって引き起こされる移行アーティファクトの別の例
ディフューズスペキュラマテリアル
これは、PBRワークフローが一般的になる前に一般的に使用されていた、古い非PBRマテリアルタイプです。アセットがこのマテリアルタイプを使用している場合は、マテリアルをPBRメタルネスラフネスマテリアルに変換することをお勧めします。
Image by Microsoft, based on the Boom Box sample model. ライセンス: パブリックドメイン 図5.9: ディフューズスペキュラ(左)とPBRメタルネスラフネス(右)。モデルはMicrosoft、ディフューズスペキュラ変換はGary Hsu。
ディフューズスペキュラは正確な照明を使用しないため、一般的なワークフローは、照明とシェーディング情報をディフューズテクスチャにペイントすることでした。ベイクされた照明は、表面に深みを与えることができますが、モデルが異なる照明のシーンにロードされたときに正しく表示されないという犠牲を払います。
PBRマテリアルを使用する場合、アンビエントオクルージョンはベースカラーテクスチャとは別に保持されるため、ソフトな拡散照明にのみ適用され、動的照明には適用されません。これにより、より現実的な結果が得られます。ディフューズスペキュラにはこの分離がないため、アンビエントオクルージョンは多くの場合、ディフューズテクスチャにペイントされ、「汚れた」表面を引き起こす可能性があります。
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.10: シェーディングのあるテクスチャは、モデルを汚く見せることがあります(左)。PBRモデルは、シェーディングされていないテクスチャを使用する必要があります(右)
アンリットマテリアル
アンリットは、表面がシーンの照明の影響を受けないように強制します。これはPBRマテリアルタイプではありません。ダイナミックライトとイメージベースライトは、表面に影響を与えません。ベースカラーは、明るくなったり暗くなったりすることなく、フルパワーで表示されます。
実世界の表面が照らされないことは非常にまれです。最も黒い石炭でさえ、照明の影響を受けます。
アンリットは、ドロップシャドウやユーザーインターフェイスオーバーレイなどの特定の状況に役立ちます。
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.11: アンリットマテリアルを使用したシャドウプレーン(左)とシャドウなし(右)
特定の状況で必要とされる場合を除き、製品モデルにドロップシャドウを含めないことをお勧めします。たとえば、Facebook ARアセットには、アセットが床を横切って移動するために持ち上げられていることをユーザーに示すのに役立つドロップシャドウを含めることができます。SparkAR: シンプルシャドウを参照してください。
カスタムシェーダー
eコマースモデルにはカスタムシェーダーを使用しないことをお勧め します。
カスタムシェーダーは、特定のユースケースのために作成できます。たとえば、暖炉インサート製品の機能を示すためにアニメーション化された火を作成するなどです。カスタムシェーダーを許可するために開発されているドラフト拡張KHR_techniques_webglを参照してください。
カスタムシェーダーは、独自のWebサイトの3Dビューアでのみ予測どおりに動作する可能性があることに注意してください。カスタムシェーダーは、ビューア間で一貫してレンダリングされることが保証されておらず、一部のビューアではモデルをまったくレンダリングできない場合があります。検索エンジンや広告主は、カスタムシェーダーのレンダリングに失敗し、製品が発見できなくなる可能性があります。
カスタムシェーダーを使用する必要がある場合は、標準のPBRメタルネスラフネスマテリアルを使用して別のLOD(詳細レベルモデル)を作成し、モデルを他のビューアで確実にレンダリングできるようにすることをお勧めします。
モデルごとの複数のマテリアル
アセットは、モデル全体に単一のマテリアルを使用するか、モデルの異なる部分に複数のマテリアルを割り当てることができます。2つのアプローチにはトレードオフがあります。
単一のマテリアル
ほとんどの場合、アセット全体に単一のマテリアルを使用することをお勧めします。これにより、ファイルサイズが削減され、レンダリングパフォーマンスが向上します。
アセットに複数の表面タイプ(布、木、金属など)がある場合、単一のマテリアルでは、すべてのテクスチャをUV「アトラス」レイアウトに結合する必要があります。
(C)2020, Wayfair. ライセンス: CC BY 4.0 International 図5.12: UVアトラスレイアウト
複数のマテリアル
一般的には単一のマテリアルの使用が推奨されますが、必要に応じてモデルで複数のマテリアルを使用できます。
複数のマテリアルを使用する一般的な理由は2つあります。
- タイルテクスチャ
- マテリアルバリアント