Unity

【Unity】Game Creator 2 Shooter(遠距離戦闘・銃火器)完全解説

【Unity】Game Creator 2 Shooter(遠距離戦闘・銃火器)完全解説

当サイトを閲覧いただきありがとうございます。

本記事では、Game Creator 2のモジュールのひとつである「Shooter」(遠距離戦闘・銃火器)について詳しく解説します。

Shooterは遠距離攻撃・銃火器・弓矢・レーザー全般を網羅する拡張アセットです。マガジン/リロード/命中精度/リコイル/シェル排出/ジャム/サイト/FK・IKバイオメカニクス/風の影響まで、簡単なトップダウン弾幕からリアルなスナイパー射撃までカバーします。

公式ドキュメント:Game Creator 2 Documentation


Shooterとは

  • 「Weaponアセット」に「発射・弾道・リロード・命中精度・リコイル・サイト・ジャム・シェル排出」までを定義
  • 「Sightアセット」で「照準モード/姿勢/バイオメカニクス/スコープ」を定義
  • 「Ammo / Reloadアセット」で弾薬とリロード挙動を定義
  • 武器は複数同時装備可(主武器+懐中電灯、アサルト+グレネードなど)。ただし同じIDは同時装備不可

導入

  1. Asset StoreからShooterモジュールを購入
  2. Window > Package Manager からインストール
  3. Game Creator > Install... のサンプル:
    • Examples:各種ユースケースのシーン集
    • Weapons:読み込むだけで使える武器コレクション
  4. Examplesは全コンバットシステムに依存(自動解決)
  5. インストール先:Assets/Plugins/GameCreator/Installs/Shooter.Examples/

Weaponアセット

作成方法

Project右クリック → Create > Game Creator > Shooter > Weapon で作成します。

Weapon Data(基本情報)

  • Title / Description / Icon / Color:UI用
  • Hit Reaction:命中時に再生するReaction(未設定ならキャラの既定リアクション)
  • ID:一意識別子。同IDの複数装備は不可
  • State / Layer:装備中に遷移させるアニメーションState

Weapon Mode(専用編集モード)

Enter Weapon Mode ボタンで武器モデル単体のシーンに切替わります。ギズモで**Muzzle(青)/Sights(赤)/Shell Ejection(黄)**の位置・方向を直接編集可能です。

Magazine

  • Ammo:使用するAmmoアセット
  • Has Magazine:trueなら装填式、falseならAmmo全量を直接消費
  • Magazine Size:弾倉容量
  • Auto Reload:撃てない時に自動リロードするか(敵AIにも便利)

Muzzle

銃口の位置・方向です。Weapon Modeで直感的に編集できます。

Fire(発射)

  • Projectiles per Shot:1回で発射する弾数(ショットガンの散弾など)
  • Cartridges per Shot:1回で消費する弾薬数
  • Mode:発射モード(Single/Burst/Full Auto/Charge)
  • Fire Animation:射撃時のGesture
  • Fire Audio / Empty Audio / Load Start / Load Loop:効果音
  • Muzzle Effect:発射ごとに生成するエフェクトPrefab(Pooling可)
  • Use Force:Rigidbodyへの反動付与

Projectile

  • Shot:弾の種類(Raycast/Kinematic/Rigidbody/Tracer)
  • Impact:着弾時のMaterial Soundアセット(地面テクスチャごとに音と跡を変える)

Accuracy(命中精度)

内部の精度値は0〜1(1が最も正確)です。

  • Max Spread X / Y:精度が最小時の最大拡散角(度)
  • Spread Bias:0=中心寄り/1=外縁寄り
  • Accuracy Recover:精度回復速度
  • Motion Accuracy:移動中の最大精度
  • Airborne Accuracy:空中にいる時の最大精度
  • Accuracy Kick:1ショットごとに減る精度割合(例:0.25)

Recoil(カメラ反動)

  • Use Recoil:既定はPlayerのみ有効
  • Camera:反動を与える対象カメラ
  • Recoil X / Y:発射ごとのカメラ回転角
  • Recoil Duration:反動の到達時間

精度(Accuracy)は自動回復する内部値、反動(Recoil)はカメラ制御の独立機構です。

Shell(薬莢排出)

  • Position / Rotation:排出位置・方向(Weapon Modeの黄色ギズモで調整)
  • Prefab:薬莢Prefab(必須)
  • Use Pooling
  • Force / Torque:射出力と回転

排出は Eject Shell Instructionを On Shoot に置くのが最も一般的です。

Jam(ジャム/不発)

  • Chance:ジャム確率(動的プロパティで状況別に変更可能、例:雨・泥水)
  • Animation / Avatar Mask:修復アニメ
  • Audio:修復音

Fix Jam Instructionで修復します。ジャム中は射撃・リロード不可です。

Sights

武器に紐づくSight設定のリストです。IDで切替え、Sightアセットが本体情報を持ちます。

  • Scope Through(Human IK使用時のみ):武器を覗き込む位置/方向/距離を定義(主にFPS向け)

Reloads

  • リロードエントリ一覧。Weaponは上から順にConditionsを評価し、最初に成立したReloadアセットを実行
  • Skip when full:マガジンが満タンならスキップ
  • Conditions:このエントリを選ぶ条件

Weapon Animations

武器モデル自身のAnimatorで再生できる追加アニメです(ジャム時の外観変化など)。通常は使用しません。

Instructions(カスタム挙動)

Weaponアセット末尾で以下のカスタムロジックを定義可能です:

  • On Equip:装備時
  • On Unequip:解除時
  • Can Shoot:射撃可否(カットシーン中の制限に)
  • On Shoot:成功発射時(Eject Shell/Emit Noise等の起点)
  • On Start Reload:リロード開始時
  • On Finish Reload:リロード終了時
  • Can Hit:命中オブジェクトごとのフィルタ(フレンドリーファイア防止)
  • On Hit:命中処理(ダメージ・状態異常付与)

Fire Modes(発射モード)

Single

トリガ引きごとに1発。Fire Rate で秒あたり最大射数を制御します。

Burst

トリガ押下中に最大N発連射。Fire RateBurst 数を指定します。

Full Auto

トリガを押している間連射します。Auto Loading 選択肢:

  • Instant:即最大レート
  • Progressive:徐々に発射速度上昇(ミニガンの回転立上げ)
  • Wait to Load:一定時間押し続けてから発射開始(火炎放射器の予熱)

Charge

溜め撃ちです。

  • Min / Max Charge Time:最小・最大溜め時間
  • Auto Release:満タンで自動発射
  • Duration:オートリリースまでの余裕秒

Projectiles(弾種)

Raycast

直線レイキャストです。最速だが速度表現はLine Rendererで擬似的に行います。

  • Layer Mask / Max Distance / Pierces
  • Use Line Renderer(弾道軌跡)

Kinematic Projectile

自前計算で動く弾です。Collider / Rigidbodyは不要(内部的に毎フレームRaycast)。

  • Prefab / Delay / Force / Gravity / Air Resistance / Wind Influence
  • Attraction Force / Attraction Target(誘導)
  • Layer Mask / Max Distance / Pierces / Timeout

Rigidbody Projectile

Unity物理のRigidbodyで動く弾です。速度は最適化されますがオプションは少なめです。

  • Impulse / Impulse Force / Mass / Air Resistance / Wind Influence
  • Attraction Force / Attraction Target / Max Distance / Timeout

Tracer Target

ターゲットに必ず当たる誘導弾です。Bézier曲線でパスを作ります。

  • Prefab / Delay / Speed / Target
  • Deviation X / Y:開始時の軌道偏差(ミサイルの弧描き)

Sights(サイト/照準)

作成方法

Create > Game Creator > Shooter > Sight で作成します。

主な設定

  • Can Shoot:そのサイト状態で射撃できるか
  • Priority:複数武器装備時、IKが優先するサイト
  • Smooth Time:照準の追従遅延
  • State:サイト切替時に入るアニメState

Instructions

  • On Enter / On Exit:サイト切替イベント。FOVを小さくする定番演出を Change Field of View と組合せて実装

Aimingモード

  • Camera Center at Distance:カメラ前方+距離指定点。一人称/三人称どちらも可
  • Camera Center with Raycast:カメラ前方Raycastの当たり点。精度最優先
  • Character Target:特定GameObject(ロックオン)
  • Pointer on Plane:抽象平面へ投影(トップダウン/横スクロール向け)

Trajectory

弾道ライン描画です。アーチェリーやスナイパーに便利ですが、Raycastを毎フレームかけるので性能コストがあります。

Crosshair

Crosshairアセット を割当て、画面上にレティクル表示します。別Weaponでも共通利用可能です。

Laser

マズルから直線のラインレンダラです。衝突時に Dot Prefab を生成します。敵のエイム可視化、Diegetic UIとして有用です。

Animations

各動作でFK/IKを使うかどうかの切替設定です:

  • Reloading / Shooting / Fixing uses FK:各動作でFKを使うか
  • Reloading / Shooting / Fixing uses IK:同IK

基本OFF推奨です。ポーチに手を伸ばす等、動作とIKがズレる場合はOFFが自然です。


Biomechanics(身体構造)

SightのBiomechanicsドロップダウンで選びます。

None

ボーン回転なし。砲塔等で別スクリプトが向きを制御する場合向けです。最高性能です。

Human FK

前方キネマティクスでヒップ〜手まで回転配分します。ヒューマノイドの標準です。

  • Optics:視線基準のボーン
  • Recoil:各ショットの反動(ボーン毎の分配)
  • Free Hand:空き手を武器のハンドル等に固定(IK)
  • Bones Pitch / Yaw / Lean:各軸の回転分配とMax角

Human IK

逆運動学でアイアンサイトに正確に合わせます。FPSでアイアンサイト/レフレックスサイト向きです。

  • Recoil/Free Hand/Bones Pitch/Yaw/LeanはFKと同様
  • Sway:武器の慣性遅延(Weightで大きさ、Swayで回復速度)
  • Pull on Obstruction:壁にめり込む寸前で武器を手前に引く(性能コストあり)

Ammo/Reload/Jam/Shell

Ammoアセット

Create > Game Creator > Shooter > Ammo で作成します。

  • Infinite:無限化
  • Value:弾薬ソース。標準は武器内部のMunition値だが、InventoryのItemやStatsのStat(マナなど)に差し替え可能

Reloadアセット

Create > Game Creator > Shooter > Reload で作成します。

  • Animation:リロード本体
  • Reload Mode(リロードモード編集画面):
    • Magazine Track(黄):マガジンの生成 → 手→武器への移動
    • Quick-Reload Track(緑)Try Quick Reload が発火できる区間
    • Instructions Track:任意時点でのInstruction実行
  • Speed:リロード速度(動的)
  • Discard Magazine Ammo:リロード時に残弾破棄

Quick Reload

Try Quick Reload InstructionがQuick-Reload Track中に発火するとリロードアニメを短縮成功します。範囲外で発火すると失敗判定です。

Shell

WeaponのShellセクションでPrefab/Force/Torque/Poolingを設定し、Eject Shell Instructionで排出します。


Wind(風の影響)

  • グローバルなDirection + Magnitude
  • Kinematic/Rigidbody弾のWind Influenceを通じて弾道に影響
  • Change Wind(方向と強さ同時)/Change Wind Direction(方向のみ)/Change Wind Magnitude(強さのみ)
  • On Wind Change Triggerで変化を監視

User Interface

Ammo UI

武器の弾薬表示です。Instructionで差替え可能です。

Reload UI

リロード進捗とQuick-Reloadタイミング表示です。

Crosshair UI

  • Reticle:位置基準のUI要素
  • Direction:None/Away from Player/Away from Screen Center
  • Accuracy Fill:精度最低/最高時の値ペアで設定

Scopes(ホロサイト風シェーダ)

専用シェーダでホログラフィックサイトを表現可能です(Shader Graphソース付)。


Usage(運用ワークフロー)

装備

  1. Attach Prop で武器モデルを手に付ける
  2. Equip Shooter Weapon で直後に装備

射撃

  1. Pull Fire Trigger で発射開始(Trigger On Button Press に紐付け)
  2. Release Fire Trigger で解除(On Button Release
  3. 複数武器装備時はWeaponを明示指定

リロード

  • Reload Weapon で自発リロード
  • 自動リロードはWeaponのAuto ReloadをONに

ジャム対応

  • WeaponのJam Chance > 0ならランタイムでジャム
  • Fix Jam Instructionで修復
  • Jam中はリロード・射撃ともに不可

Lean(左右傾き)

Character Lean Instructionで脊椎を傾斜します。First Person Camera Shotなら自動でカメラも追従します。


Visual Scriptingリファレンス

Instructions(17)

Shooter > Ammo(2)

命令機能主なパラメータ
Change Magazine武器のマガジン値を変更Character/Weapon/Magazine
Change Munition武器の総弾薬値を変更Character/Weapon/Munition

Shooter > Equip(2)

命令機能主なパラメータ
Equip Shooter Weapon武器を装備Character/Weapon
Unequip Shooter Weapon武器を解除Character/Weapon

Shooter > Jam(2)

命令機能主なパラメータ
Fix Jamジャム修復Character/Weapon
Jam強制的にジャム状態にするCharacter/Weapon

Shooter > Reload(3)

命令機能主なパラメータ
Reload Weaponリロード実行Character/Weapon
Try Quick ReloadQuick Reload試行Character/Weapon
Eject Shell薬莢排出Character/Weapon

Shooter > Shooting(2)

命令機能主なパラメータ
Pull Fire Triggerトリガを引くCharacter/Weapon
Release Fire Triggerトリガを離すCharacter/Weapon

Shooter > Sights(3)

命令機能主なパラメータ
Character Leanキャラを左右に傾けるCharacter/Angle/Speed
Set Default Sight既定サイトに戻すCharacter/Weapon
Set Sight ID指定Sightに切替Character/Weapon/Sight ID

Shooter > Wind(3)

命令機能主なパラメータ
Change Wind風の方向と強さを同時変更Direction/Force
Change Wind Direction方向のみDirection
Change Wind Magnitude強さのみForce

Conditions(5)

条件判定主なパラメータ
Has Equipped Shooter指定Weaponを装備中かCharacter/Weapon
Is Jammed指定武器がジャム中かCharacter/Weapon
Is Pulling Triggerトリガを引いている最中かCharacter/Weapon
Has Sight ID指定Sightを保有しているかCharacter/Weapon
Is Sight ID現在そのSight状態かCharacter/Weapon

Events(4)

イベント発火タイミング
On Equip WeaponShooter Weaponを装備
On Unequip WeaponShooter Weaponを解除
On Shoot Hitこのコライダーに弾が当たった
On Wind Change風の方向/強さが変化

実践的な使い方 ― やりたいこと別の構成ガイド

アサルトライフル

  1. Weaponを作成。Mode = Full Auto、Fire Rate高、Accuracy Kick中
  2. Projectile = Raycast、Max Distance 100m
  3. Sight:Camera Center at Distance、Human FK
  4. Pull/Release Fire Triggerで射撃、Reload Weaponで装填

スナイパーライフル

  1. Projectile = Kinematic、Force高、Wind Influence 1.0、Air Resistance低
  2. Sight:Camera Center with Raycast、Human IK、Scope Through ON
  3. Holoscopeシェーダ+Crosshairで視点切替(On Enterで Change Field of View
  4. Trajectory ONで弾道可視化

ショットガン

  1. Projectiles per Shot = 8、Max Spread X/Y大
  2. Cartridges per Shot = 1、Magazine Size = 6
  3. Reload = Value(1発ずつ)+ Stateで「シェル挿入」ポーズ
  4. Eject ShellをOn Shootに

弓矢(溜め撃ち)

  1. Mode = Charge、Min Charge 0.5s、Max Charge 2.0s、Auto Release = true
  2. Load Start:弓を引き絞る音
  3. Projectile = Kinematic、Gravity適用、Air Resistance中
  4. Trajectory ON

火炎放射器

  1. Mode = Full Auto、Auto Loading = Wait to Load(2秒の予熱)
  2. Load Start:ガス放出SE、Load Loop:燃焼SE
  3. Projectile = Kinematic、Force中、Timeout 0.3sで自然消滅
  4. Muzzle EffectにパーティクルPrefab、Pooling ON

ミニガン

  1. Mode = Full Auto、Auto Loading = Progressive、Auto Load Duration = 1.5s
  2. Load Loop(バレル回転音)のピッチをMin → Maxに変動
  3. Fire Rate高め、Accuracy Kick低め(連射が持ち味)

ホーミングミサイル

  1. Projectile = Tracer Target
  2. Targetに前フレームの敵参照(Blackboard等で)
  3. Deviation Yを大きめに取り、一度上空へ弧を描いてから着弾

フレンドリーファイア無効

WeaponのCan Hitに条件:「Targetのタグが “enemy”」以外はfalseに設定します。

コーナーピーク

Character Leanを押下中のみ+20°、離すと0°に戻すTrigger構成です。

Inventory連動弾薬

AmmoアセットのValueをInventoryのItemに差し替え、Bag内の弾丸を消費するよう結線します。


Tipsと注意点

  • Weapon IDは一意に:同じIDを同時装備できない。弓と矢で別Weaponに分ける場合など、ID設計を最初に決める
  • Kinematic ProjectileにはCollider/Rigidbodyを付けない:内部Raycastと衝突する
  • Sight Priority:両手に武器があるとIK衝突が起きる。主要武器を高Priorityに
  • Scope ThroughはHuman IK限定:FPS以外では浮きやすい。第三者視点はHuman FKを推奨
  • RecoilとAccuracyの使い分け:Recoilは見た目(カメラ回転)、Accuracyは当たり判定。両方いじると過剰になるので、まずどちらか1軸を固めてから調整
  • Jam Chanceは動的プロパティ可:雨天時や泥中でジャム率アップ、などのゲーム要素に
  • Reloadアセットは条件で分岐:残弾あり・なしで別アニメに自然に切替できる
  • Quick Reload Trackの範囲を短くしすぎない:プレイヤーがタイミングをつかめない。0.3〜0.6sあたりから調整
  • Windは弾道に影響:スナイパーミッションでは雰囲気的に弱風を常時設定しておくのが安全
  • TrajectoryとPull on Obstructionは性能コスト高い:リソースの厳しい端末ではON/OFFをオプション化
  • Fire Audio vs Load Loop:単発銃はFireのみ、連射系はLoad Loop。両方鳴らさない構成を意識
  • Aimモード選択:トップダウンならPointer on Plane、FPSならCamera Center With Raycast、TPSはCamera Center at Distanceが軽くて無難

関連する他モジュール

  • Characters:Reaction/Hit Reaction/Lean/Busyで全面的に連動
  • Stats:ダメージ計算、ステルス値、ジャム率などをFormulaとStatで統合
  • Inventory:Equip Item連動で武器装備。弾薬をItemソースに
  • Perception:On ShootでEmit Noise、Muzzle FlashをEvidence化
  • Behavior / Utility AI:敵の射撃行動をProcessorで統括
  • Cameras:FOV切替・Recoil・Shakeが直接連携

公式リンク


まとめ

本記事では、Game Creator 2の「Shooter」モジュールについて解説しました。

Single/Burst/Full Auto/Chargeの4発射モードRaycast/Kinematic/Rigidbody/Tracerの4弾種の組合せで、アサルトライフルからスナイパー、ショットガン、弓矢、火炎放射器、ホーミングミサイルまで幅広い遠距離武器を実現できます。

Biomechanics(None/Human FK/Human IK)によるアニメーション制御、Accuracy・Recoil・Jam・Windによるリアルな射撃感、Quick Reloadによるアクション性の付加など、シンプルなカジュアルシューターからリアルなFPSまで対応する設計です。

Visual ScriptingではInstruction 17種・Condition 5種・Event 4種が用意されています。

全記事一覧 ― Game Creator 2 完全ガイド シリーズ総合案内senkohome.com/gamecreator2-series-index/

それでは次の記事も閲覧いただけると幸いです。