初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

Unityでボス戦を実装 | フェーズと攻撃パターン

Unity ゲーム制作実践

「通常敵と同じ動きの大きいキャラ」——それだけでは、ボス戦の特別感は出ません。

ボスは088の敵AIを土台に、専用HP・フェーズ切替・複数の攻撃パターンを足した存在として設計します。
最初から巨大なボスを作る必要はなく、小さなボス1体で完結する規模感がおすすめです。

この記事では、ボス専用HP、HP閾値でのフェーズ変更、攻撃パターン2〜3種の実装を整理します。

  • ボスと雑魚敵の差がなく、迫力が出ない…
  • HPが多いだけで、行動パターンが単調。
  • フェーズ切替のタイミングと攻撃の切り替え方が分からない。

この記事でわかること

  • 088通常敵との差別化ポイント
  • ボス専用HPと265HPゲージUIの接続
  • HP閾値でフェーズを切り替える設計
  • 攻撃パターン2〜3種の追加方法
  • ボス出現演出と087クリア演出との対比
  • 初心者でも理解できる解説

\プログラミング未経験でも大丈夫!まずは1本作り切ろう/

初心者が最初に選ぶならコレ

Unity ノンフィールドRPG
+スレスパ風JRPG講座

★★★★★ (Unity6対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で3Dゲームが完成!/

通常敵とボスの違い

088の敵AIは「パトロールして追いかける」だけでも十分機能します。
ボスはその上に、次の要素を足します。

要素 通常敵(088) ボス(089)
HP 1〜3発で倒れる 専用HP(例:500〜1000)
行動 パトロール+追尾 フェーズごとに攻撃パターン変更
UI なし or 小さいHPバー 画面上部にボスHPゲージ(265)
演出 撃破で消える 出現演出・フェーズ移行・撃破演出(267)

最初は攻撃パターン2種(直進突進+弾発射)だけでも、ボスらしさは十分出ます。
088の追尾AIをベースに、攻撃だけ足していく考え方で進めましょう。

BossControllerの基本構造

088のEnemyAI2Dを拡張し、HP管理とフェーズ切替を追加します。

using UnityEngine;

public enum BossPhase { Phase1, Phase2, Phase3 }

public class BossController : MonoBehaviour
{
  public int maxHP = 500;
  public int currentHP;
  public BossPhase phase = BossPhase.Phase1;
  public Transform player;
  float attackTimer;

  void Start
  {
    currentHP = maxHP;
    UpdatePhase;
  }

  public void TakeDamage(int amount)
  {
    currentHP -= amount;
    if (currentHP <= 0) { OnDefeat; return; }
    UpdatePhase;
  }

  void UpdatePhase
  {
    float ratio = (float)currentHP / maxHP;
    if (ratio > 0.6f) phase = BossPhase.Phase1;
    else if (ratio > 0.3f) phase = BossPhase.Phase2;
    else phase = BossPhase.Phase3;
  }

  void Update
  {
    attackTimer -= Time.deltaTime;
    if (attackTimer <= 0f)
    {
      ExecuteAttack;
      attackTimer = GetCooldownForPhase;
    }
  }

  void ExecuteAttack
  {
    switch (phase)
    {
      case BossPhase.Phase1: ChargeAttack; break;
      case BossPhase.Phase2: ShootBullet; break;
      case BossPhase.Phase3: ChargeAttack; ShootBullet; break;
    }
  }
}

081のTakeDamageと同じ入口を使い、265のSliderでcurrentHP / maxHPをUI更新します。

GetCooldownForPhaseはフェーズごとに攻撃間隔を変えるメソッドです。
Phase1なら3秒、Phase2なら2秒、Phase3なら1.5秒のように短くすると、HPが減るほどプレッシャーが増す設計になります。
OnDefeat内では091のエフェクト再生と087のクリア処理を呼び分けましょう。

管理人
管理人

フェーズは3段階も最初は多いかもしれません。
Phase1とPhase2の2段階から始め、動いたらPhase3を足す進め方が安全です。

攻撃パターンの実装例

攻撃は独立したメソッドに分け、080のInstantiateで弾を生成します。

  • ChargeAttack … 088のChaseを一時的に高速化し、プレイヤー方向へ突進
  • ShootBullet … プレイヤー方向へ弾プレハブをInstantiate
  • AreaAttack … 足元にWarning表示のあとダメージ範囲(266の応用)
void ChargeAttack
{
  StartCoroutine(ChargeRoutine);
}

System.Collections.IEnumerator ChargeRoutine
{
  float speed = 8f;
  float duration = 0.5f;
  float elapsed = 0f;
  while (elapsed < duration)
  {
    Vector3 dir = (player.position - transform.position).normalized;
    transform.position += dir * speed * Time.deltaTime;
    elapsed += Time.deltaTime;
    yield return null;
  }
}

void ShootBullet
{
  if (bulletPrefab == null || player == null) return;
  Vector3 dir = (player.position - transform.position).normalized;
  Instantiate(bulletPrefab, transform.position, Quaternion.identity);
}

090の当たり判定で、弾のCollider2D(Is Trigger)がPlayerタグと衝突したらダメージを与えます。

ボス出現と撃破演出

ステージ開始時にボスを非表示にしておき、プレイヤーがエリアに入ったら出現させる演出が定番です。
088のChase開始と同じTrigger判定でbossObject.SetActive(true)を呼べます。

撃破時は267のパーティクル記事と同様、HP0で爆発エフェクトを再生し、087のクリア演出へ接続します。
Time.timeScaleを一時停止して達成感を出す方法も有効です。

ボス戦開始前にカメラをズームインさせる演出を入れる場合、263のDoTweenでカメラのOrthographic Sizeを短時間で変更する方法が手軽です。
出現→BGM切替→HPゲージ表示の順で段階的に情報を出すと、プレイヤーが状況を把握しやすくなります。

ボス戦の実装手順
  • STEP1
    ボス用HPとUI

    maxHP設定、265のSliderと接続
  • STEP2
    攻撃1種を実装

    ChargeAttackまたはShootBullet
  • STEP3
    フェーズ切替

    HP閾値でphaseを更新
  • STEP4
    攻撃2種目を追加

    Phase2以降で別攻撃を実行
  • STEP5
    出現・撃破演出

    Trigger出現、267パーティクルで撃破

つまずきやすいポイント

ボス戦でよくある問題は次のとおりです。

  • ボスが攻撃しない → attackTimerの初期値、player参照を確認
  • フェーズが切り替わらない → TakeDamageが呼ばれているか、HP更新後にUpdatePhaseを呼ぶ
  • 弾がプレイヤーに当たらない → 090のLayer設定、Is Triggerの確認
  • HPゲージが動かない → Slider.value = (float)currentHP / maxHP

テスト用に、プレイヤー攻撃でボスHPを一気に半分にするデバッグキーを入れると、フェーズ2以降の動作確認が楽になります。

ボス戦中はBGMを別曲に切り替える演出も効果的です。
092のオーディオ記事と同様、出現Trigger内でAudioManager.PlayBGM(bossBGM)を呼び、撃破時に通常BGMへ戻す流れが定番です。
プレイヤーの操作不能時間を攻撃直前に短く入れると、読みやすいボス戦になります。

管理人
管理人

252の弱点システムや266の行動パターンは、このボス1体が動いてから足す発展要素です。
まずは「HPが多く、攻撃が2種類ある敵」を目標にしましょう。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座

  • Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
  • Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
  • 初心者でも迷わず進められる丁寧な解説構成
  • ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。

Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。

「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。

Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!

Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風3Dアクションゲームの作り方講座

  • ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
  • 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
  • スマホ化対応で実機で動かせるゲームが完成
  • アセットを使った実践的なゲーム開発手法が身につく
  • 画像・動画・全ソースコード公開の充実したサポート

ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。

全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。

「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。

初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!

まとめ

Unityのボス戦は、088敵AIを土台に専用HP → フェーズ切替 → 攻撃2〜3種 → 出現・撃破演出、この順で小さく始められます。
265のHPゲージと087のクリア演出と組み合わせれば、ステージのクライマックスになります。

ボス1体が動くと、ゲームの完成度が一段上がります。
敵AIからボス撃破まで一連で学びたい方は、Unity入門の森の講座も、ボス戦まで含めて追える教材として参考になります。

中ボスとして先に1体試し、本ボス前に配置する構成もおすすめです。
同じBossControllerをHPだけ変えて使い回せば、ステージごとの区切りを増やしやすくなります。
まずは突進1種から動かしてみましょう。

今日はHP500のボス1体に、突進と弾の2攻撃だけ付けて、フェーズ1と2が切り替わるところまで進めてみてください。

ボス戦用の専用エリアをTriggerで囲み、プレイヤーが入ったら扉が閉まって逃げられなくする演出も定番です。
090のTrigger判定と138のLayer設定を組み合わせれば、ボスルーム内だけの当たり判定設計も可能です。

コメント

タイトルとURLをコピーしました