先日発売になったばかりのゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでを読んでいるところ。
で、その感想をつらつらと書いてみる。
SBクリエイティブ
売り上げランキング: 3,719
数式と図の解説がメイン、Unityはオマケ
この本のタイトルには、Unityで学ぶ~、と書かれているけど、Unity的な要素はオマケ的なものであり、本質的な解説は図と数式で行われているので、数式が理解できれば、Unity(C#)を知らなくても理解はできる。もちろん、それがUnreal Engine 4であっても。
ただ、数式の意味がいまいち理解できないので、ソースコードも詳しく載せて欲しかった、というニーズもあるだろうなぁ、ととは思う。
3Dグラフィックスに必要な知識はまかなえる
ベクトル、座標系、行列など3Dグラフィックスに必要な幾何学の解説が重点的に書かれている。幾何学といっても、ゲーム開発に必要な幾何学的な要素のみを抽出して書かれているので、一般的な幾何学の教科書よりは書かれている内容はずっと少ない。そういった意味では読みやすくなっている。
グラフィックス以外は…
3D、3Dグラフィックス演算に必要な幾何学以外のゲームに必要な数学的な要素はほとんど解説されていない、という特徴もある。
以前出版されたゲーム数学本では、コリジョン関連の数式、空間での点や球との距離等の解説が行われていることが多かった。その時点で、Unityなどのゲームエンジンを使う事を前提で書かれたゲーム数学本だな、という感想を持った。ま、コリジョン関連については、他の本で数式が書かれているので、そちらを参考にしてもらってもよいのではないかと。
オライリージャパン
売り上げランキング: 30,839
ソフトバンククリエイティブ
売り上げランキング: 53,142
あとは応用が利くかどうか
これらの数学の知識は必要なのだけど、この本では具体例は多く書かれていないので、解説されている知識がどこまで応用できるかは、その人次第となる。
例えば、外積は法線を求めるといった応用例が書かれているが、逆行列は書かれていなかったりする(カメラの回転制御などで使う)。ゲームエンジンを使う事で逆行列を使う事例は少なくなったと思うが、このような数学の知識をゲームのどこで活用できるかを知っているかどうかが、この本で学習した後の鍵になるのではないかと。