35歳からTAになるために読んだ14冊
30歳で撮影職でアニメ業界に入り、その後3DCGに転向して35歳からプログラミングを学び、それから一年足らずで映画『楽園追放』の支援ツール開発をほとんど一人でやることになった私が、短期間でテクニカルなあれこれを学ぶために読んだ本を紹介します。
『楽園追放』のツール周りを任されたのは全然関係ない別の会議で聞いた話のためにAEのちょっとしたスクリプトを書いてディレクターに渡したのがきっかけなのですが、その辺の話は面白いのでまた機会を改めて…。
プログラミング系
初めてのコンピュータサイエンス
これはコンピュータ・サイエンスの入門書ですが、解説で使用されているのがPythonで、Pythonの入門書としてもとても良い内容です。Python2系で書かれているので今となっては少々古いですが、読みやすい良書です。
プログラムはこうして作られる
以前セガにいらした平山さんの書かれた本で、特に言語を限定することなく、コンピュータ・プログラムとはどういうものか、という根本の部分を説明した本です。この本を読むとプログラムがどうやって動いているかということだけでなく、プログラマという人がどのようにものを考えるのかがよくわかります。これからプログラミングを始めたい、という人に私がまっさきにオススメするのはこの本です。
ゲームプログラマになる前に覚えておきたい技術
私はゲームプログラマになりたかったわけではありませんが、この本の特にグラフィックを扱う部分はCG系のテクニカルアーティスト等にも必要になる知識です。これは前述の「プログラムはこうして作られる」と同じ平山さんの著書で、こちらが先に出版されたものです。この本に対して、もっと初心者向けの内容を、ということで「プログラムはこうして作られる」が生まれたようです。
プログラマの考え方がおもしろいほど身につく本
タイトルがすべてを物語っていますが、いわゆる論理思考について、簡単なパズルなどを例に出しながら解説した読み物です。私はプログラミングを始めたころ、専業プログラマの人たちが何を考えてプログラムを書くのかがわからず、タイトルに惹かれてこの本を買いました。しかしこれよりも平山さんの「プログラムはこうして作られる」のほうがよりプログラマの考え方を学ぶのに良かった気がします。
初めてのPython
Python解説書の決定版ですが、内容が少々古いです。これはPythonが2から3へバージョンアップした後に出た本ですが、内容は2系を中心に3にも触れる、という感じでPython3を主に解説したものではありません。原書は第4版としてPython3を主軸にしたものが出ているようですが、日本語訳は第3版で止まっています。
しかし、それを踏まえてもPythonの解説書としてはこの本が決定版だと思います。一通りの機能を網羅して解説してあり、これ一冊をじっくり学べばPythonはかなり自由に使えるようになると思います。私はこれ以外にも多くのPython入門書を読みましたが、結局ちゃんと役に立ったのはこれぐらいでした。
開眼!Javascript
自由度の高いJavaScriptについて、言語仕様の観点からどのように書くべきかを解説した本です。JavaScriptを書いたことのない人が最初に読むべき本ではないと思いますが、少々かじったことがある人であれば得るものは大きいと思います。
私はこの本を読んでからJavaScriptの書き方が劇的に変わりました。
リーダブルコード
プログラマは全員これを読んでいるのではないかと思うぐらいみんな読んでいる本です。Twitterなどでリーダブルコードを初心者に読ませることの是非などが話題になったりしますが、はじめから読むべきか、ある程度できるようになってから読むべきか、という議論になっていて、結局これを読むのは前提のようになっています。
この本はプログラミングそのものではなく、ネーミングに関する考え方であったり、コメントの書き方であったり、コーディングマナーに関する部分を解説した本です。プロジェクトによってコーディング規約はいろいろあると思いますが、軸になる考え方としてこの本の内容は有用です。軽快に読めるので読み物としても楽しい本です。
コードコンプリート(上下巻)
リーダブルコードに比してこちらはほとんど話題になりませんが、個人的にはこちらに多大な影響を受けました。上下巻で各巻6000円超えという大著ですが、著者のスティーヴ・マコネルという人の考え方がとてもしっくり来たせいもあり、ここから学んだことは計り知れません。ボリュームがあるので誰にでもオススメというわけには行きませんが、私が多くを学んだ本という意味で紹介しておきます。
プロフェッショナルVisualC++ 2010
初めて Visual Studio を触ったとき、あまりのわけわからなさに絶望的な気分になりました。たとえば3dsmax のプラグイン開発、SDKのサンプルをビルドするだけでもさっぱりわからない。
そんなときに出会ったのがこの本です。この本では Visual C++ を使用して、空のプロジェクトからすべて手動で設定してプログラムを作る、ということを解説しています。まさに知りたかったことが書いてある本でした。この本のおかげで SDK についてくる Visual Studio のプロジェクトの設定を必要に応じて修正し、プラグインを作ることができるようになりました。
テクニカルアート系
コンピュータグラフィックス[改訂新版]
CG Arts協会が出しているCGエンジニア検定用の教科書です。CGエンジニアリングの基礎が網羅的に解説されていて、コンピュータグラフィックスの入門書として非常に良い本です。CGエンジニア検定を受ける人はまず間違いなくこの本を手に取ると思いますが、検定に興味のない人にも大いにおすすめしたい本です。この本に書いてあることを一通り理解していれば当座困らない程度にはなると思います。
デジタル画像処理[改訂新板]
これもCG Arts協会から出ている本で、画像処理エンジニア検定向けの教科書です。これも検定を受ける人は必ず手に取ると思いますが、それ以外の人にもオススメです。こちらは3DCGではなく画像処理に関する内容が中心で、CG分野ではポストプロセスにあたる部分を解説した本です。AfterEffectsのプラグインや、3DCGのコンポジットノードの開発などで役に立つ知識です。
テクニカルアーティストスタートキット
テクニカルアーティストというワードがタイトルに入っている本はほとんど無く、検索するとこの辺が筆頭に出てきます。
これはOLMさんで新人教育に使っている資料を元にして作られた本のようで、実地のTAの仕事を垣間見られる本です。ただ、TAの概要を学ぶには作例が具体的すぎ、具体的な技術を学ぶには内容が浅く、中途半端な印象を受けます。得るものは確かにありましたが、ちょっと割高感はあります。
基礎からのコンピュータグラフィックス
コンピュータグラフィックスのかなり根っこの部分を解説した本です。前述のCG Arts協会の「コンピュータグラフィックス」よりもより深く、基礎の基礎を掘り下げて解説されています。
ボリュームが少ないため各項目はあっさりと解説されているので、これとCG Artsの本を併用すると理解が深まるような気がします。私は最初にこの本を購入しましたが、先にCG Artsの本を二冊とも読んだらこの本は必要ないかも知れません。
数学系
実はCGに関係なく数学が好きなので、CG関連の本よりも数学書をたくさん読んでいるのですが、ここではCGに関係しそうな本を紹介したいと思います。
意味がわかる線形代数
CGで使う数学は主に線形代数という分野です。大学に行くと一年次にやるようですが、私は大学へ行っていないため、この本で独学しました。
行列や空間ベクトル等は高校数学の範囲ですが、この本は高校数学レベルの行列や空間ベクトルの知識が怪しい状態でも読み進められると思います。大変わかりやすく、「意味がわかる」というタイトルにも偽り無く、何がどうなっているのかちゃんと理解できます。
というわけで、私が35歳から短期間でいきなりCG方面のツール開発やらなにやらをやることになって、テンパりながら読んだ本たちを紹介してみました。実際に購入して読んだ本だけを紹介しています。CG方面ではない数学の本などものちのちどこかで紹介していきたいと思います。
ディスカッション
コメント一覧
まだ、コメントがありません