2008/8/18 月曜日

車を作ろう? 窓、ミラー

Filed under: Armaアドオン製作支援,  ─車編 — gachopin @ 14:20:12

窓やミラーの表現で、ARMAから導入されたRVMATを使用すると「反射しているように見える」エフェクトを使用することが出来ます。
窓は既にポリゴンで用意したので、ミラーの面を作ります。
ミラーの面は前面のポリゴンをコピペ、0.9倍にして作成しました。テクスチャはまだ必要ありません。
car36.JPG

反射に使うテクスチャはコレ。ARMAで使っているファイルを抜き出してきたものです。
car37.JPG

拡張子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,1};
specularPower=32;
renderFlags[]={“NoAlphaWrite”};
PixelShaderID=”Glass”;
VertexShaderID=”Glass”;
class Stage1
{
texture=”#(argb,8,8,3)color(0,0,0,1)”;
uvSource=”none”;
};
class Stage2
{
texture=”mycar\env_co_pac.paa”;
uvSource=”none”;
};

Stage2でミラー用テクスチャを指定。

ミラーの面を選んで面のプロパティでrvmatファイルを指定します。
ここでテクスチャの指定は「無」になっていますが、例えば青色のテクスチャだと青っぽく反射します。
car38.JPG

これで視点によって見え方が違うテクスチャができます!
car39.JPG

窓は半透明のテクスチャ(paa形式)を貼り、
上記のRVMATのstage1のアルファ部分を0.3にします。
texture=”#(argb,8,8,3)color(0,0,0,0.3)”;

ここでいくつか注意。
半透明テクスチャはpaaのみです。pacでは透明度が0か1しかありません。窓には使えません。
また、paaには優先度があります。優先度が低い物は表示されません。
car40.JPG
この画像では後ろの窓が前の窓から見えます。
これ、優先度を上げる前は後ろの窓は見えませんでした。
窓の外側の面はfaces→move to topで優先度を最大にする必要があります。

ノーマルマップとスペキュラマップを作成。以前のチュートリアルで解説しています。
car41.JPG

これで9割方はモデル完成。

車を作ろう? テクスチャ

Filed under: Armaアドオン製作支援,  ─車編 — gachopin @ 1:41:15

1024×1024のbitmapを作成、
必要な部分のモデル線をコピペして下地を作ります。
car30.JPG

car31.JPG
選択した部分にFrontviewにて、下地テクスチャをおおまかに貼ります。(ずれてもOK)

その後serface(サーフェース)→UVエディタを起動。
Filter→新しいテクスチャをブラウズ(browse new texture?)を選択し、下地テクスチャを読み込みます。

先ほどfrontviewでテクスチャを貼った付近をマウスで囲むと、貼った面が出てきます。
下の図の黒い四角をドラッグして、大きさを調整しましょう。リアルタイムにテクスチャマッピングが反映されます。
car32.JPG

同じようにして全体に貼っていきますが、ここでテクニック。
選択した面を選んでselectionウィンドウて右クリック→new(新規作成)で名前をつけておきます。
下の図では右の面、左の面を分けてセレクション名をつけ、ctrlを押しながら左右のセレクションをクリックし、
左右同時に面を選択しています。
car33.JPG

外面を貼り終わったところです。
car34.JPG

貼ったら下地を元に塗ります。
テクスチャを描いた後テクスチャマッピングの位置を変えることも出来るので、気楽に、気長にやりましょう。
car35.JPG

HTML convert time: 0.118 sec. Powered by WordPress ME