BMW Z4 GT3 GSR2013 skin ラインをシルバーに
ボンネットフチのシルバー部分をグレーで妥協していたのを、かなり無理矢理だけどもなんとかそれっぽく出来た。まぁリプレイ映えするようにシルバーってよりクロームって感じにしちゃったけども。

元々はこんな感じでグレー

どうするかというと、まずCSPには、簡単にボディの質感を変えたり出来るようなペイントのプリセットが用意されていて、skinフォルダ中のext_config.iniで materials_carpaint.ini をincludeして、ペイントしたいマテリアルに対してプリセットを適用、場合によってはパラメータも変更。みたいな感じ。今回はこんな感じにしてある
[INCLUDE: common/materials_carpaint.ini]
[Material_CarPaint_Chrome]
MATERIALS= EXT_Carpaint_Inst
FresnelMax = 0.5
FresnelC = 0.8
BrightnessAdjustment = 1
AmbientSpecular = 0.2
AmbientSpecularEXP = 2.5
ClearCoatThickness = 0.0
こうすることでEXT_Carpaint_Instに対してMaterial_CarPaint_Chromeというペイントプリセットが設定される。FrennelMax=以下のパラメータは無くてもクロームにはなるけど気分で弄ってもよし。
そもそもマテリアルはどうやって調べんの、というとShowroomでクリックしたときに出る情報の中に Material: EXT_Carpaint_Inst と表示されてるのでそこで。modによっては別の名前だったりするはず。

ところが。ext_config.iniに指定したパラメータは、CMのshowroomだと反映されず、ゲーム中にしか反映されない。
このへんがちょっとややこしいのだけども、実はShowroomでも確認する方法は存在して、先に方法を書くと、CMのこの設定をOFFにすると、ext_configが反映されるShowroomを使えるようになる。
□場合によっては、元のショールームの代わりにカスタムショールームを使用する

場合によっては、ってのがアレだけども、この切り替えはどういうことかというと、
・チェックを付けておくと、コンテンツマネージャの新しいショールームが使われる。これはショールーム自体が多機能だけど、ext_configは反映されない。
・チェックを付けないと、旧ショールームが使われ、これはショールームの機能自体は多機能ではない(表示するだけ)が、ゲーム中の表示とほぼ同じでCSPが効く。なのでPureなどのPPが効いたりluaアプリも使えたりする。マテリアルなどを調べるのもObjectInspectorを使えば可能。新ルームのようにリアルタイムで値変更出来たりはしないけども。
なので、マテリアルの各パラメータを変化させると見た目どのように変わるのかを手軽に試したいときは新ルーム。ext_configでパーツ置き換えたりペイントしたり、つまりCSPの機能を反映させたいなら旧ルームを使う、ということになるわけで、この切り替えチェックは多用するのでクイックスイッチとかに登録させてくんねぇかな・・
さて続き。ペイントの設定をすると、車全体に対してクロームが適用されちゃうので、これを一部のみに限定するために、かなり乱暴だけどマテリアルのtxMapsを弄ることにする。具体的にはこんな感じのテクスチャを作り、マテリアル EXT_Carpaint_InstのtxMapsへ設定する。今回 EXT_Skin_MapS.dds という名前で作成した

つまり元々のskinでグレーのラインになっている場所のみを白、他を黒にしたテクスチャということ

で、これをext_config.iniへこう記載することで、マテリアル EXT_Carpaint_InstのtxMapsへ設定出来ると。
[SHADER_REPLACEMENT_200]
MATERIALS = EXT_Carpaint_Inst
RESOURCE_1 = txMaps
RESOURCE_FILE_1 = EXT_Skin_MapS.dds
これで、EXT_Skin_MapS.dds の白い部分にクロームが強めに反映され、ボンネットのハジのグレーの部分がクロームっぽくなる。黒く指定した部分にも弱いけどペイントが適用されるので、あまり過度なパラメータを与えると全体がテカって変な感じになるので注意。
[Material_CarPaint_Chrome] 以下に記載したパラメータは、旧showroom表示したままでもext_config書き換えて保存することでリアルタイムに反映されるので、ちまちまと値を変更していく。
Showroomを使わずに、軽めのコース選んでDrive開始してF5とかF7とかでビューでも同じようなこと出来るけどちょっとめんどいのよね。ext_configへ記載したパラメータは即時反映するけど、部品の置き換えとかはルーム起動しなおさないとなので、部品の位置合わせとかするときにはやっぱり旧showroomを何度も起動するので、いちいちDriveは面倒・・なんだけど、実は旧showroomとゲーム中の画面も若干違うところがあって、パーツの置き換えなどしたときには表示に差異が出ることもあるけどそれは次回(^^; 少なくとも今回の内容のペイントなら旧showroomだけで大丈夫と思われ。


