ゲーム開発でよく使う計算って、どんなものがあるのか。
移動や回転、当たり判定に必要な数学の基礎を知りたい。
実は、ゲーム数学の基礎は、移動・回転・当たり判定に必要な計算から始まります。
これらを理解すれば、様々なゲーム機能を実装できます。
この記事では、ゲーム数学の基礎として、移動・回転・当たり判定に必要な計算を見ていきましょう。
- ゲーム数学の基礎が分からない…
- 移動や回転、当たり判定に必要な計算方法が理解できていない。
- 基本的な計算を学びたい。
✨ この記事でわかること
- 移動に必要なベクトル計算の基礎
- 回転に必要なクォータニオンやオイラー角の基礎
- 当たり判定に必要な距離計算の基礎
- Unityでの実装方法とコード例
- 初心者でも理解できる基礎計算
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます
ゲーム数学基礎とは何か(ゲーム制作目線)

ゲーム数学の基礎は、移動・回転・当たり判定に必要な基本的な計算です。
ゲーム開発で最もよく使われる計算は、キャラクターの移動、オブジェクトの回転、衝突判定の3つです。
これらを理解すれば、様々なゲーム機能を実装できるようになります。
移動にはベクトル計算、回転にはクォータニオンやオイラー角、当たり判定には距離計算やベクトル計算が必要です。
Unityの関数やクラスを使えば、これらの計算を簡単に実装できます。
ゲーム開発に必要な数学をゲーム目線で整理|Unity実装で使う計算の全体像
ゲームでの具体的な使い道

ゲーム数学の基礎が、ゲームでどう使われているか確認してみましょう。
移動の計算
キャラクターを移動させる際、方向ベクトルと速度を使って位置を更新します。
ベクトルの加減算や正規化が基本となります。
回転の計算
オブジェクトを回転させる際、クォータニオンやオイラー角を使います。
UnityのTransform.rotationは、クォータニオン型で管理されています。
当たり判定の計算
オブジェクト同士の衝突判定には、距離計算やベクトル計算が使われます。
距離を使った簡単な当たり判定から始めましょう。
組み合わせた実装
移動、回転、当たり判定を組み合わせることで、様々なゲーム機能を実装できます。
例えば、キャラクターが移動しながら回転し、敵と衝突したらダメージを与えるなどです。
ゲーム数学基礎で学ぶ内容
- 移動:ベクトル計算(方向、速度、位置の更新)
- 回転:クォータニオン、オイラー角(向きの変更)
- 当たり判定:距離計算、ベクトル計算(衝突検出)
作り方は分かった。
でも完成まで行けない人へ
当たり判定・移動・カメラ・AIまで、
実装しながら学べる「永久会員チケット」です。
※ まずは内容を見るだけでOK
考え方・仕組みを図解イメージで説明

ゲーム数学の基礎は、移動・回転・当たり判定の3つが中心です。
移動の仕組み
移動は、方向ベクトルと速度を使って位置を更新します。
毎フレーム、現在位置に移動量を加算すれば、滑らかな移動を実現します。
回転の仕組み
回転は、クォータニオンやオイラー角を使って向きを変更します。
Unityでは、Transform.rotationにクォータニオンを設定すれば回転を適用できます。
当たり判定の仕組み
当たり判定は、距離計算やベクトル計算を使って衝突を検出します。
2つのオブジェクトの距離を計算し、一定の範囲内なら衝突と判定します。
3つの基礎の関係
移動、回転、当たり判定は、独立していますが、組み合わせて使うことが多いです。
それぞれの基礎を理解すれば、より複雑な機能を実装できます。
⚠️ 重要なポイント

- ゲーム数学の基礎は、移動・回転・当たり判定の3つが中心
- 移動は方向ベクトルと速度で位置を更新
- 回転はクォータニオンやオイラー角で向きを変更
- 当たり判定は距離計算やベクトル計算で衝突を検出
Unityで実装する際の注意点(代表例)

Unityでゲーム数学を扱う際、数式そのものを書くことは稀ですが、「どの関数がどの数学概念を使っているか」を知ることで、バグの少ない実装が可能になります。
具体的なコードとともに、その裏側にある考え方を見ていきましょう。
移動の実装:ベクトルの引き算と正規化
キャラクターを目標に向かわせるには、数学の「ベクトルの引き算」を使います。
ターゲットの座標から自分の座標を引くことで、相手への方向が割り出せます。
ここで重要なのが、方向を純粋な「向き」にするための「正規化(normalized)」です。
これを行わないと、距離が離れているほど移動速度が異常に速くなってしまいます。
|
1 2 3 4 5 6 7 8 9 |
// ①ベクトルの引き算で「向きと距離」を算出 Vector3 relativeVector = target.position - transform.position; // ②正規化で「向き(長さ1)」に変換 Vector3 direction = relativeVector.normalized; // ③速度と時間を掛けて位置を更新 transform.position += direction * moveSpeed * Time.deltaTime; |
回転の実装:オイラー角とクォータニオンの使い分け
Unityでは回転を「クォータニオン(四元数)」という複雑な数学で管理しています。
なぜ直感的な「度数(オイラー角)」を使わないのかというと、特定の角度で回転軸が重なり動かなくなる「ジンバルロック」という数学的現象を防ぐためです。
基本的には、人間が理解しやすいオイラー角で数値を指定し、Unity内部ではクォータニオンとして処理させるのがコツです。
|
1 2 3 4 5 6 7 |
// ターゲットの方角を向くクォータニオンを作成 Quaternion targetRotation = Quaternion.LookRotation(direction); transform.rotation = targetRotation; // 特定の軸(例:Y軸)で90度回転させる transform.rotation = Quaternion.Euler(0, 90, 0); |
当たり判定の実装:ピタゴラスの定理と内積
最もシンプルな当たり判定は、2点間の距離を測る「距離計算」です。
これは数学の「ピタゴラスの定理」を3次元に応用したものです。
さらに応用として、数学の「内積(Dot Product)」を使えば、「敵が自分の視界(正面)に入っているか?」といった、距離だけでは判定できない高度な仕掛けも作れるようになります。
|
1 2 3 4 5 6 7 8 9 |
// 二点間の距離(ピタゴラスの定理の応用)を計算 float distance = Vector3.Distance(transform.position, target.position); // 距離による当たり判定 if (distance < detectionRange) { Debug.Log("射程圏内です"); } |
移動・回転・判定を組み合わせた実戦コード
これら3つの要素を組み合わせることで、初めて「生きているようなキャラクターの動き」が完成します。
毎フレーム(Update)、移動し続けながら、相手の方を向き、攻撃が当たる距離かを判定する一連の流れです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void Update() { // 1. 移動:ターゲットへの方向を算出して進む Vector3 direction = (target.position - transform.position).normalized; transform.position += direction * moveSpeed * Time.deltaTime; // 2. 回転:進んでいる方向を常にむく if (direction != Vector3.zero) { transform.rotation = Quaternion.LookRotation(direction); } // 3. 当たり判定:一定距離まで近づいたらアクション float distance = Vector3.Distance(transform.position, target.position); if (distance < attackRange) { Debug.Log("攻撃開始!"); } } |
実装のコツ:APIの裏側を意識する
Unityには便利な関数が揃っていますが、それらはすべて数学的なルールに基づいています。
Vector3.Distance を見たら「内部でピタゴラスの定理が動いているな」、normalized を見たら「ベクトルの長さを1にしているんだな」と意識するだけで、応用力が格段にアップします。

まとめ

この記事では、ゲーム数学の基礎について見てきました。
重要なポイントをおさらいします。
重要なポイント:
- ゲーム数学の基礎は、移動・回転・当たり判定の3つが中心
- 移動は方向ベクトルと速度で位置を更新する
- 回転はクォータニオンやオイラー角で向きを変更する
- 当たり判定は距離計算やベクトル計算で衝突を検出する
- Unityの関数を活用すれば、簡単に実装できる
ゲーム数学の基礎は、移動・回転・当たり判定の3つが中心です。
これらを理解すれば、様々なゲーム機能を実装できます。
Unityの関数を活用しながら、基礎から学んでいきましょう。
実際のゲーム実装とセットで学ぶことで、理解が深まるはずです。
Unity入門の森では、ゲーム数学の基礎を含むゲーム開発に必要な数学を、実際のゲーム実装とともに体系的に学べます。
ぜひチェックしてみてください。
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます





コメント