CG技術の効率的な学び方

エマ
0

(この記事でいう「CG技術」とは「CG制作ソフトの使い方・ノウハウ」ではなく、「CG理論・プログラミング技術」を指します)

こないだ、ある人から、「ゲーム作りとかに興味があって、CG技術を効率的に学んでいきたいんですけど、どう手を付けたらいいですかね」と聞かれました。
「他にやることもあるんで、できるだけ無駄なくいきたいんですけど」と。

学問に王道なしとはいうけれど、たしかに社会人で勉強となると、できるだけ無駄なく効率的にやりたい、という要件は切実だと思います。
なので、私なりの考えを助言してみました。

それは

「ライフサイクルの長い知識を最優先に学べ」

ということ。
たとえば、「基本的なレンダリング理論」と「あるメーカーのGPUで特に高速に実装できるグローバルイルミネーション実装法」、
どちらが学んだ内容が、末永く使い続けられるかというと、これはもちろん前者ですね。

後者なんて、現在のZバッファベースリアルタイムレンダリングの枷に縛られた状態で、いかにGIを近似実装できるか、という特殊な話で、
一時的にゲーム業界で需要はあるけれども、いずれまた新しい実装法が出てきたり、そもそも必要なくなったりして、近いうちに必ず陳腐化する知識です。

しかし、「レンダリング理論(レンダリング方程式)」は違います。これを学んでおけば、今後全てのレンダリング技術の修得・実装に役立ちます。
というか、ゲーム業界におけるGIの技術だって、結局はレンダリング方程式を元にしているのです。

レンダリング理論を学んでおけば、現在のZバッファベースのリアルタイムレンダリングでも、今後主流がソフトウェアレンダリングに移っても、対応していけるはずです。
お勧め書籍は倉地さんの「CG MAGIC

他には、やはり線形代数などの数学。現在のゲームCGでも普通に必要ですが、できればゲームCGで使う以上の知識もちゃんと入れておきたい。

あとは……必要に応じて、

・GPUのリアルタイムレンダリングパイプラインの仕組み
 なんだかんだ言って、このレンダリングパイプラインはあと5~10年は使われ続けるでしょう。ただ、このやり方がCGの全てだとは思わないこと。

・OpenGLまたはDirectXの初歩
 プログラムして実際に動かせないと実感沸かないはずなので、やはり必要です。
 OpenGLについては床井先生のページ・本オススメ。
 GLUTによる「手抜き」OpenGL入門
 床井研究室

・リアルタイムレンダリングにおける影生成
 (これも現在のGPUの制約から始まった技術なので、あまり深追いせずドノーマルなシャドウマップ法を学ぶくらいでいいのでは)

・(やりたいんだったら)キャラクタなどのスキンメッシュアニメーション
 レンダリング技術に比べ、こちらは比較的進歩がゆっくりなので安心して学べます。
 お勧め書籍「MESH GURU

こんなところでしょうか。
全般的に勉強したい人は「ビジュアルコンピューティング」もお勧めです。

と、もはやCG研究者とも呼べぬ半端者がえらそーに意見してしまったが、はたしてあの人に対してまともな助言になったのだろうか(汗)

このブログ記事について

このページは、エマが2013年3月19日 17:15に書いたブログ記事です。

ひとつ前のブログ記事は「今揉めているオスプレイ問題について」です。

次のブログ記事は「Webノベルツールでキャラクター「白鳥のラナ」を追加。また、「バックベアード」の表情(ダメージ)を追加。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。