2011/1/20 木曜日

サーマルマップテクスチャ 実践編

サーマルマップテクスチャを実際に使用してわかったこと
・PixelShaderIDとVertexShaderIDを”Super”にしなければ機能しない
・ambientやdiffuseの上にclass StageTIを置く
・設定してないやつはサーマルで見ると真っ黒になる。

例:
class StageTI
{
texture=”jsdf_man\_data\jgsdf_soldier_ti_ca.paa”;
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,1};
emmisive[]={0,0,0,1};
specular[]={0,0,0,1};
specularPower=1.000000;
PixelShaderID=”Super”;
VertexShaderID=”Super”;
class Stage1
{
blablabla…

今までSuper以外の別のシェーダを使っていたらSuper用に書き換えないといけません。
例えばNormalMapSpecularDIMapを使っていたとしたら、
http://community.bistudio.com/wiki/RVMAT_basics を見てNOHQ+SMを使っていることを確認します。
NOHQ+SMとはstage1がノーマルマップ、stage2がスペキュラという意味です。

SuperはNOHQ+DT+MC+AS+SM+fresnel+Environmental mapの7つのステージです。
NOHQは凸凹を表現します。
DTは近づいたときに細かく見えるキズとかを表現します。
MCはダメージ、例えば血のりです。
ASは光が当たったときに必ず光る部分と陰になる部分を分けます。
SMDIは光加減を調整します。
fresnelは屈折です。よくわかりません。多分水面テクスチャの深度かな?
Environmental mapはテクスチャを使って擬似的に反射を表現します。

実際に書き換える手順:
stage1はそのまま、SMをstage5に書き換えます。
あとはstage2,3,4,6,7を追加します。新しくテクスチャを用意しなくても代理の記述で対処できます。
stage2の例
class Stage2
{
texture=”#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)”;
uvSource=”none”;
};
stage3はtexture=”#(argb,8,8,3)color(0,0,0,0)”;
stage4はtexture=”#(argb,8,8,3)color(0,1,1,1)”;
stage6はtexture=”#(argb,8,8,3)color(1,1,1,1)”;
stage7だけは環境マップのテクスチャをCa\dataから取ってきましょう。
class Stage7
{
texture=”ca\data\env_land_co.paa”;
uvSource=”none”;
};

thermal_test.jpg

2011/1/16 日曜日

サーマルマップテクスチャ 解説+翻訳

ARMA2OAで赤外線テクスチャを使うには、rvmatのstageTIにサーマルマップテクスチャを適用する必要があります。
例:
class StageTI
{
texture=”テクスチャのリンク先”;
};

サーマルマップは要は
・透明→代謝熱(体温、銃のバレル)
・緑→エンジン熱(エンジン)
・青→摩擦熱(タイヤ)
・赤→太陽熱(その他全て)
という事だと思います。

サーマルマップテクスチャの作り方については、以下のURLの2.6.2.1を和訳したので参考にしてください。

http://developer.vbs2.com/onlinehelp/Content/Adding_Models/How_to/AMHT_Thermal_Imaging_How.htm

翻訳
2.6.2.1 サーマルマップ作成
RGBチャンネルを用意するだけで乗り物に赤外線エフェクトを再現できる。
(エフェクトは「冷却」「生存」「動作」の影響を受ける)

アルファチャンネルは人と動物の、体温を表すのに使われる。

次に述べる指示はフォトショップを活用する:
1.乗り物のカラーテクスチャを開いてグレースケール(彩度を落として灰色)にする
2.一般的にサーマルテクスチャはノーマルマップよりずっと小さい(ここでは大きなサイズは重要ではないし、ビデオメモリを節約する)から、サイズを半分にする。
3.赤色チャンネルのコントラストを50%付近まで下げる。青チャンネルと緑チャンネルは真っ黒になりそうなくらいに調節する。ただし形が判る程度にしておく。
4.緑チャンネルで覆い焼きツールを使ってエンジン/排気周りを明るくする。
私の例では、トラックのボンネット、前輪のタイヤハウス(wheel
well)、下側面のエンジンブロック、ニセモノの排気パイプとマフラーに強い熱源を置いた。
5.同様に青チャンネルで覆い焼きツールを使い、タイヤのトレッド(地面との接地面)と摩擦及びブレーキで熱くなるハブを明るく塗った。
6.最後に緑/青チャンネルのレベル/カーブを調整して、明るくしたエンジン/車輪部分の明るさを失わないように気をつけながら、暗灰色が黒になるまで暗くする。
(↑注:フォトショップのレベル補正のことと思われる)
7.画像は*_ti_ca.tgaのような名前をつけて保存する。元のカラーテクスチャと同じような名前をつけるのがよい。この例ではdatsun_white_striped_ti_ca.tgaとして保存する。

サーマルマップについての基本情報をBISの開発者ArmoredSheepが書いていたので、こちらも和訳。
http://community.bistudio.com/wiki/Thermal_Imaging_Maps

サーマルイメージマップ
・TIテクスチャの赤チャンネルは常に100%白い。元のコンフィグのままだとハーフクーリングタイムが使用される←意味不明
・赤チャンネルは太陽でどれだけ温められたか、のみに作用する
・緑チャンネルは3Dノイズとライトマップから構成されている(加えて存在する場合は明るい熱源の領域も含む)。
・青チャンネルは100%黒と動作するパーツの白領域から構成される。
・アルファチャンネルは代謝熱で、人と戦車/兵器のバレルの熱に使われる。グリーンチャンネルと同様に動作する。

HTML convert time: 0.103 sec. Powered by WordPress ME