2008/5/1 木曜日

ARMAのテクスチャ ? おまけ

Filed under: Armaアドオン製作支援,  ─テクスチャ編 — gachopin @ 3:33:49

ノーマルマップとスペキュラマップの強弱でどう変わるか見てみましょう。

74nohq.JPG
・・・・・くどい。

74nohq2.JPG
マターリ。

ARMAのテクスチャ ? 定義

Filed under: Armaアドオン製作支援,  ─テクスチャ編 — gachopin @ 3:29:57

定義する前に、作成した画像からtexview2でpaaを作っておきましょう。
下のソースのnohqはノーマルマップ用テクスチャ smdiはスペキュラマップ用テクスチャ
名前のルールがあるようです。でも無視してもいける。

・rvmatで定義する方法
o2peを開き、モデルをctrl+aで選択し、Eを押してプロパティを出します。
同じテクスチャを貼っている面を2,3選択してFilter_byを押し、同じテクスチャを貼っている面全てを選択します。
そしてMaterialでrvmatを選びます。
rvmatはテキストファイルで作成し、拡張子をrvmatにすればOK。o2pe付属のrvmatエディタで後でいじるもよし。
—-rvmatのソース—-

ambient[] = {1, 1, 1, 1};
diffuse[] = {1, 1, 1, 1};
forcedDiffuse[] = {0, 0, 0, 0};
emmisive[] = {0, 0, 0, 1};
specular[] = {1, 1, 1, 0.000000};
specularPower = 20;
PixelShaderID = “NormalMapSpecularDIMap”;
VertexShaderID = “NormalMap”;
class Stage1
{
texture = “jsdf_t74tk\t74TK\001_nohq.paa”;
uvSource = “tex”;
class uvTransform
{
aside[] = {1, 0, 0};
up[] = {0, 1, 0};
dir[] = {0, 0, 0};
pos[] = {0, 0, 0};
};
};
class Stage2
{
texture = “jsdf_t74tk\t74TK\001_smdi.paa”;
uvSource = “tex”;
class uvTransform
{
aside[] = {1, 0, 0};
up[] = {0, 1, 0};
dir[] = {0, 0, 0};
pos[] = {0, 0, 0};
};
};
——ここまで——

・configで定義する方法
CfgTextureToMaterialで元のテクスチャを指定
CfgMaterialsでノーマル・スペキュラを関連付けます。
元のテクスチャの数だけ複数定義できます。

—-configのソース—-
class CfgTextureToMaterial
{
class 74tktest
{
textures[]=
{
“jsdf_t74tk\t74tk\74tk_o21.pac”,
};
material=”#74tkmat”;
};
};

class CfgMaterials
{
class 74tkmat
{
ambient[] = {1, 1, 1, 1};
diffuse[] = {1, 1, 1, 1};
forcedDiffuse[] = {0, 0, 0, 0};
emmisive[] = {0, 0, 0, 1};
specular[] = {1, 1, 1, 0.000000};
specularPower = 20;
PixelShaderID = “NormalMapSpecularDIMap”;
VertexShaderID = “NormalMap”;
class Stage1
{
texture = “jsdf_t74tk\t74TK\001_nohq.paa”;
uvSource = “tex”;
class uvTransform
{
aside[] = {1, 0, 0};
up[] = {0, 1, 0};
dir[] = {0, 0, 0};
pos[] = {0, 0, 0};
};
};
class Stage2
{
texture = “jsdf_t74tk\t74TK\001_smdi.paa”;
uvSource = “tex”;
class uvTransform
{
aside[] = {1, 0, 0};
up[] = {0, 1, 0};
dir[] = {0, 0, 0};
pos[] = {0, 0, 0};
};
};
};
};

ARMAのテクスチャ ? ノーマルマップテクスチャの作成(by GIMP)

Filed under: Armaアドオン製作支援,  ─テクスチャ編 — gachopin @ 3:16:00

(めんどくさいので)元画像をそのまま流用してノーマルマップテクスチャを作成します。
(こだわらなければ)ノーマルマップは簡単です。

まずGIMPで画像を開き、フィルタでnormalmapを選びます。
normal.JPG

3Dpreviewを選択すると、白い画像が出てくると思います。
マウスの左クリックで角度変更 右クリックで拡大です。
画像のように確認できる位置に動かします。

normal2.JPG
Scaleで凹凸の強さを変えられます。画像では2.0となっていますが、マイナスにすることで凸凹を逆にできます。
他の数値は色々試してみてください。特にいじらなくてもOK。

凹凸を調節したらOKを押してフィルタをかけ、右クリック→名前をつけて保存で、tgaあたりで保存します。

ARMAのテクスチャ ? スペキュラマップテクスチャの作成(by GIMP)

Filed under: Armaアドオン製作支援,  ─テクスチャ編 — gachopin @ 2:48:51

(めんどくさいので)元画像をそのまま流用してスペキュラマップテクスチャを作成します。
まずGIMPで画像を開き、ダイアログでレイヤーを出します。
spe.JPG
レイヤーを右クリックし、複製します。

次に新規レイヤーを作成し、ピンク色に塗ります。R255 G75 B255 あたりがよいかと思います。
spe2.JPG
そしてこのピンクのレイヤをドラッグして一段下に下げます。

一番上にきたレイヤを左クリックで選択し、モードをスクリーンにします。
spe3.JPG
反射させたくないところが濃いピンクになり、白に近いものがよく反射するようになります。

このレイヤの透明度を変更することにより、画像全体の反射の強さを変更できます。
spe4.JPG

強さを調節したら、tgaなんかで保存します。

ARMAのテクスチャ ? 説明

Filed under: Armaアドオン製作支援,  ─テクスチャ編 — gachopin @ 2:39:09

ARMAは普通のテクスチャに加え、ノーマルマップとスペキュラマップがあります。

ノーマルマップ  : テクスチャで凸凹を表現
スペキュラマップ : テクスチャで反射率を表現

この二つはo2peで定義するか、もしくはconfigに定義します。

o2peで定義する場合の長所:o2のプレビューで結果を見れる。(つまりARMAを起動しなくても結果がわかる)
o2peで定義する場合の短所:o2peで面ごとにRVMATの定義が必要(指定するファイルパスが多い)

configに定義する場合の長所:o2peでRVMATの割り当てをしなくてよい
configに定義する場合の短所:o2peでプレビューできない

o2peで定義するほうが面ごとに定義できる利点はありますが、どちらが便利かは、モデルによると思います。まぁ好きなほうで。

今回はYAGさんの74式戦車を使用します。

HTML convert time: 0.123 sec. Powered by WordPress ME