学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails

unity | スマホゲームアプリを作成する その42 | 新しい武器をセットアップする

<<前  [TOP]  次>>


まず新しいプレハブを作成する必要があります。
現在のシーンに新しいGameObjectを追加することから始めましょう。
階層ウィンドウでCreate > Create Emptyをクリックして空のオブジェクトを作成します。

空のオブジェクトを作成
空のオブジェクトを作成



作成したオブジェクトの名前を「Weapon_BurstRifle」に変更します。

名前を「Weapon_BurstRifle」に変更
名前を「Weapon_BurstRifle」に変更



作成した「Weapon_BurstRifle」オブジェクトを階層からプロジェクトウィンドウのAssets > FPS > Prefabs > Weaponsフォルダーにドラッグしてプレハブを作成します。

プレハブを作成
プレハブを作成



このプレハブをダブルクリックして開きます。

ダブルクリックで開く
ダブルクリックで開く



階層ウィンドウで「Weapon_BurstRifle」ゲームオブジェクトを選択し、Transformコンポーネントの右上隅にある設定のアイコンをクリックします。

Transformコンポーネントの右上隅にある設定のアイコンをクリック
Transformコンポーネントの右上隅にある設定のアイコンをクリック



[Reset]をクリックして、オブジェクトがデフォルトの位置、回転、およびスケールにあることを確認します。

Reset
Reset



「Add Component 」をクリックして「Weapon Controller」スクリプトを検索して追加します。

Weapon Controllerスクリプトを追加
Weapon Controllerスクリプトを追加



武器が機能するために必要なすべてのデータとオブジェクトの設定をします。
まず武器にメッシュを追加します。
プロジェクトウィンドウのAssets > ModAssets > Models > Weaponsを開きます。

Assets &gt; ModAssets &gt; Models &gt; Weapons
Assets > ModAssets > Models > Weapons



「Mesh_Weapon_1」メッシュをプロジェクトウィンドウから「Weapon_BurstRifle」オブジェクトの下の階層ウィンドウにドラッグします。

「Weapon_BurstRifle」オブジェクトの下の階層ウィンドウにドラッグ
「Weapon_BurstRifle」オブジェクトの下の階層ウィンドウにドラッグ



新しく配置した「Mesh_Weapon_1」メッシュオブジェクトを選択し、インスペクターのpositionを(0、0.1、0.27)に設定します。
これはゲーム中にFPSビューの画面に正しく配置されるようにするためです。

positionを(0、0.1、0.27)に設定
positionを(0、0.1、0.27)に設定



「Weapon_BurstRifle」インスペクターの[Weapon Controller]コンポーネントで武器のデータの設定を開始します。
「Burst Rifle」と名前を付けることから始めます。

「Burst Rifle」と名前を付ける
「Burst Rifle」と名前を付ける



「Weapon Icon」フィールドで右側の小さな円のアイコンをクリックしてアセット選択メニューを表示し、この武器のスプライト「HUD_Weapon1」を選択します。

「HUD_Weapon1」を選択
「HUD_Weapon1」を選択



「Crosshair Data Default 」セクションを展開し、データを設定します

「Crosshair Data Default 」セクションを展開
「Crosshair Data Default 」セクションを展開



「Crosshair Sprite」には「Crosshair_Hexa」を選択します。

Crosshair_Hexaを選択
Crosshair_Hexaを選択



「Crosshair Size」を50に設定します。

「Crosshair Size」を50に設定
「Crosshair Size」を50に設定



「Crosshair Color」を白に設定します。
カラーピッカーウィンドウでアルファ値を100に設定します。

「Crosshair Color」を白に設定
「Crosshair Color」を白に設定



「Crosshair Data Target In Sight 」セクションを展開し、データを設定します。

「Crosshair Data Target In Sight 」セクションを展開
「Crosshair Data Target In Sight 」セクションを展開



「CrosshairSpriteii」には「Crosshair_Hexa」を選択します。

「Crosshair_Hexa」を選択
「Crosshair_Hexa」を選択



「Crosshair Size」を50に設定します。

「Crosshair Size」を50に設定します。
「Crosshair Size」を50に設定します。



「Crosshair Color」を赤に設定します。
カラーピッカーウィンドウでアルファ値を100に設定します。

「Crosshair Color」を赤に設定
「Crosshair Color」を赤に設定



「Weapon Root」フィールドに階層の「Mesh_Weapon_1」メッシュをドラッグ&ドロップで割り当てます。

階層の「Mesh_Weapon_1」メッシュをドラッグ&ドロップ
階層の「Mesh_Weapon_1」メッシュをドラッグ&ドロップ



武器の銃口を作成します。
[階層]ウィンドウで新しい空のオブジェクトを作成します。

新しい空のオブジェクトを作成
新しい空のオブジェクトを作成



作成されたGameObjectを階層の「Mesh_Weapon_1」メッシュにドラッグ&ドロップします。

階層の「Mesh_Weapon_1」メッシュにドラッグ&ドロップ
階層の「Mesh_Weapon_1」メッシュにドラッグ&ドロップ



この新しいGameObjectの名前を「Muzzle」に変更します。

新しいGameObjectの名前を「Muzzle」に変更
新しいGameObjectの名前を「Muzzle」に変更



メッシュの銃口位置と一致するように「Muzzle」オブジェクトを移動ツールで移動します。

「Muzzle」オブジェクトを移動ツールで移動
「Muzzle」オブジェクトを移動ツールで移動



Weapon Controllerコンポーネントに戻り、新しく作成した「Muzzle」GameObjectをWeaponMuzzleフィールドに割り当てます。

「Muzzle」GameObjectをWeaponMuzzleフィールドに割り当て
「Muzzle」GameObjectをWeaponMuzzleフィールドに割り当て



[Shoot Type]フィールドを「Automatic」に設定します。
これは発射ボタンを押したままにすると、発射物が連続して発射されることを意味します。

[[Shoot Type]フィールドを「Automatic」に設定]
[Shoot Type]フィールドを「Automatic」に設定



[Projectile Prefab]フィールドに発射物プレハブの1つを選んでフィールドに割り当てます。
まずは階層で「Weapon_BurstRifle」ゲームオブジェクトを選択してインスペクターを開いた状態にします。
インスペクターの右上にある鍵マークをクリックしてロックします。

インスペクターをロック
インスペクターをロック



プロジェクトウィンドウで発射体のプレハブを見つけます。
これらのプレハブはAssets > FPS > Prefabs > Projectilesにあります。
今回は「Projectile_Blaster」を選択しました。
この「Projectile_Blaster」プレハブを[Projectile Prefab]フィールドにドラッグ&ドロップします。

[「Projectile_Blaster」プレハブを[Projectile Prefab]フィールドにドラッグ&ドロップ]
「Projectile_Blaster」プレハブを[Projectile Prefab]フィールドにドラッグ&ドロップ



[Delay Between Shots]フィールドを0.05に設定します。

[ [Delay Between Shots]フィールドを0.05]
[Delay Between Shots]フィールドを0.05



Bullet Spread Angleを0.5に設定して武器に少し広がりを与えます。

Bullet Spread Angleを0.5に設定
Bullet Spread Angleを0.5に設定



Bullets Per Shotは1のままにします。
これは武器が発射されるたびにスポーンされる弾丸の数です。

Bullets Per Shotは1
Bullets Per Shotは1



Recoil Forceは1のままにします。
これは射撃時に武器が反動する量です。

Recoil Forceは1のまま
Recoil Forceは1のまま



Aim Zoom Ratioを0.25に設定します。
これはこの武器が照準を合わせるときに持つデフォルトの画角のパーセンテージをあらわします。
照準ズーム比が小さいほどズームが大きくなります。

Aim Zoom Ratioを0.25に設定
Aim Zoom Ratioを0.25に設定



Aim Offsetを(0、0.13、0)に設定します。
これは照準を合わせるときに武器の位置に適用される位置オフセットであり、画面の中心に合わせることができます。

Aim Offsetを(0、0.13、0)に設定
Aim Offsetを(0、0.13、0)に設定



Ammo Reload Rateを99999に設定します。
これにより武器はほぼ瞬時に弾薬をリロードします。

Ammo Reload Rateを99999に設定
Ammo Reload Rateを99999に設定



Ammo Reload Delayを0.7に設定します。
これは射撃を停止してからリロードが開始されるまでの時間をあらわします。

Ammo Reload Delayを0.7に設定
Ammo Reload Delayを0.7に設定



Max Ammoを3に設定します。
これはフルチャージで武器が持つ弾薬の量です。

Max Ammoを3に設定
Max Ammoを3に設定



プロジェクトウィンドウで「muzzle flash」プレハブを見つけます。
「muzzle flash」プレハブはAssets > FPS > Prefabs > VFXにあります。

Assets &gt; FPS &gt; Prefabs &gt; VFX
Assets > FPS > Prefabs > VFX



この「muzzle flash」プレハブを「muzzle flash prefab」フィールドにドラッグ&ドロップします。
今回は「VFX_MuzzleFlashGreen」プレハブを選択しました。

「muzzle flash prefab」フィールドにドラッグ&ドロップ
「muzzle flash prefab」フィールドにドラッグ&ドロップ



プロジェクトウィンドウの「Assets > FPS > Audio > SFX > Weapons」でオーディオクリップを見つけます。

「Assets &gt; FPS &gt; Audio &gt; SFX &gt; Weapons」
「Assets > FPS > Audio > SFX > Weapons」



「Blaster_Shot」オーディオクリップを選択してShootSFXフィールドにドラッグ&ドロップで割り当てます。

ShootSFXフィールドにドラッグ&ドロップ
ShootSFXフィールドにドラッグ&ドロップ



プロジェクトウィンドウで「Assets > FPS > Audio > SFX > Pickups 」を開いてオーディオクリップを見つけます。

「Assets &gt; FPS &gt; Audio &gt; SFX &gt; Pickups 」
「Assets > FPS > Audio > SFX > Pickups 」



「Pickup_Weapon_Medium」オーディオクリップを選択して「Change Weapon SFX」フィールドにドラッグ&ドロップで割り当てます。

「Change Weapon SFX」フィールドにドラッグ&ドロップで割り当て
「Change Weapon SFX」フィールドにドラッグ&ドロップで割り当て



最後にインスペクター右上の鍵マークをクリックしてロックを解除します。

インスペクターのロックを解除
インスペクターのロックを解除



これで新しい武器プレハブの作成が完了しました。


<<前  [TOP]  次>>