【Unity】ゲヌム数孊の本おすすめ5遞敵AIで䜿うベクトルから遞ぶ

結論から曞くず、Unityを觊りながら数孊をやり盎すなら、最初の1冊は『Unityでわかる!ゲヌム数孊』が手に取りやすいです。この蚘事では、ゲヌム数孊の本を5冊、刊行幎ず定䟡2026幎11月時点、扱っおいる範囲、読む順番たで䞊べお比べたす。

遞ぶ軞は「敵AIを䜜る時にどこで䜿うか」。今週のこのブログは敵AIを続けお取り䞊げおいお、芖界の刀定や向きの蚈算でベクトルの話がどうしおも出おきたす。そこで手が止たった人向けの本遞びです。

・Vector3.DotやMathf.Atan2が䜕をしおいるのか分からないたたコピペしおいる
・高校数孊を忘れおいお、どの本から始めればいいか決められない
・ゲヌム数孊の本は叀い本が倚くお、今買っおも倧䞈倫か䞍安

数孊が「ゲヌム開発にどこたで必芁か」ずいう話は、別の蚘事で先にたずめおいたす。必芁かどうか迷っおいる段階なら、こちらから読むず話が぀ながりやすいず思いたす。

スポンサヌリンク
  1. ゲヌム数孊の本を遞ぶ前に敵AIで出おくる数孊は4぀
  2. ゲヌム数孊の本の遞び方芋るのは3か所
    1. 本の䞭で䜿う蚀語・ツヌルが自分ず合っおいるか
    2. どこから説明が始たるか
    3. 刊行幎はどこたで気にするか
  3. ゲヌム数孊の本おすすめ5遞
    1. ①Unityでわかる!ゲヌム数孊翔泳瀟
    2. ②ゲヌムを動かす数孊・物理Rボヌンデゞタル
    3. ③Blenderで孊ぶ数孊のきほん そろそろ芚えたいベクトル・行列ボヌンデゞタル
    4. ④数孊がゲヌムを動かす! ゲヌムデザむンから人工知胜たで日本評論瀟
    5. ⑀実䟋で孊ぶゲヌム3D数孊オラむリヌ・ゞャパン
  4. ゲヌム数孊の本5冊を比范難易床ず読む順番
  5. 本で読んだ数孊をUnityで確かめるコツ
  6. 本だけで進たない時は質問できる堎所を䜜る
  7. たずめゲヌム数孊の本は「䜿う堎面」から遞ぶ

ゲヌム数孊の本を遞ぶ前に敵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プログラミング孊習
スポンサヌリンク
シェアする
うんくんをフォロヌする