2010/8/29 日曜日

アパート

Filed under: Arma一般 — gachopin @ 15:30:43

大体できた。
house1_2.JPG

2010/8/25 水曜日

何がやりたいのかというと

Filed under: Arma一般,その他 — gachopin @ 7:18:49

767は一息ついた。

日本の風景で自衛隊ユニットを動かしたい。
OFPでかつてやっていたように。
というわけでアパートをモデリング。
しかしこれだけで2000ポリゴン(0LOD)。
より単純で、テクスチャに頼るような形のものを増やさなければ。
house1.JPG

2010/8/7 土曜日

リリス

Filed under: その他 — gachopin @ 20:41:17

blenderのトゥーンシェーダが面白くて勢いでリリスを作った。
目が疲れた。
lilith_16_9.jpg
製作風景
lilith_making.JPG

2010/8/1 日曜日

ダメージモデルの仕組み(簡易)

Filed under: ARMA2 JSDF MOD,Arma一般 — gachopin @ 23:49:00

このチュートリアルはタイヤや部位ごとの破壊の説明を含みません。こだわるならば、部位ごとにエフェクトをつけたり出来ます。ガラスはガラスで別に定義があります。

?ARMA2デフォルトの壊れ方
wreckという壊れた別モデルを使う場合、
http://forums.bistudio.com/showthread.php?t=74842&page=2
に説明があります。

要はconfigに以下の文を書いて、
enum
{
=2,
destructengine=2,
destructdefault=6,
destructwreck=7,
destructtree=3,
destructtent=4,
stabilizedinaxisx=1,
stabilizedinaxisy=2,
stabilizedinaxesboth=3,
destructno=0,
stabilizedinaxesnone=0,
destructman=5,
destructbuilding=1
};
イベントハンドラに以下を追加して、
class EventHandlers
{
fired = “_this execVM “”CA\Data\ParticleEffects\SCRIPTS\fired.sqf””” ;
killed = “_this execVM “”CA\Data\ParticleEffects\SCRIPTS\killed.sqf”” “;
};
wreck用のp3dを作り、元のモデルのwreckLODにプロクシとして追加すればいいようです(未確認)

?元のモデルをそのまま流用する壊れ方
↑が面倒なので、元のモデルの一部を消したりテクスチャを変えたりしてそれっぽくする方法をとってE767のダメージ表現を試みます。

まずデフォルトの壊れエフェクトの定義がdestrType = “DestructWreck”になっているので、
destrType = “DestructEngine”;にします。これで地面にぶつかって消えることはありません。
次にclass Damageでダメージのテクスチャが切り替わるように定義します。
ARMAではrvmatを使ってカラーテクスチャやノーマルマップ(凸凹)、スペキュラマップ(光加減)を定義しています。このファイルをダメージを受けたときに置き換わるようにします。
以下例:

class Damage
{
tex[]={};
mat[]={元のrvmat,半分ダメージのrvmat,壊れたときのrvmat};
};

更に壊れたときにレーダードームの皿を消したいので、model.cfgに追記します。
まずskeletonBones[]=に”damageHide”,””, を追加
cfgmodelsのclass animationsに
class damageHide
{
type=”hide”;
source=”damage”;
selection=”damageHide”;
};
を追加します。しかし、ここで注意。皿とギアを消したいのですが、両方とも(damagehideとは別に)アニメが定義してあるので、それぞれのアニメ用にdamagehideを作る必要があります。767はギアが複数アニメで動くのでその数だけ作ります。(動かない部分を消すときは以下の定義は不要で、damageHideと名づけるだけです)
例:
class Radar_dome_damage : damageHide {selection=”Radar_dome”;};
class gear_F1_damage : damageHide {selection=”gear_F1″;};
class gear_L1_damage : damageHide {selection=”gear_L1″;};
class gear_L1_1_damage : damageHide {selection=”gear_L1_1″;};
…以下略

テクスチャを変更する部分はzbytekと名づけます。
landcontactはギアと同じ名前にしているので、壊れたら消えてしまいます。なので、胴体付近に壊れたとき用に無名のlandcontactを置いておくと吉。
rvmatは3個セットで書きます。壊れたときだけテクスチャを変えたいときは元のrvmat,元のrvmat,壊れたときのrvmatと書けばよろしい。
複数rvmatで構成されている場合はその数x3書けばよろしい。なお、rvmatのパスは最初の¥はいりません。仕様です。
私が実際に使用するマテリアルファイルはこちら

成功するとこうなります。
半分ダメージ
damage_half.jpg
完全ダメージ
damage_full.jpg

ギアと皿が、当たり判定含め消えています。窓枠はRVMATを使っていないのでテクスチャが変わっていません。

?テクスチャを変えるだけの壊れ方
最も横着な方法でダメージテクスチャに変更する方法を車のチュートリアルで書いたので、一番楽をしたい人は参照してください。

HTML convert time: 0.135 sec. Powered by WordPress ME