2.3D関連の応用
2.1 3次元コンピュータグラフィックス(3DCG)

 3次元コンピュータグラフィックス(three-dimensional computer graphics、略して3DCG)は、コンピュータの演算によって3次元空間内の仮想的な立体物を2次元である平面上の情報に変換することで奥行き感のある画像を作る手法である。20世紀末からのコンピュータ技術の急速な発達と性能向上によって、従来は大企業や大きな研究所でしか得られなかった精細で高品質の3次元画像が、21世紀初頭現在ではPCやゲーム機で得られるようになっている。
3D_New_Technologu_7

毎年夏にアメリカで開催されるCGの祭典SIGGRAPHにて、世界中の多くの研究者により最新のCGの論文が発表され、技術更新がなされている。
・用途
3DCGは、ユーザーが仮想的な視点や対象物の変更を操作して直ちに更新された画像を得るCADのようなシミュレーションやコンピュータゲームのように実時間処理の動画像と、CG映画のように製作者側があらかじめ時間を掛けて動画像を製作しておくもの、そして、静止画の3種類に大別できる。十分に高い技術を用いれば、無生物では実写と見分けがつかないほど遜色のない画像が得られるが、人物画ではCG特有の無機質なものとなることが多く、ロボットでの不気味の谷現象と同じく一般に人の表情を描くのは不得手である。
・動画(実時間処理)
代表的な実時間処理による動画生成の用途はコンピュータゲームである。PCや家庭用ゲーム機からゲームセンターのゲーム機、携帯ゲーム機や部分的には携帯電話でのゲームにまで3DCGを用いた動画像が生成・表示されている。 工業用途では製品の設計段階でCAD/CAMによって部品同士の接続や製品の完成図を描いたり、建築でのパースを描画する目的で利用されている。また、現実世界での運動や周囲状況をコンピュータシミュレーションで再現することで効果的な訓練が行える、ドライブシミュレータやフライトシミュレータなども実時間処理での3DCG技術の利用例である。
動画生成における実時間処理はそうでないものに比べて画像の精度よりも実時間内に如何にそれらしい画像を生み出すかが求められるため、あらゆる箇所で処理を省いて演算をできるだけ少なくて済むように工夫されている。PC用の3DCG動画を生成するための専用ICとしてGPUが登場している。
・動画(非実時間処理)
3DCGによる映画の制作が代表的な「実時間処理ではない」動画生成用途である。多くの映画では、写実的な画像を制作する目的や、反対にマンガ的なアニメーションのように非現実的な画像を制作する目的で利用され、実写との合成映像も含めれば大半の商業用映画に何らかの形で3DCGの技術が用いられている。SF映画やアニメ映画などでは長時間の3DCG画像が必要とされることがあり、そのような場合には、3DCG演算専用の多数のコンピュータから構成される「レンダリング・ファーム」と呼ばれるサーバー施設で数ヶ月単位で動画像の生成が行われる。
広告宣伝用途での3DCG動画像も広告製作会社内やメーカー自身の内部で、映画と同じような環境で製作されている。
・静止画
広告や芸術、そしてあらゆる種類のイラストレーション用途に3DCGを用いた静止画が製作されている。
・原理
3次元CGの基本原理は3点座標を持つ対象物を2次元座標の仮想スクリーン上に透視投影することである。
まず[図1]のような3次元座標をディスプレイ内に考える。原点に視点があるとして座標内の3点の座標を持つ点Aはどのように見えるだろうか。
[図2]のように原点と点Aの間にスクリーンを置いた場合、スクリーン平面上に映し出される点Aの投影座標は h=x*(s/z)、v=y*(s/z) で求められる。zが大きくなれば、スクリーン上の点Aは限りなく原点に近付く。つまり遠くのものは小さく見えるわけである。スクリーンを置く座標sは大きくなればパースが緩く、小さくなればパースがきつくなるので、レンズの画角を表現することが出来る。 これが透視投影の原理であり、3点座標を持つ点をそれぞれ結べばワイアーフレーム画像が、結んだ点から面を作ればポリゴンによる表現が可能となる。
3D_New_Technologu_8

・制作工程
3DCGの制作は次のような行程にわけることができる。
モデリング
−シーンレイアウト設定
−レンダリング
−編集・レタッチ

・モデリング(Modeling)
仮想3次元空間上に個々の物体の形状をつくる。多くの3DCGソフトウェアでは、1つの面を三角形や四角形といった多角形の集合として表現する。三角形しか扱えないソフトウェアも多い(四角形以上は曲面になる可能性があるため)。これらの多角形はポリゴン(英語で多角形の意)と呼ぶ。各形状はポリゴンの集合で表現される。モデリングで作られた形状をモデルやオブジェクトと呼ぶ。
他に面を定義する方法としては自由曲面がある。自由曲面はNURBS曲線、スプライン曲線、ベジェ曲線などで曲面を構成する方法で、ポリゴンのみでモデリングされた形状に比べ滑らかで正確な形状が得られる。ポリゴンのみでモデリングすることを、ポリゴンモデリングと呼んで、自由曲面を利用したモデリングと区別することがある。
形状が出来たら、オブジェクトに材質(マテリアル)を設定する。材質を設定しなければ、オブジェクトはただ一様に光を反射するだけの均質な物体になる。多くの3DCGソフトウェアでは、色、透明度、反射、屈折率、自己発光、バンプ、ディスプレイスメントなどの設定項目がある。
・シーンレイアウト設定
モデリングで制作したオブジェクトを、仮想3次元空間上に配置する。現実世界と同様、光源も配置しなければ何も表示されない(黒一色の画像が出力される)。また、仮想的なカメラを配置することで視点を設定する。これらを配置・設定した仮想的な舞台をシーンと呼ぶ。
・レンダリング(Rendering)
レンダリングは、これまでに設定したシーンから、仮想的なカメラに写されるはずの画像を生成する工程である。オブジェクトの形状や位置、光のあたり具合などをコンピュータが計算し、最終的な画像が生成される。レンダリングのアルゴリズムには、それぞれ処理速度や品質の違う多くの種類があり、用途に合わせて使い分ける。各種の設定を済ませレンダリングを開始した後は、レンダリングが終了するまで制作者がすることは特にない。一般にレンダリングには多くの時間を要する。シーン内に多くの形状があったり、高度なレンダリングアルゴリズムを利用している場合、数時間から数日かかる場合もある。ゲームなどリアルタイムにレンダリングしなければならないときは、単純で高速なレンダリングアルゴリズムを適用したり、シーンの総ポリゴン数を少なくするなど、大きな制限が加えられる。映画など大規模な制作現場では、同時に複数のコンピュータにレンダリング処理をさせて、計算時間を短縮することがある。
レンダリング手法によっては空気による遠近法・光の照り返しなども計算される。そういった複雑な計算をするレンダリング処理は専用回路(GPU)で行われることも多い。高い対話性と双方向性が得られるので、ゲームに用いられる場合はこの形態をとる。
・レタッチ(Retouch)
レンダリングで得られた画像が、完全に制作者の意図したものになるとは限らない。PhotoshopやAdobe After Effectsなどのフォトレタッチツールなどで、コントラストや色味を手直しすることもある。
・制作技法
−テクスチャマッピング(Texture mapping)
3D_New_Technologu_9

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

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