概要
最終的にはリアル系のライフルの弾の作成を目標とします。
ファイルの作成
まず一番、ライフルの弾と性能が似ているUTProj_~~~のファイルを探して、そのファイルを一部書き換える形で弾を作って行きます。
いくつか試した結果UTProj_Rocketが合っていたのでUTProj_Rocketを元に性能を書き換えていきます。
ファイルの作成2
UTProj_Rocketをコピーして、UTProj_M16にリネームしクラス名もUTProj_M16に変更します。
次に、UTWeap_LinkGun.ucを開いてプレイマリ武器の弾をUTProj_M16に変更します。
インゲームテスト
ビルドしてインゲーム動作を確かめます。
普通のロケット弾とまったく同じです。
クラスの関係
クラスの関係を整理してみます。
UDKのクラスはすべてObjectから発祥しているので、M16もすべてを辿ればObjectクラスに行き着きます。
速度の変更
まず、即着弾にします。
speed=1350.0
MaxSpeed=1350.0
を
speed=10000.0
MaxSpeed=10000.0
に変更
限りなく即着弾になりました。
ダメージ範囲の変更
発射体の変更
ProjFlightTemplate=ParticleSystem'WP_RocketLauncher.Effects.P_WP_RocketLauncher_RocketTrail'
となっているのでまず、そのファイルを開いてみてみます。
P_WP_RocketLauncher_RocketTrailのコピーを作成して、P_WP_M16Trailを作成します。
まず一番目立つメッシュの部分から変更していきます。
StaticMesh'WP_RocketLauncher.Mesh.S_WP_Rocketlauncher_Rocket_old_lit'
を
StaticMesh'WP_RocketLauncher.Mesh.S_WP_M16_old_lit'
に変更し、メッシュを自作の物と取り替えます。
弾のメッシュについて:
今回作成するメッシュは非常にシンプルな物でいいです。
飛んでいるライフルの弾は目に見える様な物ではないのでローポリさ重視で作ります。
次にエフェクトエディタ内でスモークや火等のほかのエフェクトを消します。
エフェクトエディタは背景色を変えた方が見やすいです。
スローで見ればこんな感じ
着弾デカールの変更&デカールの大きさの変更
ExplosionDecal=MaterialInstanceTimeVarying'WP_RocketLauncher.Decals.MITV_WP_RocketLauncher_Impact_Decal01'
DecalWidth=128.0
DecalHeight=128.0
デフォのデカールは何にでも使えそうなのでそのまま使って、今回はサイズだけを調整します
DecalWidth=12.0
DecalHeight=12.0
着弾エフェクトの変更
ProjExplosionTemplate=ParticleSystem'WP_RocketLauncher.Effects.P_WP_RocketLauncher_RocketExplosion'
P_WP_RocketLauncher_RocketExplosionは爆発エフェクトなので、少し煙が立ち昇るエフェクトを作成して取り替えてみます。
ProjExplosionTemplate=ParticleSystem'WP_RocketLauncher.Effects.P_WP_M16_Explosion'
エフェクトが変更されました。変更の仕方だけ把握して細かい変更とかはまた別の機会にします
ダメージタイプの変更
ダメージタイプの部分で「どの武器のダメージ受けた」や「どの武器にやられた」などの指定がされています。
今回は他のダメージタイプへの取り替えテストだけやってみます。
MyDamageType=class'UTDmgType_Rocket'
になっているので
MyDamageType=class'UTDmgType_LinkPlasma'
に変更してみます。
着弾音の変更
ExplosionSound=SoundCue'A_Weapon_RocketLauncher.Cue.A_Weapon_RL_Impact_Cue'
となっているので、リンクガンのサウンドと取り替えてみます
ExplosionSound=SoundCue'A_Weapon_Link.Cue.A_Weapon_Link_ImpactCue'
ダメージの変更
Damage=100.0
DamageRadius=220.0
DamageRadiusはダメージを受ける範囲になります。
Damage=26
DamageRadius=0
以上で一通り終了です。
最終更新:2009年12月18日 21:56