概要
ロケットランチャーを参考にしながらRPG7の作成を行います。
モデルの作成
まずモデルを製作します。
モデルは弾頭部分と本体部分に分けて作ります。
アニメーションの作成
WeaponFire[31]
WeaponIdle[81]
WeaponPutDown[12]
WeaponPutDownEmpty[12]
WeaponEquip[14]
WeaponEquipEmpty[14]
WeapoReload[94]
WeaponZoomIn[16]
WeaponZoomOut[16]
WeaponZoomOutEmpty[16]
WeaponZoomIdle[80]
WeaponZoomFire[31]
コードの作成
リロード処理
simulated function Projectile ProjectileFire()
{
if(AmmoCount == 0)
{
}
else
{
SetTimer(2,false,'ReloadStart');
}
InClipCount=0;
Super.ProjectileFire();
MyRocket = UTProj_Rocket(Super.ProjectileFire());
return MyRocket;
}
simulated function ReloadStart()
{
StopFire(0);
bReloading = true;
SetTimer (Reloadtime, false, 'ReloadEnd');
//アイドルアニメーションの切り替え
WeaponIdleAnims[0]='WeaponReload';
ArmIdleAnims[0]='WeaponReload';
//リロードアニメーション再生
PlayWeaponAnimation('WeaponReload',3);
PlayArmAnimation('WeaponReload',3);
}
simulated function ReloadEnd()
{
InClipCount = MaxInClipCount;
bReloading = false;
//アイドルアニメーションを元に戻す
WeaponIdleAnims[0]='WeaponIdle';
ArmIdleAnims[0]='WeaponIdle';
//アイドルアニメーションを再生する
PlayWeaponAnimation('WeaponIdle',2.7);
PlayArmAnimation('WeaponIdle',2.7);
}
//リロード中に発射を止める
simulated function StartFire(byte FireModeNum)
{
if(!bReloading)
{
super.StartFire(FireModeNum);
}
}
//プットダウンを変更する
simulated function PutDownWeapon()
{
if(AmmoCount == 0)
{
WeaponPutDownAnim='WeaponPutDownEmpty';
ArmsPutDownAnim='WeaponPutDownEmpty';
WeaponIdleAnims[0]='WeaponIdle';
ArmIdleAnims[0]='WeaponIdle';
}
else
{
WeaponPutDownAnim='WeaponPutDown';
ArmsPutDownAnim='WeaponPutDown';
WeaponIdleAnims[0]='WeaponIdle';
ArmIdleAnims[0]='WeaponIdle';
}
super.PutDownWeapon();
}
ズーム時にクロスヘアを変える
リロード音
リロード音はUCスクリプトで鳴らす事が出来ますが、アニメーションセットで鳴らす事も出来ます。
最終更新:2013年01月21日 04:54