3次元CG

コンピュータの演算によって3次元空間内の仮想的な立体物を2次元である平面上の情報に変換することで奥行き感のある画像を作る手法である。20世紀末からのコンピュータ技術の急速な発達と性能向上によって、従来は大企業や大きな研究所でしか得られなかった精細で高品質の3次元画像が、21世紀初頭現在では一般的なPCや家庭用ゲーム機で得られるようになっている。
毎年夏にアメリカで開催されるCGの祭典SIGGRAPHにて、世界中の多くの研究者により最新のCGの論文が発表され、技術更新がなされている。
3DCGは、ユーザが仮想的な視点や対象物の変更を操作して直ちに更新された画像を得るCADのようなシミュレーションやコンピュータ・ゲームのように実時間処理の動画像と、CG映画のように製作者側があらかじめ時間を掛けて動画像を製作しておくもの、そして、静止画の3種類に大別できる。十分に高い技術を用いれば、無生物では実写と見分けがつかないほど遜色のない画像が得られるが、人物画ではCG特有の無機質なものとなることが多く、ロボットでの不気味の谷現象と同じく一般に人の表情を描くのは不得手である。

注目ワード

実時間処理

代表的な実時間処理による動画生成の用途はコンピュータゲームである。PCや家庭用ゲーム機からゲームセンターのゲーム機、携帯ゲーム機や部分的には携帯電話でのゲームにまで3DCGを用いた動画像が生成・表示されている。 工業用途では製品の設計段階でCAD/CAMによって部品同士の接続や製品の完成図を描いたり、建築でのパースを描画する目的で利用されている[1]また、現実世界での運動や周囲状況をコンピュータ・シミュレーションで再現することで効果的な訓練が行える、ドライブシミュレータやフライトシミュレータなども実時間処理での3DCG技術の利用例である。
動画生成における実時間処理はそうでないものに比べて画像の精度よりも実時間内に如何にそれらしい画像を生み出すかが求められるため、あらゆる箇所で処理を省いて演算をできるだけ少なくて済むように工夫されている。PC用の3DCG動画を生成するための専用ICとしてGPUが登場している。

非実時間処理

3DCGによる映画の制作が代表的な「実時間処理ではない」動画生成用途である。多くの映画では、写実的な画像を制作する目的や、反対にマンガ的なアニメーションのように非現実的な画像を制作する目的で利用され、実写との合成映像も含めれば大半の商業用映画に何らかの形で3DCGの技術が用いられている。SF映画やアニメ映画などでは長時間の3DCG画像が必要とされることがあり、そのような場合には、3DCG演算専用の多数のコンピュータから構成される「レンダリング・ファーム」と呼ばれるサーバー施設で数ヶ月単位で動画像の生成が行われる。
広告宣伝用途での3DCG動画像も広告製作会社内やメーカー自身の内部で、映画と同じような環境で製作されている。

制作工程

1.モデリング

仮想3次元空間上に個々の物体の形状をつくる。多くの3DCGソフトウェアでは、一つの面を三角形や四角形といった多角形の集合として表現する。三角形しか扱えないソフトウェアも多い(四角形以上は曲面になる可能性があるため)。これらの多角形はポリゴン(英語で多角形の意)と呼ぶ。各形状はポリゴンの集合で表現される。モデリングで作られた形状をモデルやオブジェクトと呼ぶ。
他に面を定義する方法としては自由曲面がある。自由曲面はNURBS曲線、スプライン曲線、ベジェ曲線などで曲面を構成する方法で、ポリゴンのみでモデリングされた形状に比べ滑らかで正確な形状が得られる。ポリゴンのみでモデリングすることを、ポリゴンモデリングと呼んで、自由曲面を利用したモデリングと区別することがある。
形状が出来たら、オブジェクトに材質(マテリアル)を設定する。材質を設定しなければ、オブジェクトはただ一様に光を反射するだけの均質な物体になる。多くの3DCGソフトウェアでは、色、透明度、反射、屈折率、自己発光、バンプ、ディスプレイスメントなどの設定項目がある。

2.シーンレイアウト設定

モデリングで制作したオブジェクトを、仮想3次元空間上に配置する。現実世界と同様、光源も配置しなければ何も表示されない(黒一色の画像が出力される)。また、仮想的なカメラを配置することで視点を設定する。これらを配置・設定した仮想的な舞台をシーンと呼ぶ。

3.レンダリング

レンダリングは、これまでに設定したシーンから、仮想的なカメラに写されるはずの画像を生成する工程である。オブジェクトの形状や位置、光のあたり具合などをコンピュータが計算し、最終的な画像が生成される。レンダリングのアルゴリズムには、それぞれ処理速度や品質の違う多くの種類があり、用途に合わせて使い分ける。各種の設定を済ませレンダリングを開始した後は、レンダリングが終了するまで制作者がすることは特にない。一般にレンダリングには多くの時間を要する。シーン内に多くの形状があったり、高度なレンダリングアルゴリズムを利用している場合、数時間から数日かかる場合もある。ゲームなどリアルタイムにレンダリングしなければならないときは、単純で高速なレンダリングアルゴリズムを適用したり、シーンの総ポリゴン数を少なくするなど、大きな制限が加えられる。映画など大規模な制作現場では、同時に複数のコンピュータにレンダリング処理をさせて、計算時間を短縮することがある。
レンダリング手法によっては空気による遠近法・光の照り返しなども計算される。そういった複雑な計算をするレンダリング処理は専用回路(GPU)で行われることも多い。高い対話性と双方向性が得られるので、ゲームに用いられる場合はこの形態をとる。

4.レタッチ

レンダリングで得られた画像が、完全に制作者の意図したものになるとは限らない。PhotoshopやAdobe After Effectsなどのフォトレタッチツールなどで、コントラストや色味を手直しすることもある。

代表的な技法

テクスチャマッピング

3DCGのモデルに画像を貼り付けることをテクスチャマッピング、その貼り付けられる画像をテクスチャという。テクスチャを貼ることにより、モデリングやシェーダーのみでは表現の困難な、モデル表面の細かな色彩情報や質感などを設定することができる。
テクスチャの貼り付け方としては、単純にカメラ方向からモデルにテクスチャを投影するだけの方法や、UV座標によってモデルへのテクスチャの投影を正確に設定する方法がある。カメラ方向からの単純な投影では、動き回るキャラクターのテクスチャがズレることが回避できないため、現在では、3DCGを扱う者にとって、モデルにはUVをきちんと設定するのが常識である。
反射の強度を設定する反射マッピング、小さな凹凸を擬似的に表現するバンプマッピング/ディスプレイスメントマッピング、透明度を設定する透明度マッピングなどがある。形状の表面に画像の情報を加えることによって、表面の模様や質感が表現されて、より現実的な画像になる。
特にコンピュータゲームにおいては、リアルタイムで3DCGキャラクターを描画する必要から、極力少ないポリゴンで作成されたモデル(ローポリゴンモデル)に、ディテールや陰影などを描き込んだテクスチャを貼り付ける手法が行われている。

バンプマッピング

モデルの表面の法線の方向を変化させることによって、擬似的に凹凸を表現する技術。グレースケール画像で元形状に対する高低を定義する。少ないポリゴンで細かな陰影をリアルに表現できる利点があるが、実際に表面に立体的な凹凸があるわけではないので、ズーム時や、面を横から見た場合などに違和感のある画像となる。
近年は法線の方向を直接定義する法線マッピング(ノーマルマッピング)も用いられるが、法線マップを手作業で作成するのは困難であるため、通常は高精細モデルのディティールを法線マップに変換して単純化モデルに適用する手法が採られている。

ディスプレイスメントマッピング

3Dモデルの頂点を実際に表面に対して上下に移動させて凹凸を表現する技術。バンプマッピングに比べて、実際に立体的な凹凸となるため違和感のない画像が得られるが、表現する凹凸に応じてポリゴン数が増大する欠点がある。リアルタイム3DCGの分野ではGPUによって高速に処理される。

ハイパーテクスチャ

バンプマッピングによる凹凸の表現はあくまで擬似的に陰影を表現し、またディスプレイスメントマッピングによる凹凸は3Dモデルそのものの頂点を移動させて凹凸を表現するだけであるのに対して、3Dモデルに立体的な濃度関数を掛け合わせることにより、小さな凹凸はもとより、深い溝や貫通した穴のような大きな構造も表現することができる技術。

レイトレーシング

レイトレーシングは、視点から光源までの光を追跡することでレンダリングする手法。視点から描画する各画素の方向へ直線を伸ばし、物体と交錯する可否を数学的に判定する。照度は光源との方向ベクトルで計算する。反射と屈折は反射率および屈折率をもとに再帰的に探索を繰り返す。物体との交錯がなくなれば計算は終了する。スキャンラインでは得られない反射や屈折などの表現が可能になる。フォトリアリスティックな画像が得られる反面、大変なレンダリング時間が掛かる。そのため屈折の計算処理については、簡略化あるいは制限を設けるのが一般的である。リアルタイム3DCGの分野では、GPUの発展と共に、レイトレーシングのリアルタイム化が試みられているが、現時点において実用的なレベルには至っていない。

ラジオシティ

ラジオシティは、各ポリゴンに光のエネルギー量を持たせて形状の相互反射を計算することで、間接光(やわらかい光の回り込み)などを表現する技術。計算に膨大な時間が必要になるが、完全拡散面で構成されるシーンでは、一旦物体相互間の光の反射を計算し終えれば、物体や光源が移動しない限り、その計算結果を保存して別のアングルからのレンダリングへ再利用することができる。照明工学の分野で発達した技術を3DCGのレンダリングに応用した。

関連トピック

デジタルコンテンツ