結論から書くと、Unityを触りながら数学をやり直すなら、最初の1冊は『Unityでわかる!ゲーム数学』が手に取りやすいです。この記事では、ゲーム数学の本を5冊、刊行年と定価(2026年11月時点)、扱っている範囲、読む順番まで並べて比べます。
選ぶ軸は「敵AIを作る時にどこで使うか」。今週のこのブログは敵AIを続けて取り上げていて、視界の判定や向きの計算でベクトルの話がどうしても出てきます。そこで手が止まった人向けの本選びです。
・Vector3.DotやMathf.Atan2が何をしているのか分からないままコピペしている
・高校数学を忘れていて、どの本から始めればいいか決められない
・ゲーム数学の本は古い本が多くて、今買っても大丈夫か不安
数学が「ゲーム開発にどこまで必要か」という話は、別の記事で先にまとめています。必要かどうか迷っている段階なら、こちらから読むと話がつながりやすいと思います。
ゲーム数学の本を選ぶ前に|敵AIで出てくる数学は4つ
本を選ぶ前に、何を学びたいのかを小さくしておくと失敗しにくいです。敵AIを例にすると、出てくる数学はだいたい次の4つに収まります。
| 敵AIでやりたいこと | 使う数学 | Unityでの書き方の例 |
|---|---|---|
| プレイヤーとの距離を測る | ベクトルの大きさ | Vector3.Distance、.magnitude |
| 視界に入っているか調べる | 内積と三角関数 | Vector3.Dot、Mathf.Cos |
| 相手が右にいるか左にいるか | 外積 | Vector3.Cross |
| 相手の方へなめらかに向く | 角度・回転(クォータニオン) | Quaternion.LookRotation、Mathf.Atan2 |
ここに「ランダムに巡回する」ための乱数が加わるくらいです。行列や微分まで最初から全部やる必要はありません。
たとえば視界の判定は、内積を使うとこう書けます。敵の正面の向きと「敵からプレイヤーへの向き」がどれだけそろっているかを、−1〜1の数で出しているだけなんです。
using UnityEngine;
public class SightCheck : MonoBehaviour
{
public Transform player;
public float viewAngle = 90f; // 視野の広さ(左右を合わせた角度)
public float viewDistance = 10f; // 見える距離
public bool CanSeePlayer()
{
// 敵からプレイヤーへ向かうベクトル
Vector3 toPlayer = player.position - transform.position;
if (toPlayer.magnitude > viewDistance) return false;
// 内積:1なら真正面、0なら真横、-1なら真後ろ
float dot = Vector3.Dot(transform.forward, toPlayer.normalized);
// 視野の半分の角度をcosに直したものと比べる
float limit = Mathf.Cos(viewAngle * 0.5f * Mathf.Deg2Rad);
return dot >= limit;
}
public bool IsPlayerOnRight()
{
Vector3 toPlayer = player.position - transform.position;
// 外積のyがプラスなら右、マイナスなら左(Unityの座標系の場合)
return Vector3.Cross(transform.forward, toPlayer).y > 0f;
}
}
Vector3.Angleを使えば角度で直接比べることもできます。それでも中で何をしているかが分かると、「視界が広すぎる」「後ろの相手にも反応する」といったバグを自分で直せるようになりますね。このコードが本に書いてある数式のどこに当たるのかを知りたい、というのが本を読む一番の動機になると思います。
敵AI全体の作り方(巡回・追跡・攻撃の切り替え)は、こちらの記事でコード付きで書いています。
ゲーム数学の本の選び方|見るのは3か所
本の中で使う言語・ツールが自分と合っているか
ゲーム数学の本は、説明に使うコードがC#(Unity)、C++、あるいはコードなしでツールを触る形、と分かれています。数学そのものはどれでも同じです。ただ、普段書いている言語と違うと、数式をUnityのコードに置き換える手間が1段増えます。初心者のうちはここで止まりやすいです。
どこから説明が始まるか
整数・小数や角度の話から始まる本と、ベクトルや行列が分かっている前提で進む本があります。中学数学から不安なら前者、高校のベクトルは覚えているなら後者で十分でしょうか。
刊行年はどこまで気にするか
内積や三角関数の中身は10年たっても変わりません。古くなるのは、本に載っているエディタの画面やメニューの場所のほうです。2008年や2018年の本でも数学の説明は今でも通用する、と考えて大丈夫です。逆にUnityの操作手順まで本に頼りたいなら、新しい入門書と組み合わせるのが無難です。
Unityそのものの入門書は、Unity 6に対応した本だけを集めた別の記事があります。
ゲーム数学の本おすすめ5選
定価は出版社や書店の表示をもとにした、2026年11月時点の税込価格です。電子版の有無や在庫は時期で変わるので、買う前に販売ページで確かめてください。
①Unityでわかる!ゲーム数学(翔泳社)
加藤潔さんの本で、2018年6月刊、367ページ。定価は3,718円(税込)です。前半はUnityのC#スクリプトを動かしながら、等速直線運動、跳ね返り、回転、いろいろな形の当たり判定を作っていく構成。後半で基本的な数学の理論と、変換行列・複素数・クォータニオンといった一歩進んだ内容に入ります。
5冊の中で、本のコードがそのままUnityのC#なのはこの1冊だけです。数式を読んで、すぐにVector3の計算に置き換えて試せるのは大きいですね。
向いているのは、Unityは少し触れるけれど数学に苦手意識がある人。注意点は刊行が2018年なので、エディタの画面や細かい操作は今のUnity 6と違う所があるはずだ、ということです。Vector3やMathfの基本的な使い方は今も同じです。
②ゲームを動かす数学・物理R(ボーンデジタル)
堂前嘉樹さんの本で、2020年12月刊、512ページ。定価は3,300円(税込)。目次は「整数」「小数」「演算」から始まり、「2次元」「角度」「時間」「運動」「3次元」「マトリクス」「衝突」「乱数」と続きます。中学・高校で習う数学と物理が、ゲームのどこで働いているかをイラストと図で説明する本です。
5冊の中では一番、土台の土台から書かれています。小数の誤差や時間の扱いまで章があるのは、ほかの本にはあまりない所。敵AIで言えば、巡回のランダムさ(乱数)や、フレームレートに左右されない動き(時間)がこの本の範囲に入ります。
数学をほとんど忘れていて、ベクトルの前に「そもそも角度って」から確認したい人に向いています。Unity専用の本ではないので、Unityでの書き方は自分で置き換えることになります。512ページと厚いので、最初から全部読むより、困った章を引く辞書として持っておく使い方が合うと思います。
③Blenderで学ぶ数学のきほん そろそろ覚えたいベクトル・行列(ボーンデジタル)
中島一崇さんの本で、2025年12月刊、288ページのオールカラー。定価は2,970円(税込)です。出版社の案内によると、3Dモデルを拡大・縮小する仕組みなど、3DCGツールの中で行われている計算をBlenderを例に説明しています。
5冊の中で一番新しい本です。ベクトルと行列に絞っているので範囲が狭く、読み切りやすい厚さ。Blenderでモデルを作ってUnityに持ってくる人なら、「拡大・回転・移動がなぜ行列で書けるのか」が目で見て分かるはずです。
向いているのは、3Dモデルも自分で作る人や、行列だけがどうしても分からない人。注意点として、題材はBlenderでありUnityのC#ではありません。敵AIのコードに直結するのは①のほうなので、2冊目に回すのがよさそうです。
④数学がゲームを動かす! ゲームデザインから人工知能まで(日本評論社)
三宅陽一郎さんと清木昌さんの本で、2025年5月刊、240ページ。定価は2,530円(税込)です。ゲームAIの開発者として知られる三宅さんが著者に入っていて、目次には「『パックマン』を動かす数学」「ゲームと乱数」「入力を処理する数学」「ゲームにおける進化アルゴリズム」「ゲームにおける強化学習の数理」「ゲームにおけるニューラルネットワークの数理」「深層学習と生成AI」といった章が並びます。
ほかの4冊がベクトルや行列という「道具」の本だとすると、これはゲームの面白さやAIを数学で考える本です。今週のテーマの敵AIとは一番近い1冊ですね。パックマンの敵の動きから始まって、強化学習や生成AIまで話が伸びていくのは、この本ならでは。
目次を見る限り、Unityのコードを書きながら進める練習帳ではありません。①や②でベクトルに慣れたあと、「敵の動きをもっと面白くするには」を考えたくなった時に読むと内容が入ってきやすいと思います。
⑤実例で学ぶゲーム3D数学(オライリー・ジャパン)
Fletcher DunnさんとIan Parberryさんの本を松田晃一さんが訳したもので、2008年10月刊、484ページ。定価は3,740円(税込)です。原書は英語圏で定番の「3D Math Primer for Graphics and Game Development」。座標系、ベクトル、行列、3Dの向きと回転(オイラー角・四元数)、座標変換、衝突などの幾何テスト、可視性の判定まで、3D数学をひと通り扱っています。
コードはC++です。オライリー・ジャパンのページでサンプルコードと練習問題の答えが公開されているので、手を動かして確かめられます。付録に確率・統計の入門があるのも、乱数を使うAIを書く人にはありがたい所。
5冊の中では一番本格的で、①か②を読んだあとの2冊目、3冊目向けです。クォータニオンをちゃんと理解したい人、将来ゲーム会社でプログラマーを目指す人には長く使える1冊になると思います。2008年刊で、出版社のページには紙の本の記載しかありません。
ゲーム数学の本5冊を比較|難易度と読む順番
| 本 | 刊行 | 定価(税込) | コード・題材 | 難しさ | 敵AIとの近さ |
|---|---|---|---|---|---|
| ①Unityでわかる!ゲーム数学 | 2018年6月 | 3,718円 | Unity(C#) | やさしめ | 視界・当たり判定に直結 |
| ②ゲームを動かす数学・物理R | 2020年12月 | 3,300円 | 図とイラスト中心 | 一番やさしい | 乱数・時間・運動 |
| ③Blenderで学ぶ数学のきほん | 2025年12月 | 2,970円 | Blender | やさしめ | 行列・変換の理解 |
| ④数学がゲームを動かす! | 2025年5月 | 2,530円 | 読み物寄り | ふつう | AIの考え方そのもの |
| ⑤実例で学ぶゲーム3D数学 | 2008年10月 | 3,740円 | C++ | むずかしめ | 回転・幾何テスト |
※定価は2026年11月時点の出版社・書店の表示(税込)。難しさは目次と出版社の紹介をもとにした目安です。
・Unityのコードで数学を試したい → ①から
・中学数学から不安 → ②で土台を作ってから①
・Blenderでモデルも作る → ①と③の2冊
・敵の動きを面白くしたい、AIの考え方を知りたい → ①のあとに④
・3D数学をきちんと身につけたい → ①か②のあとに⑤
個人的には、①を手元に置いて、分からない所だけ②を辞書として引く組み合わせが、Unityで敵AIを作っている人には一番回りやすいと思います。
本と並行して、すぐ動くサンプルを触るのも理解の近道です。ストアで人気のアセットは、こちらの40選にまとめています。
本で読んだ数学をUnityで確かめるコツ
数学の本は、読むだけだとすぐ忘れます。ベクトルは目に見える形にすると一気に分かりやすくなるので、読んだ所をシーンビューに線で出してみるのがおすすめです。
using UnityEngine;
public class VectorViewer : MonoBehaviour
{
public Transform target;
void Update()
{
Vector3 toTarget = target.position - transform.position;
// 正面の向き(青)と、相手への向き(赤)をシーンビューに描く
Debug.DrawRay(transform.position, transform.forward * 3f, Color.blue);
Debug.DrawRay(transform.position, toTarget, Color.red);
// 2本の線のなす角と内積を、Consoleで見比べる
float angle = Vector3.Angle(transform.forward, toTarget);
float dot = Vector3.Dot(transform.forward, toTarget.normalized);
Debug.Log("角度: " + angle.ToString("F1") + " / 内積: " + dot.ToString("F2"));
}
}
再生中に相手のオブジェクトを動かすと、角度が0°の時に内積が1、90°で0、180°で−1になるのが分かります。本の「内積はcosθ」という一文が、ここで手触りのある話に変わるはずです。Debug.DrawRayの線はシーンビューに出るので、ゲームビューだけ見ていると気づきにくい点に注意してください。
最初はここでつまずきやすいのですが、全部を数学から自分で書く必要はありません。経路探索や行動の切り替えは、アセットに任せて、本で学んだ知識は「直す時に読める力」として使う、という割り切りもありです。敵AI向けのアセットはこちらで比べています。
有料アセットは定価で買うより、セールの時期に合わせたほうが安く済みます。毎月のセール情報はここにまとめているので、気になるアセットがあれば先に確認しておくと損をしません。
本だけで進まない時は|質問できる場所を作る
数学の本は、1か所分からないと先へ進めなくなるのがつらい所です。独学が止まりやすい原因と抜け道は別の記事にまとめましたが、数学は特に「誰かに一言聞けば5分で済んだ」ということが多い分野だと感じます。
本を何冊か読んでも手が止まるなら、質問できるスクールを短期間だけ使うのも手です。Unityを扱うスクールの中では、TECH STADIUMのUnityコースのように、ゲーム制作に絞ったところもあります。オンラインで学べるUnityのスクールは、こちらで比べています。
C#の文法のほうがまだ不安な人は、数学より先にC#の入門書を1冊終わらせたほうが、結局は早く進みます。
まとめ|ゲーム数学の本は「使う場面」から選ぶ
ゲーム数学の本は、全部を最初から読むものではありません。敵AIで言えば、距離・内積・外積・回転の4つが分かれば、視界も追跡も自分のコードとして読めるようになります。
・Unityで試しながら学ぶなら『Unityでわかる!ゲーム数学』
・数学を忘れているなら『ゲームを動かす数学・物理R』を辞書に
・行列だけ分からないなら新しめの『Blenderで学ぶ数学のきほん』
・AIの考え方まで広げるなら『数学がゲームを動かす!』
・3D数学を本格的にやるなら『実例で学ぶゲーム3D数学』
読んだ内容は、Debug.DrawRayで線を出して確かめると忘れにくいです。敵AIを本で学んだ知識だけで組むのが大変なら、アセットに頼るのも立派な選択肢。買う前には今月のアセットストアのセール情報をのぞいてみてください。








