ノックバックの作り方|プレイヤーや敵が吹き飛ぶ処理の基本

アクションゲームの作り方

ノックバックを実装したい。でも、プレイヤーや敵が吹き飛ぶ処理が分からない。

多くの学生が最初に感じるのが、この疑問です。

実は、ノックバックは、AddForceやVelocity制御を使うことで実現できます。

この記事では、ノックバックの作り方として、プレイヤーや敵が吹き飛ぶ処理の基本を解説します。

この記事でわかること

  • ノックバックの基本概念
  • AddForceを使った実装
  • Velocity制御を使った実装
  • 方向と強さの調整方法
ゲーム開発講師
ゲーム開発講師

ノックバックは、アクションゲームに必須の機能です。まずは、基本的なAddForceから始めましょう。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

ノックバックの基本概念

ノックバック 基本概念

ノックバックは、攻撃を受けたときに、キャラクターが吹き飛ぶ処理です。

主な要素は次の通りです。

  • 方向の計算
  • 強さの設定
  • 力の適用

これらを組み合わせることで、基本的なノックバックができます。

攻撃を受けた方向に、一定の力で吹き飛びます。

この後、実際にどのように方向を計算し、力を加えて吹き飛ばすのかを具体的に解説していきます。

ここを理解すると、キャラクターの動きが一段と魅力的になります。

AddForceを使った実装

AddForce 実装

AddForceを使った実装は、次の手順で進めます。

AddForceを使ったノックバック実装
  • STEP1
    方向を計算

    攻撃を受けた方向を計算します。
  • STEP2
    力を設定

    ノックバックの強さを設定します。
  • STEP3
    AddForceを適用

    RigidbodyにAddForceを適用します。

この順番で進めれば、基本的なノックバックが完成します。

AddForceを使うことで、物理演算による自然な動きができます。

ゲーム開発講師
ゲーム開発講師

AddForceを使うことで、物理演算による自然な動きができます。まずは、この方法を試してみてください。

AddForceでノックバックを与えるコード例

AddForceを使う場合は、「方向を計算して、その方向へ力を加える」という流れが基本です。

特に Unity 2D では ForceMode2D.Impulse を使うことで、瞬間的な吹き飛びを自然に再現できます。

以下は最もシンプルで分かりやすいノックバックの例です。

  • direction は必ず normalized(正規化)して、向きだけを扱う
  • power は 5〜15 程度から調整すると扱いやすい
  • 攻撃側と被弾側の高さが違う場合は Z(または Y)も計算対象にする

このコード例により、STEPで説明した「方向 → 強さ → AddForce」が具体的にイメージできるようになります。

Velocity制御を使った実装

Velocity制御 実装

Velocity制御を使った実装は、直接速度を設定します。

主な方法は次の通りです。

  • 方向を計算する
  • 速度を設定する
  • Velocityを直接設定する

これらを組み合わせることで、基本的なノックバックができます。

Velocityを直接設定することで、より精密な制御ができます。

Velocityを直接設定するノックバックのコード例

Velocity制御では、Rigidbody の速度を直接書き換えることでノックバックを発生させます。AddForceよりも狙った挙動を作りやすく、停止タイミングも管理しやすいため、アクションゲームでよく使われる方法です。

補足

  • AddForceと違い、指定した速度へ一瞬で切り替わるため挙動が安定しやすい
  • 自然さより「制御のしやすさ」を優先したいときに向いている
  • すぐ止めたい場合は、ノックバック時間を管理したり減速処理を追加するとよい
  • power は 5〜20 程度から調整すると扱いやすい

Velocity方式は「思い通りの吹き飛び方にしたい」「AddForceだと物理挙動が暴れる」という場面で特に有効です。

方向と強さの調整方法

方向 強さ 調整方法

方向と強さの調整は、次の要素で制御します。

  • 攻撃を受けた位置
  • 攻撃をした位置
  • ノックバックの強さ

これらを組み合わせることで、方向と強さを調整できます。

攻撃を受けた位置と攻撃をした位置から、方向を計算します。

方向と強さを計算してノックバックを与えるコード例

ノックバックの方向と強さは、攻撃した位置と攻撃を受けた位置の差分から計算できます。方向ベクトルを正規化し、そこに任意の強さを掛け合わせるだけで、さまざまな吹き飛び方を作れます。

補足

  • direction は必ず normalized() して、向きだけを取り出す
  • power は 5〜20 程度から調整すると、扱いやすい吹き飛びになる
  • キャラの質量やゲームスピードによって、最適な値は変わる
  • 上下方向に強く飛ばしたい場合は Y(または Z)成分に補正をかけるとよい

慣れてきたら、減速処理やノックバック時間の管理を入れると、よりゲームらしい動きになりますよ。

実践的なノックバック実装を学ぶには

Unity ノックバック 講座

ここまで、ノックバックの作り方について解説してきました。

ノックバックは、アクションゲームに必須の機能です。

Unity入門の森では、Unityを使ったアクションゲームの作り方を、基礎から完成まで丁寧に解説しています。

コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。

Q: 初心者でも本当に作れるの?
A: はい。Unity入門の森の講座では、プログラミング経験がなくても、手順通りに進めれば完成までたどり着けます。分からない部分は、動画と図解で詳しく説明しています。

アクションゲーム制作に特化した講座なら、効率的にスキルアップできます。

ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。

ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

まとめ

ノックバック まとめ

ノックバックの作り方について解説しました。

要点のまとめ

  • ノックバックは、攻撃を受けた方向に、一定の力で吹き飛ぶ処理
  • AddForceを使うことで、物理演算による自然な動きができる
  • Velocity制御を使うことで、より精密な制御ができる
  • 方向と強さは、攻撃を受けた位置と攻撃をした位置から計算する

基本を押さえれば、あとは応用していくだけです。

まずは、シンプルなノックバックから始めてみてください。

動かしながら理解を深めていくのが、上達への近道です。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

コメント

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