Paint Textures
2020年シーズン1より、カスタムペイントに新しい要素スペックマップ Spec Maps が加わりました。これを使って、メタリックペイントやマットペイントを実現できます。
本文書は iRacing オフィシャルサイトの記事 Paint Textures (https://www.iracing.com/painttextures/) を和訳したものです。
Naoya Nagaiさん作 SpecMapsの使い方 も大変参考になりますので合わせてどうぞ。
カスタムスペックマップ
レンダリングエンジンがカスタムペイントで使用できるカスタムスペックマップをサポートするようになりました。スペックマップはカスタムペイントの TGA 画像部分の材料が何かを示す TGA 画像です。個々のピクセルを特定の方法で設定して、そのピクセルが金属か非金属か、スムーズなのか粗いのか、照明エンジンによって光るのか否か、をシムに伝えます。これにより艶消しからクロームまでどんな材料でも作成することができます!
シムはフィジクスベースレンダリング(PBR)を使います。PBR はシェーダーと照明モデルを使って、現実を反映した材料を正確に作成します。仕様と光沢及び環境マップを使用して材料のスペックマップを作製する代わりに、シンプルに材料が金属なのか、それから材料の表面はどれくらい滑らかなのか、を決めるのです。シェーダーは残りを行います。これでスペックマップの作成プロセスが大幅に単純化されます。
これをすべて行うには、PBR は 2つのテクスチャを使ってシムに鏡面反射を表示する方法をシムに伝えます:
メタリックチャンネルは、このグレースケールのテクスチャでシムにピクセルが金属かどうか、あるいはその中間的な物なのかを伝えます。ピクセルが金属なら、白(255,255,255 rgb)を使います。非金属なら黒(0,0,0 rgb)を使います。通常これは Yes か No かの質問ですが、いくつかの材料ではグレーが必要になるケースがあります。スペックマップの赤がメタリックチャンネルです。
ラフネスチャンネルは、オブジェクト表面の粗さをシムに伝えます。白(255, 255, 255 rgb)の面はとても粗くあまり反射しません。黒(0, 0, 0 rgb)は完全に滑らかで非常に反射します。スペックマップの緑がラフネスチャンネルです。
これら2つのテクスチャを組み合わせると、ピクセル単位でだいたいどんな材料でも作成できます。
さらに、材料に表示されるメタリックやラフネスのパーセントを決定するのにアルファチャンネルを使用します。基本的にこれはオブジェクトに表示させたくない環境エフェクトをオフにするためのマスクです。これはあまり使用されず、主に反射とスペック照明をマスクするために使われます。これはジオメトリで切り取られていないボディパネルの穴の例です。太陽にこれを照らさせたくないので、穴はアルファチャンネルに開ければ、照明効果の表示について、シムはそれを無視します。
PBR スペックマップの作成
車両のPhotoshopテンプレートを編集して、それらがシムで使うスペックマップを含むようになりました。このグループを独自スペックマップを作成する際の基礎として使用できます。
シムの PBR スペックマップはカーペイントとは少し異なります。PBR スペックマップは 3つの異なるグレースケールマップで、Metalic、Roughness、および照明効果をマスクするためのアルファマップを使用します。これを表すために 3つの異なる TGA ファイルを使うのではなく、代わりに TGA 画像の RGBA チャンネルを使って 1つの TGA ファイルに 3つのテクスチャを格納します。 ※のちにクリアコートも追加されました
Red: メタリック
Green: ラフネス
Blue: クリアコート
Alpha: 反射マスク
上記のように、PBR マップを組み立てるプロセスは通常の TGA と異なります。グレースケール画像をチャンネルに貼り付けると、ノイズや RGB 値のアーチファクトが生じることがあります。異なるチャンネルを組み合わせる最良の方法は、Photoshop で Metalic と Roughness のレイヤーグループを編集し、特定のチャンネルにブレンドオプションを設定することです。そのため赤チャンネルのメタリックレイヤーでは緑と青のレイヤーを無効にします。緑チャンネルのラフネスマップでは赤と青のレイヤーを無効にします。青チャンネルは編集されず通常は白のままにします。これで完成した画像をスペックマップにコピー&ペーストしたり、シンプルに PSD ファイルとしてスペックマップを保存すれば、個別のカラーチャンネルに個別に画像を貼り付ける必要はありません。以下に例を示します:
このプロセスは各テンプレートのカスタムスペックマップグループで済んでいます。単に個別のレイヤーやレイヤーグループを右クリックしてブレンドオプションに移動すれば、どのように各チャンネルを変更して1つの画像に結合しているか確認できます。
アルファチャンネル(必要な場合に。全ての車種に搭載されているわけではありません)は他のアルファチャンネルと同様に、スペックマップのアルファチャンネルに貼り付けられます。
ゲームデベロッパ DONTNOD が作成したグラフィックチャートがメタリックとラフネスの値を決定するのにとても便利です:
https://seblagarde.files.wordpress.com/2014/04/dontnodgraphicchartforunrealengine4.png
DONTNOD Physically based rendering chart for Unreal Engine 4
我々のモデルでは Porosity チャンネルを使わないことを除いて、このグラフィック画像はシムで得られるものと一致することが分かりました。メタリックとラフネスの値を得るためには、作成しようとするものに似た例を選んで、カラーピッカーで使いたいグレースケールを取得できます。
メタリックのカーペイントにはメタリックアルベドの色を通常よりもかなり明るくする必要があることに注意してください。例として、カスタムカーでクロームとなるピクセルは白または限りなく白に近くなります。スペックマップでメタリックとなっているカスタムペイントのアルベド色はとても暗くなるので、TGAで補正する必要があります。
また、ペイントキットで車にスタンプされるアイテムを特定の材料タイプにする方法はないことにも注意してください。カーナンバー、スポンサーなどは、それらのアイテムがスタンプされるUV空間にあるスペックマップで設定した材料タイプとして表示されます。
※GIMP 向けの参考PDF がメンバーフォーラムに投稿されてます
カスタムスペックマップのインポート
カスタムスペックマップをシムにインポートするには、完成したスペックマップを 24bit TGA (アルファチャンネルもある場合は 32bit TGA) としてエクスポートし、以下の形式のファイル名にします:
car_spec_“account number”.tga
つまりアカウント番号が 12345 なら、ファイル名は以下のようになります:
car_spec_12345.tga
これらのスペックマップは tga ファイルではなく mip ファイルであることに注意してください。シミュレータは tga ファイルから mip ファイルを生成可能にする特別なサポートを備えています。プレーヤーカーにのみ、シムは最初に tga ファイルをチェックし、tga ファイルが見つかると mip ファイルよりも新しいか mip ファイルがないとシムは tgaファイル をロードして mipファイルを生成して同じディレクトリに保存します。ただし通常の使用ではシムは常に mip ファイルをロードし、Trading Paints ではカスタムスペックマップは tga ファイルではなく mip ファイルとしてやり取りすることを想定しています。mip ファイル形式を使用すると、はるかに高速にロードできます。
Comments