乱数を使うと、極端な値が出すぎて不自然になる。
どうすれば、より自然なランダム性を実現できるのか。
実は、正規分布を使うことで、自然なランダム性を実現できるのです。
正規分布は、平均値を中心に、値が分布する確率分布です。
この記事では、正規分布をゲームで使う理由について、Unity実装例とともに解説します。
- 正規分布をゲームでどう使えばいいか分からない…
- 自然なランダム性を実現したいが、方法が理解できていない。
- 確率分布をゲームに応用したい。
✨ この記事でわかること
- 正規分布の基本概念
- ゲームでの正規分布の活用方法
- ボックスミュラー法による正規分布の生成
- Unityでの正規分布の実装方法
- 初心者でも理解できる確率分布の基礎
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます
正規分布とは何か(ゲーム制作目線)

正規分布は、平均値を中心に、値が分布する確率分布です。
値が平均値付近に多く、平均値から離れるほど少なくなるという特徴があります。
正規分布の特徴は、自然なランダム性と統計的な性質です。
一様乱数では、全ての値が等しい確率で出現します。
正規分布では、平均値付近の値が多く出現するため、より自然なランダム性を実現できます。
ゲームでの具体的な使い道

正規分布が、ゲームでどう使われているか確認してみましょう。
ダメージ値の変動
攻撃のダメージ値を、平均値を中心に変動させます。
正規分布を使うことで、極端に高い値や低い値が出にくくなり、より自然なダメージになります。
敵の能力値
敵の能力値を、平均値を中心にランダムに生成します。
正規分布を使うことで、平均的な敵が多く、極端に強い敵や弱い敵が少なくなります。
AIの行動時間
AIの行動間隔を、平均値を中心にランダムに設定します。
正規分布を使うことで、より自然なタイミングで行動します。
- ダメージ値の変動
- 敵の能力値
- AIの行動時間
- ランダムな位置生成
作り方は分かった。
でも完成まで行けない人へ
当たり判定・移動・カメラ・AIまで、
実装しながら学べる「永久会員チケット」です。
※ まずは内容を見るだけでOK
考え方・仕組みを図解イメージで説明

正規分布は、「平均値と標準偏差の設定 → 正規分布の生成 → 値の使用」という流れで実現できます。
平均値と標準偏差
正規分布は、平均値と標準偏差で定義されます。
平均値が分布の中心で、標準偏差が分布の広がりを表します。
ボックスミュラー法
正規分布を生成する方法として、ボックスミュラー法があります。
2つの一様乱数から、正規分布に従う乱数を生成します。
値の使用
生成した正規分布の値を使って、ダメージ値や能力値を決定します。
平均値付近の値が多く出現するため、より自然なランダム性を実現できます。
- 正規分布は、平均値を中心に値が分布する確率分布
- 平均値付近の値が多く、極端な値が少ない
- ボックスミュラー法を使って、正規分布に従う乱数を生成できる
- 一様乱数より自然なランダム性を実現できる
Unityで実装する際の注意点(代表例)

Unityで正規分布を実装する場合の注意点を見ていきましょう。
ボックスミュラー法の実装
ボックスミュラー法を使って、正規分布に従う乱数を生成します。
|
1 2 3 4 5 6 7 8 9 10 |
float GenerateNormalDistribution(float mean, float standardDeviation) { float u1 = Random.Range(0f, 1f); float u2 = Random.Range(0f, 1f); float z0 = Mathf.Sqrt(-2f * Mathf.Log(u1)) * Mathf.Cos(2f * Mathf.PI * u2); return mean + standardDeviation * z0; } |
ダメージ値への応用
ダメージ値を正規分布で生成します。
|
1 2 3 4 5 6 |
float baseDamage = 100f; float variance = 20f; // 標準偏差 float damage = GenerateNormalDistribution(baseDamage, variance); damage = Mathf.Max(0, damage); // 負の値にならないように |

まとめ

この記事では、正規分布について見てきました。
重要なポイントをおさらいします。
- 正規分布は、平均値を中心に値が分布する確率分布
- 平均値付近の値が多く、極端な値が少ない
- ボックスミュラー法を使って、正規分布に従う乱数を生成できる
- 一様乱数より自然なランダム性を実現できる
- ダメージ値や能力値など、様々な場面で応用できる
正規分布は、自然なランダム性を実現する重要な技術です。
ボックスミュラー法を理解すれば、様々な場面で応用できますね。
実際のゲーム実装とセットで学ぶことで、理解が深まるはずです。
Unity入門の森では、正規分布を含む確率と乱数を、実際のゲーム実装とともに体系的に学べます。
ぜひチェックしてみてください。
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます





コメント