【Unity】ゲーム数学の本おすすめ5選|敵AIで使うベクトルから選ぶ

結論から書くと、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の基本的な使い方は今も同じです。

Unityでわかる!ゲーム数学(Amazon)

②ゲームを動かす数学・物理R(ボーンデジタル)

堂前嘉樹さんの本で、2020年12月刊、512ページ。定価は3,300円(税込)。目次は「整数」「小数」「演算」から始まり、「2次元」「角度」「時間」「運動」「3次元」「マトリクス」「衝突」「乱数」と続きます。中学・高校で習う数学と物理が、ゲームのどこで働いているかをイラストと図で説明する本です。

5冊の中では一番、土台の土台から書かれています。小数の誤差や時間の扱いまで章があるのは、ほかの本にはあまりない所。敵AIで言えば、巡回のランダムさ(乱数)や、フレームレートに左右されない動き(時間)がこの本の範囲に入ります。

数学をほとんど忘れていて、ベクトルの前に「そもそも角度って」から確認したい人に向いています。Unity専用の本ではないので、Unityでの書き方は自分で置き換えることになります。512ページと厚いので、最初から全部読むより、困った章を引く辞書として持っておく使い方が合うと思います。

ゲームを動かす数学・物理R(Amazon)

③Blenderで学ぶ数学のきほん そろそろ覚えたいベクトル・行列(ボーンデジタル)

中島一崇さんの本で、2025年12月刊、288ページのオールカラー。定価は2,970円(税込)です。出版社の案内によると、3Dモデルを拡大・縮小する仕組みなど、3DCGツールの中で行われている計算をBlenderを例に説明しています。

5冊の中で一番新しい本です。ベクトルと行列に絞っているので範囲が狭く、読み切りやすい厚さ。Blenderでモデルを作ってUnityに持ってくる人なら、「拡大・回転・移動がなぜ行列で書けるのか」が目で見て分かるはずです。

向いているのは、3Dモデルも自分で作る人や、行列だけがどうしても分からない人。注意点として、題材はBlenderでありUnityのC#ではありません。敵AIのコードに直結するのは①のほうなので、2冊目に回すのがよさそうです。

Blenderで学ぶ数学のきほん(Amazon)

④数学がゲームを動かす! ゲームデザインから人工知能まで(日本評論社)

三宅陽一郎さんと清木昌さんの本で、2025年5月刊、240ページ。定価は2,530円(税込)です。ゲームAIの開発者として知られる三宅さんが著者に入っていて、目次には「『パックマン』を動かす数学」「ゲームと乱数」「入力を処理する数学」「ゲームにおける進化アルゴリズム」「ゲームにおける強化学習の数理」「ゲームにおけるニューラルネットワークの数理」「深層学習と生成AI」といった章が並びます。

ほかの4冊がベクトルや行列という「道具」の本だとすると、これはゲームの面白さやAIを数学で考える本です。今週のテーマの敵AIとは一番近い1冊ですね。パックマンの敵の動きから始まって、強化学習や生成AIまで話が伸びていくのは、この本ならでは。

目次を見る限り、Unityのコードを書きながら進める練習帳ではありません。①や②でベクトルに慣れたあと、「敵の動きをもっと面白くするには」を考えたくなった時に読むと内容が入ってきやすいと思います。

数学がゲームを動かす!(Amazon)

⑤実例で学ぶゲーム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年刊で、出版社のページには紙の本の記載しかありません。

実例で学ぶゲーム3D数学(Amazon)

ゲーム数学の本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を本で学んだ知識だけで組むのが大変なら、アセットに頼るのも立派な選択肢。買う前には今月のアセットストアのセール情報をのぞいてみてください。

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
unityプログラミング学習
スポンサーリンク
シェアする
うんくんをフォローする