ロケットランチャー作成

概要


ロケットランチャーを参考にしながら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スクリプトで鳴らす事が出来ますが、アニメーションセットで鳴らす事も出来ます。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年01月21日 04:54
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。