マテリアルは、ライトがモデルのサーフェスにどのように反応するかを決定します。そして、現実的なビジュアルを作る上で不可欠な要素です。モデルを作成する場合、シェーダーを使用してサーフェスプロパティーを定義します。Unity の スタンダードシェーダー は、包括的な機能を備えたビルトインシェーダーで、適切なマテリアルを簡単に作成でき、物理ベースシェーディング (PBS) という高度なライティングモデルを組み込んでいます。シェーダーラボ、シェーダーグラフ (スクリプタブルレンダーパイプライン)、その他のシェーダー作成ツールを使って独自のサーフェスシェーダーを作成する前に、スタンダードシェーダーの使用方法を習得することが必要です。
現実のサーフェスのほとんどは複数のマテリアルで構成されているため、Unity スタンダードシェーダーでゲームオブジェクトのテクスチャリングを行う場合は、以下の点を考慮する必要があります。
注意 ここでは、アルベド、スムースネス、法線マップ、 アンビエントオクルージョン (AO) のみが説明されています。より詳しい情報は マテリアルパラメーター を参照してください。
Unity では、マテリアルを Standard (標準) か Standard Specular (標準スペキュラー) に設定できます。これらのいずれかを使用する場合、通常は、Standard のマテリアルを使うほうが簡単です。なぜなら、スペキュラーの明度と色が アルベド、スムースネス、メタリックの入力に基づいて自動的に計算されるからです。
Standard に設定されたマテリアルでは、Metallic を 1 に設定するとアルベドがスペキュラーの色とその明度をスムースネスと連動させ、サーフェスの明るさと光沢を調整します。
マテリアルのアルベドからスペキュラー色を取り除きたい場合は、Standard Specular を使用します。 これは非金属マテリアルまたは標準的な金属ではないマテリアルの場合ではスペキュラー色を手動で制御する方が上手くいきます。 詳細については、スペキュラーモード: Specular パラメーター を参照してください。
物理ベースシェーダーはスペキュラー明度と光の分散を自動的に計算しますが、マテリアルのアルベドは妥当な値である必要があります。マテリアルのアルベドは直接光と間接光両方に影響を与え、シーンのその他のライトを通して非現実的な値を増加させます。
非常に暗いアルベドはライトを著しく吸収するため、異常なライトの反応の原因になります。アルベドが明るすぎると、現実では発生しない大量のライトと間接色を反射します。
現実世界で、とても一般的な非金属塗装面の定義値はありません。例えば、木の壁はチャコールブラックや白で塗りつぶすことができ、その壁のアルベドの唯一の決まった値などありません。アルベド値の決定に役立つように、PBS 値のチャートがあります (マテリアルチャート を参照)。一般的なガイドラインとして、非金属塗装面の場合、0.2 未満のアルベド値は暗すぎ、0.8 を超えるアルベド値は明るすぎます。暗い絶縁体のマテリアルの情報は、Materials authoring guidelines 1 : dark dielectric materials (PDF) を参照してください。
マテリアルチャートの使用は、単数のアルベドサーフェスを扱う場合にはかなり簡単です。しかし、複雑なアルベドテクスチャを決定するには難しいことがあります。 Material Validation ツールを使用すると、マテリアルの値がガイドラインに従っているかどうかを確認できます。シーンビューでこのツールを使用可能にするには、ビューポートの左上隅にあるドロップダウンメニューで Material Validation を選択します。注意:Material Validation は、スクリプトレンダーパイプライン (SRP) を使用していない場合にのみ使用できます。SRP を無効にするには、Edit > Project Settings > Graphics の順に移動し、Scriptable Render Pipeline Settings を None に設定します。
マテリアルの Metallic 値は、どれくらいの量の環境光をサーフェスに反映するかを定義し、一方で、アルベド色をどれくらいサーフェスに表示するかを決定します。サーフェスが純粋な金属の場合、サーフェスの色 (アルベド) は環境リフレクションの色を増長します。金属マテリアルを使用する場合は、以下を考慮してください。
注意: 塗装された金属手すりの塗装が剥げた部分は金属ですが、さびはサーフェス上で金属ではありません。
金属に関しての詳細は Metallic モード: Metallic パラメーター を参照してください。
Smoothness は、マイクロサーフェスの詳細を制御します。0 の値は非常に粗いサーフェスになり、1 の値は鏡面などの純粋に反射する鏡のようなサーフェスになります。これは直感的に使うことができますが、以下の点を考慮して使用するとより効果的です。
ゲームオブジェクトの最終的なサーフェスクオリティに注目してください。 例えば、コンクリート製の物体は粗い表面であるか、またはその上に光沢塗料が塗られています。 木材が塗装されていない場合の Smoothness 値は、木材が研磨されているかによります。
擦った跡、汚れ、傷、水の汚れを忘れないでください。 実生活では、マテリアルのサーフェスは多くの変数の影響を受けます。 マテリアルが純粋な単一サーフェスであることは、ほとんどありません。
マテリアルの特性を決定するには、要素がサーフェス間でどのようにブレンドされるかを検討します。 例えば、土に水たまりができると通常、吸収された水の跡の輪があり、単なるスムースネスのブレンドだけではなく、暗いアルベドになります。
スムースネスに関する詳細は、Smoothness を参照してください。
法線マップは、通常、接線空間の法線マップを参照します。接線空間の法線マップは、まるで光線が他の方向から来るかのようにポリゴンのサーフェス法線を曲げます。これは通常、単純に見えるメッシュに多くの詳細を加えるために使用されます。
法線マップを使用してマテリアルを定義することもできます。 たとえば、光沢の強い赤で塗装された木片に元のサーフェスマテリアルを表示することができます。
法線マップに関する詳しい情報は 法線マップ (Bump mapping) を参照してください。
オクルージョンマップはアンビエントライトが削減したように見せ、くぼみと形状を認識しやすくします。
オクルージョンマップを使用する利点は以下のとおりです。
オクルージョンマップの詳細バージョンは、特に、データがより詳細なモデルから来ている場合には、オフラインレンダリング中にはるかに高い品質で実行できます (高精度モデルから低レベルへの法線マップのベイクに似ています) 。
オクルージョンマップは、ゲームオブジェクトの動的なライティングを大きく向上させます。なぜなら、動的なゲームオブジェクトはベイクしたライトからのオクルージョンを受けず、ライトプローブかアンビエントライト、そして、あまり詳細でないスクリーンスペースアンビエントオクルージョン (SSAO) のみを受けるためです。
オクルージョンマップに関する詳細は、オクルージョンマップ を参照してください。
新しい分野を学ぼうとするときのように、デジタルコンテンツ作成の一般原則を勉強することは、成果物の向上につながります。 参照用であろうとテクスチャソースであろうと、実際の表面の写真を撮ることは、3D モデリングアプリケーションでサーフェスマテリアルの作成をしばしばスピードアップします。
参照をキャプチャするときは、特定の被写体の写真を多く撮ることが必要です。 画像検索エンジンに行き、特定の参照画像を検索するときと同じです。
テクスチャソースを撮影するときは、常にカラーキャストをニュートラルにし、サーフェスの明度の効果を無効にします。 ホワイトバランシングと 18 % のグレーカード (Kodak R–27 カードなど) の適切な露出を使用してください。
18 % のグレーカードは、テクスチャのソース画像を撮影するときに基準として使用できる信頼できる値です。独自の 18 % のグレーカードを印刷しようとしないでください。大抵、不正確なグレーカードになり、バランスの崩れた色になる可能性が高いためです。 適切な 18 % のグレーカードは、sRGB 色空間で rgb(124,124,124) または、#7C7C7C に相当します。カメラはこのグレーカードを使用して適切な露出 (ライトの明度を無効にする) とホワイトバランス (ライトの色のキャストを中和する) を取得します。
グレーカードに関する詳細は、 Middle gray (Wikipedia) を参照してください。
最良の結果を得るには、デジタル一眼レフ/高度なカメラを使用してください。 ただし、手動露出制御と RAW 機能を備えたモバイルなど、どのようなカメラでも上記の設定で良好な結果を得ることができます。
偏光ライトと偏光レンズを伴う X-Rite カラーチェッカーによる RAW 画像は、より正確にアルベドテクスチャのキャプチャを行います。
R–27 グレーカードと同様に、カラーチェッカーチャートは、基準として信頼できるカラーリファレンスです。 カメラセンサー+レンズ+フィルター+ライティング制御特性プロファイルを生成し、これを使用して RAW 画像を補正します。
テクスチャソースを撮影するときは、曇った日や均等にライトが当たる日陰など、拡散したライティング条件を選択します。
撮影した画像を処理する場合に、より純粋なアルベドテクスチャを作成するには、Unity の De Lighting ツール を使用して追加の処理が可能です。