3次元コンピュータグラフィックス
![]() |
![]() | |
主要項目 | |
---|---|
3Dモデリング / 測域センサ | |
3Dレンダリング / 3Dプリンタ | |
3DCGソフトウェア | |
主要用途 | |
3Dモデル / CAD | |
グラフィックデザイン / ビデオゲーム | |
VFX / ビジュアリゼーション | |
バーチャルエンジニアリング / バーチャルリアリティ | |
関連技術 | |
CGI / アニメーション / 3Dディスプレイ | |
ワイヤーフレーム / テクスチャマッピング | |
コンピュータアニメーション / モーションキャプチャ | |
骨格アニメーション / 群集シミュレーション | |
グローバル・イルミネーション / ボリュームレンダリング |
3次元コンピュータグラフィックス(さんじげんコンピュータグラフィックス、英: three-dimensional computer graphics)は、コンピュータの演算によって3次元空間内の仮想的な立体物を2次元である平面上の情報に変換することで奥行き感(立体感)のある画像を作る手法である。
毎年夏にアメリカ合衆国で開催されるCGの祭典「SIGGRAPH」(シーグラフ)にて、世界中の多くの研究者により最新のCGの論文が発表され、技術更新がなされている。
用途
[編集]3DCGは幅広い分野で利用されている。以下はその一例である:
- 産業
- 製品設計・建築: CAD/CAMによる完成図・建築パース
- 航空宇宙・軍事・船舶: シミュレーション結果の視覚的表示(ドライブシミュレータ、フライトシミュレータ)
- 広告: アニメーション広告、自動車等の撮影によらない表現
- 地図: 立体地図
- 娯楽
- 学術
- 考古学: 古代遺跡の復元モデル
- 医療
分類
[編集]3DCGは様々な観点から分類できる。以下はその一例である。
出力の動き
[編集]3DCGは出力に動きがあるか否かに基づいて「3DCG動画」と「3DCG静止画」に大別できる。3DCG動画の具体例には映画やコンピュータゲームが挙げられる。3DCG静止画では広告ポスターや絵画が挙げられる。
リアルタイム性
[編集]3DCGはリアルタイム性すなわち実時間処理できるか否かに基づいて「リアルタイム(リアルタイムレンダリング)」と「プリレンダ(プリレンダリング)」に大別される[1]。リアルタイム3DCGの具体例にはコンピュータゲームやフライトシミュレータが挙げられる。プリレンダ3DCGでは映画が挙げられる。ゲームであっても操作部分はリアルタイムでムービー部分はプリレンダーというケースもある。
有限の資源を用いて実時間処理をするためには制約が必要である。そのためリアルタイムとプリレンダーでは採用される技術がしばしば異なる。高い写実性を求めると計算量が増えやすくリアルタイムでは(まだ)扱えない場合も多い[1]。
原理
[編集]コンピュータグラフィックスの出力先はモニターなどの2次元平面である(例外: ホログラフィー)。ゆえに3次元空間を扱う3DCGでは出力のために空間を2次元平面上で表現する必要がある。これを投影という。これは平面的な物体同士の重なりを考慮するだけでよい2DCGと対照的である。投影はヒトの目やカメラでも起きており、3DCGではこれを計算機により実現する。ゆえにコンピュータグラフィックスは計算幾何学分野における問題のひとつであり、行列やベクトルといった線型代数学が多用される。
まず[図1]のような3次元座標を考える。原点に視点があるとして、座標空間内の3次元座標を持つ点Aの見え方は、投影法によって左右される。
透視投影
[編集][図2]のように原点と点Aの間にスクリーンを置いた場合、スクリーン平面上に映し出される点Aの投影座標は 、 で求められる。が大きくなれば、スクリーン上の点Aは限りなく原点に近づく。つまり遠くのものは小さく見えるわけである。スクリーンを置く座標は大きくなればパース(遠近感)が緩く、小さくなればパースがきつくなるので、レンズの画角(視野角)を表現することができる。これが透視投影 (perspective projection) の原理である。
平行投影
[編集]透視投影によりスクリーン上で各物体の遠近関係が表現されるが、画角によって画面上のサイズや印象が大きく変わるため、モデリングの際の正確な寸法や形状確認といった目的には適さないことがある。その場合、視点と物体の間の距離とは無関係にそのまま平行に投影する手法[2]が使われることがあり、平行投影 (parallel projection) または正射影 (orthographic projection / orthogonal projection) と呼ばれる。平行投影の視錐台は直方体となる。
いずれにしても、3次元座標を持つ図形を2次元座標系に変換した後で、図形の各点を幾何学的なつながり情報(トポロジー)に基づいてそれぞれ結べばワイヤーフレーム画像が生成され、また結んだ点から面を作ればポリゴンによる表現が可能となる。リアルタイムコンピュータグラフィックスでは、ハードウェア的な制約から、実際にサポートされる最小の図形(プリミティブ)は点・線分・三角形のみであり、それ以上の多角形や立体図形は多数の三角形を組み合わせて表現する。
制作工程
[編集]3DCGの制作は次のような工程にわけることができる。
これは静止画における基本的な工程であり、動画の場合は更にリギングやモーション、パーティクル・システムなどの工程が加わる。
これらの工程を統括した統合型ソフトウェアもあれば、特化型ソフトウェア(モデラー、レンダラー、デジタル合成ソフトなど)もある。職能上もこれらの工程が分業されることは少なくない。
モデリング
[編集]モデリングでは仮想3次元空間上に個々の物体の形状をつくる。
よく使われるモデリングの方式としては、多角形の集まりで形状を定義するポリゴンメッシュがある。他によく使われる方式としては自由曲面があり、これはNURBS曲面、B-スプライン曲面、ベジェ曲面などのパラメトリック曲面を用いる方式であり、数学的に定義された曲面が得られ、工業製品のモデリングによく利用される。その他、CSGやメタボール、ボクセルなどが用いられることもある。
大抵の場合、後続するレンダリング工程に反映されるべき質感が形状に設定され、物体色やテクスチャマッピング、鏡面反射、透過、屈折、その他にかかわる様々な属性が設定される。
シーンレイアウト設定
[編集]モデリングで制作したオブジェクトを、仮想3次元空間上に配置する。また、光源や、レンダリングの際の視点となる仮想的なカメラを配置・設定する。これらを配置・設定した仮想的な舞台をシーンと呼ぶ。
レンダリング
[編集]レンダリングは3Dシーンを画像へ変換すること、つまり描画である。
オブジェクトの形状や位置、光のあたり具合などをコンピュータが計算し、最終的な画像が生成される。レンダリングのアルゴリズムには、それぞれ処理速度や品質の違う多くの種類があり、用途に合わせて使い分ける。各種の設定を済ませレンダリングを開始した後は、レンダリングが終了するまで制作者がすることは特にない。一般にレンダリングには多くの時間を要する。シーン内に多くの形状があったり、高度なレンダリングアルゴリズムを利用している場合、数時間から数日かかる場合もある。ゲームなどリアルタイムにレンダリングしなければならないときは、単純で高速なレンダリングアルゴリズムを適用したり、シーンの総ポリゴン数を少なくするなど、大きな制限が加えられる。映画など大規模な制作現場では、同時に複数のコンピュータにレンダリング処理をさせて、計算時間を短縮することがある。
レンダリング手法によっては空気による遠近法・光の照り返しなども計算される。そういった複雑な計算をするレンダリング処理は専用回路(GPU)で行われることも多い。高い対話性と双方向性が得られるので、ゲームに用いられる場合はこの形態をとる。
レタッチ
[編集]レタッチ(英: retouch)とは、手直しする作業のことである。レンダリングで得られた画像が、完全に制作者の意図したものになるとは限らない。PhotoshopやAdobe After Effectsなどのフォトレタッチツールなどで、コントラストや色味を手直しすることもある。
制作技法
[編集]テクスチャマッピング
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/UV_mapping_checkered_sphere.png/200px-UV_mapping_checkered_sphere.png)
3DCGのモデルに画像を貼り付けることをテクスチャマッピング(英: texture mapping)、その貼り付けられる画像をテクスチャという。テクスチャを貼ることにより、モデリングやシェーダーのみでは表現の困難な、モデル表面の細かな色彩情報や質感などを設定することができる。
テクスチャの貼り付け方としては、単純にカメラ方向からモデルにテクスチャを投影するだけの方法や、UV座標によって切り出されたテクスチャの2次元画像領域をモデル表面に分割投影する方法などがある。
反射の強度を設定する反射マッピング、小さな凹凸を擬似的に表現するバンプマッピング/法線マッピング、透明度を設定する透明度マッピングなどがある。形状の表面に画像の情報を加えることによって、表面の模様や質感が表現されて、より現実的な画像になる。ディスプレースメントマッピングのように、画像情報をもとに実際の凹凸形状を動的に生成する手法もある。
特にコンピュータゲームにおいては、リアルタイムで3DCGキャラクターを描画する必要から、極力少ないポリゴンで作成されたモデル(ローポリゴンモデル)に、ディテールや陰影などを描き込んだテクスチャを貼り付ける手法が行われている。
バンプマッピング
[編集]![](http://upload.wikimedia.org/wikipedia/commons/3/30/Bump-map-demo-bumpy.png)
モデルの表面の法線の方向を変化させることによって、擬似的に凹凸を表現する技術。グレースケール画像で元形状に対する高低を定義する。少ないポリゴンで細かな陰影をリアルに表現できる利点があるが、実際に表面に立体的な凹凸があるわけではないので、ズーム時や、面を横から見た場合などに違和感のある画像となる。
近年[いつ?]は法線の方向(3次元ベクトル)を直接定義する法線マッピング(ノーマルマッピング)も用いられるが、法線マップを手作業で作成するのは困難であるため、通常は高精細モデルのディティールを法線マップに変換して単純化モデルに適用する手法が採られている。
ディスプレースメントマッピング
[編集]3Dモデルの頂点を実際に表面に対して上下に移動させて凹凸を表現する技術。バンプマッピングに比べて、実際に立体的な凹凸となるため違和感のない画像が得られるが、表現する凹凸に応じてポリゴン数が増大する欠点がある。リアルタイム3DCGの分野ではDirect3D 10およびOpenGL 3.2でジオメトリシェーダーが標準化された後、Direct3D 11/OpenGL 4にてテッセレーションが標準化され、GPUによるディスプレースメントマッピングが可能となった。
ハイパーテクスチャ
[編集]バンプマッピングによる凹凸の表現はあくまで擬似的に陰影を表現し、またディスプレースメントマッピングによる凹凸は3Dモデルそのものの頂点を移動させて凹凸を表現するだけであるのに対して、3Dモデルに立体的な濃度関数を掛け合わせることにより、小さな凹凸はもとより、深い溝や貫通した穴のような大きな構造も表現することができる技術。
パーティクル
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Particle_billboarding_metaballs.jpg/250px-Particle_billboarding_metaballs.jpg)
ポリゴンはあくまで多角形の面なので、モデルにはっきりとした表面が無かったり、モデルの数が膨大であったり、動きが不規則な煙や炎などを表現するのには不向きである。また、毛髪や草木など、ポリゴンで表現しようとするとその量から大変な人的労力やリソースが必要になるものがある。パーティクル (particle) はこれらの問題を解決するための技術である。パーティクルはこれらを微小な粒子の集合として表現し、確率モデルでその動き・形状を処理する。高度なモデリングまたはレンダリングソフトウェアで扱うことができる。これをレンダリングする際にはビルボーディングやメタボールなどの技術が使用される。
サブディビジョンサーフェス(細分割曲面)
[編集]サブディビジョンサーフェス(英: subdivision surface)とは、大まかにモデリングされたポリゴンメッシュをメモリ上で細分化して、滑らかで継ぎ目の無い形状にする技術。少ないポリゴン数で形状を滑らかに表現できるため、編集や変形も容易になる。ただし、工業用CADなど形状に高い精度が要求されるときには利用できない。
ブーリアン
[編集]複数のオブジェクトどうしを集合演算する技術。他の形状と結合する(和)、一方の形状から他方の形状を削り取る(差)、重なっている部分のみを形状として抜き出す(積)ことなどができる。
メタボール
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Metaball3.jpg/200px-Metaball3.jpg)
複数の3次元座標上の点を中心として濃度分布を設定し、濃度の閾値を形状の表面とする技術。球状の形状が引き付けあうようにみえる融合と、反発しあうように見える反転融合がある。正確な形状を作ることは難しいが、有機的な形状を少ない制御点で作るのに向いている。3DCG特有の概念ではなく、2Dの画像表現にも使われることもある。当初はその呼び名の通り球体を基本としていたが、その後改良が進められ、球体以外の形状も利用できるようになり、有機的な形状をモデリングする技術として活用されている。
モデリングの他に、流れる液体の表現等にも使われる。レンダリングに必要な計算量は多くともメモリの使用量が少ないのが利点だったが、現在[いつ?]ではそれらのリソースが充実している上、流体力学の計算法も進歩しているため、映像制作の現場では、見た目のチープなメタボールはほぼ使われることのない技術になっている。
インバースキネマティクス(逆運動学、IK)
[編集]インバースキネマティクス(英: inverse kinematics)は3次元コンピュータグラフィックスの専門用語ではない。もともと力学の一分野であり、ロボティクス等のほうが「本家」である。
人間など多くの関節を持つ動物において、関節の末端部分の位置は常にその親となる部分の位置と角度に依存している。そのため、通常では関節の末端部分の位置を求める場合においてモデルの中心から末端にかけて順番に関節の角度計算をする、という向きが「順方向」である。しかし、その方向で計算したのでは、例えば「机の上を掌でなでるような動き」を実現するのは面倒なものとなる。なぜなら、関節の末端部分の位置の変化を求めるためには複雑な計算をモデルの中心から全て順方向に再計算しなおさなければならないため非常に非効率的だからである。この解決のため、末端部分の位置を先に決めてその関節の末端位置を実現するための親となる関節の角度を、一種の「逆問題」を解くようにして求めることが考えられる。
以上の説明からもわかるように、物理的な運動学に関して一般に考えることができる逆問題的な考え方のひとつである。
股-ひざ-足のような形状を想定してみると、足の裏が自転車のペダルにくっついたままペダルが回転運動をするアニメーションを作る場合に、ペダルの回転運動に合うように股・そしてひざや足の角度の変更を行なっていくのではなく、足部分の移動に追随する形で、逆に足-ひざ-股の順に各関節の動きを順次割りだして決定する方が、見た目も自然なアニメーションが作成できる。
ライティング(照光)
[編集]ライティングとは3Dモデルを照らす光の設計である。3Dシーンのどこに、どの種類の光源を、どの強度や色で配置するかを設計する。実装においてはシェーディング処理負荷と表現力のバランスが重要である。
テッセレーションとポリゴンメッシュ
[編集]3DCGソフトウェアによっては、球や円柱などの単純なオブジェクト(プリミティブ)を、ポリゴンではなく中心点や半径、高さといった数値で扱う場合がある。これらの細部を編集したりレンダリングする場合は、ポリゴンメッシュに変換する必要がある。これをtessellationと呼ぶ(tessellateはモザイク模様にするという意味)。ただし、オブジェクトが本来持っていた形状情報である球体、円錐などのような抽象的な表現は失われてしまう。
反射とシェーディングモデル
[編集]シェーディングは反射の仕方によって様々なモデル化が可能である。単純・高速な局所照明モデルとしてはPhongの反射モデルがしばしば用いられる。高精度・低速な大域照明を実現するためにはラジオシティ法等が用いられる。反射モデルのパラメータは3Dモデルの材質として設定されることが多く、逆に言えば材質と見た目の再現度はシェーディングモデルに強く依存する。またポリゴンメッシュ表現を用いる場合は陰影補間により滑らかなシェーディングが実現される。
Zソート法
[編集]隠面消去方法のひとつ。 ポリゴンの座標(大抵は中心点)を基準に、画面の奥(視線からもっとも遠いポリゴン)から、全てのポリゴンを順番に描画する。 後述のZバッファ法のような特殊な処理をせず、基本的に多角形を描画すればよいだけなので、実装が簡単であり、消費メモリが少なく非常に処理が高速にできる利点がある。Zバッファ法が普及するまでは古くは3DCG全般で利用され、また、最近[いつ?]まで家庭用ゲーム機におけるリアルタイム3DCGでは一般的に利用されていた。しかし、ポリゴン数が増えた場合は、ポリゴンをソートするコストがかかる、またフィルレートが膨大になるため、Zバッファ法と比較して速度的なメリットがなくなる。
ポリゴンが交差した場合に正しく表示することができないという欠点があるが、この解決策として、ポリゴンが互いに交差しないように静的、あるいは動的に細分化する方法がとられることがある。
Zバッファ法と異なり、半透明ポリゴンの描画に関しては、ポリゴンが交差する場合を除いて、概ね正しく扱うことができる。
Zバッファ法
[編集]Zバッファ法は画像の奥行き情報を保持する領域を用意し描画時にこれを参照・更新することで隠面消去を実現する手法である。Zバッファ分のメモリを確保すれば単純な大小比較で実装できる。半透明の描画には描画順序の工夫などが必要である。Zバッファの数値精度に依存して間違った隠面消去(Zファイティング)が起きる場合がある。
スキャンライン
[編集]スキャンライン(英: scanline rendering)とは、スクリーンを横一行ごとに分割して、その一行ごとに深度を計算してレンダリングする手法のことである。透過を表現したり、シェーディングと併用することで陰影も表現できる。スキャンラインとは走査線を意味する。比較的高速だが、得られる画像の品質は基本的にレイトレーシングよりも劣る。
レイトレーシング(光線追跡法)
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Raytrace_no_arealight.png/200px-Raytrace_no_arealight.png)
レイトレーシング(英: ray tracing)は、視点から光源までの光を追跡することでレンダリングする手法。視点から描画する各画素の方向へ直線を伸ばし、物体と交錯する可否を数学的に判定する。照度は光源との方向ベクトルで計算する。反射と屈折は反射率および屈折率をもとに再帰的に探索を繰り返す。物体との交錯がなくなれば計算は終了する。スキャンラインでは得られない反射や屈折などの表現が可能になる。フォトリアリスティックな画像が得られる反面、大変なレンダリング時間が掛かる。そのため屈折の計算処理については、簡略化あるいは制限を設けるのが一般的である。リアルタイム3DCGの分野では、GPUの発展と共に、レイトレーシングのリアルタイム化が試みられており、Adobe After Effects CCではNVIDIA OptiXが採用された。
ラジオシティ
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Radiosity_scene.jpg/200px-Radiosity_scene.jpg)
ラジオシティ(英: radiosity)は、各ポリゴンに光のエネルギー量を持たせて形状の相互反射を計算することで、間接光(やわらかい光の回り込み)などを表現する技術。大域照明(グローバルイルミネーション)の代表例である。計算に膨大な時間が必要になるが、完全拡散面で構成されるシーンでは、一旦物体相互間の光の反射を計算し終えれば、物体や光源が移動しない限り、その計算結果を保存して別のアングルからのレンダリングへ再利用することができる。照明工学の分野で発達した技術を3DCGのレンダリングに応用した。
フォトンマッピング
[編集]フォトンマッピング(英: photon mapping)は、光をモデル化したフォトンを光源からばらまいてフォトンマップを作成し、次に作成されたフォトンマップに対し、光線追跡法を適用することでレンダリングする手法。計算量を抑えつつ、物体や媒質の質感や透明感を表現できる。ラジオシティと同様、計算結果の再利用が可能。
パストレーシング
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Pathtrace3.png/200px-Pathtrace3.png)
通常のレイトレーシングと同様にカメラから視線を飛ばし、オブジェクトと交わった点を始点としてさらに大量に2次視線を飛ばす。ここで得られた色や明るさを平均してその点の色とする。この手法をパストレーシング(英: path tracing)という。物体表面での光の乱反射を再現できるが、明暗差が大きいシーンではノイズが出やすい。
クロス
[編集]衣服を始め、布に関する多くの表現を可能にするための技術。衣服を着たキャラクターの動きや風の影響による布の形状変化のシミュレーションを行ない、デザイナーが手付けで布のアニメーションをつける負担を軽減させる。最終的には、人間の皮膚を始め、あらゆる事象をシミュレーション可能にすることが目指されている。
クロス(英: cloth)の基本的な考え方としては、質量を持ったメッシュノードを擬似的なばねでリンクさせ、伸縮制限(拘束条件)を持たせることによって、布の伸縮・弾性を再現させる。この質感再現のために、技術者によって様々な計算方法が提案されている。
クロスシミュレーションが大々的に使用された最初の映画を挙げると、ネズミが主役のCG映画『スチュアート・リトル』がある。
キャラクターに衣服を着せる制作手法としては、「擬似的な型紙を作り、結合し、キャラクターに被せる」といったMayaに実装されているClassic Clothと呼ばれる手法と、Syflexのように「普通のモデリングと同様な衣服のモデリングをし、クロスに変換する」という2種類の方法に大別される。 現在[いつ?]は、MayaもSyflexと同様の方法のnClothという機能が搭載されている。
Syflexはスクウェアによる映画『ファイナルファンタジー』のプロジェクトでジェラール・バネル(Gerard Banel)が開発したクロスシミュレーションをさらに発展させたもの。非常に高速で安定しており、Mayaのように布同士が反発して暴れるようなおかしなシミュレーション結果を出すことは少ない。
サーフェスモデルとボクセル
[編集]![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/01/VoxelSmoke.jpg/250px-VoxelSmoke.jpg)
2次元の画像の最小単位をピクセルと呼ぶのに対し、3次元座標上に取り入れた最小単位をボクセル(voxel)と呼ぶ。多くの3DCGソフトウェアで採用されているのが、物体の表面のみを処理するサーフェスモデルであるのに対して、ボクセルは中身を持ったボリュームモデルである。液体や雲、煙といった流体計算で主に活用されている。現在[いつ?]では、炎、爆発、溶岩、髪の毛といった表現までも可能にしている。ボクセルモデルでは、正確な形状を作るにはボクセルの密度を上げなければならず、またメモリを大量に必要とする。
レンダリングに必要なオブジェクトを選別し、レンダリングを効率的に処理するために利用されることもある。これをボクセル分割と呼ぶ。
オープンソースプロジェクトでは、OsiriXなど有名である。
3DCG用API
[編集]リアルタイム用途
[編集]リアルタイムの3DCGは科学的なシミュレーションの可視化や、シミュレーターおよび3D CADオペレーションといったインタラクティブ用途に使われる。コンピュータゲーム(テレビゲームやPCゲーム)でも3DCGが一般的になっている。3DCG専用のAPIは主にPCゲームで描画処理を高速化するためにグラフィックスハードウェア(GPU、グラフィックスチップ、ビデオカード/グラフィックスカード)を利用するとき、プログラマが抽象化レイヤーを通してグラフィックスハードウェアにアクセスする方法を提供し、プログラマの負担を軽減する。次のようなAPIはインターフェイスの汎用化が必要となるパーソナルコンピュータやスマートフォンなどのモバイル機器において特によく使われる。
- OpenGL
- オープン規格のAPI。さまざまなOSでサポートされており、移植性に優れている。3DCG作成ツールやCADのようなアプリケーションをはじめ、ゲームなどにも幅広く利用される。モバイルおよび組み込み環境向けのサブセットとしてOpenGL ES、またWebブラウザ向けのサブセットとしてWebGLが存在する。
- Direct3D
- マイクロソフト製OS用のマルチメディアAPIであるDirectXのコンポーネントの一つ。ベンダーによるコンシューマー向けGPU製品のハードウェア最適化が進んでいることから、特に3Dゲーム開発に適している。
ハードウェアベンダー各社が各々のグラフィックスハードウェア上でこれらの汎用化APIをサポートすることで、同一のプログラムを異なるハードウェア上で動作させることができる。なおゲーム専用機の場合は必ずしも汎用化・抽象化が必要ではないため、各機器ごとに最適化された独自のローレベルAPIが用意されることがほとんどである。
OpenGL 1.5/Direct3D 8.0以降はそれぞれプログラマブルシェーダーをサポートし、プログラマがシェーディング言語によりシェーディング処理をカスタマイズできるようになった。ハードウェア性能の向上に加え、プログラマブルシェーダーによってリアルタイム3DCGの品質は飛躍的に向上した。
そのほか、AMDによるMantleの登場以降は、AppleによるMetal、マイクロソフトによるDirect3D 12、そしてクロノス・グループによるVulkanなど、ゲーム専用機向けAPIのようにハードウェア抽象化の度合いを下げてローレベルなハードウェア制御を可能とする描画効率重視のAPIが出現している。
プロダクション用途
[編集]- RenderManインタフェース仕様
- PIXARによって開発された、プロダクションレンダリング用のソフトウェアインターフェイス。RenderMan Shading Languageによるカスタマイズが可能。
歴史
[編集]3DCGの歴史を国別に焦点を当てて概説する。
世界で最も3DCGの研究・実用化が進んだ国はアメリカである。ACM(国際計算機学会)におけるSIGGRAPHの主催など研究での盛んさに加え、ハリウッドの映画産業がバックボーンにあり、計算機科学の先駆研究者達を擁するピクサーなどの制作会社によって3DCGアニメが大量に制作され、実写作品にも盛んに3DCG技術が用いられている。アメリカでの特に重要な研究業績には、アイバン・サザランドによるヘッドマウントディスプレイ(1966年)、エドウィン・キャットマルによるテクスチャマッピングやZバッファ(共に1974年)、サブディビジョンサーフェス(1978年)、ジム・ブリンによる環境マッピング(1976年)やBlinn-Phongの反射モデル(1977年)やバンプマッピング(1978年)、ジェームズ・クラークによるジオメトリエンジン(1980年)、ターナー・ウィッテッドによる再帰的レイトレーシング(1980年)、ジム・カジヤによるレンダリング方程式やパストレーシング(1986年)などがある。1995年には初のフル3DCGの長編映画『トイ・ストーリー』が制作された。
フランスのピエール・ベジェはベジェ曲面を考案(1970年)し、アンリ・グーローはグーローシェーディングを考案(1971年)した。
ベトナムのブイ・ツォン・フォンはPhongの反射モデルやフォンシェーディングを考案(1975年)した。
カナダでは初のフル3DCGのテレビ向け30分枠アニメシリーズとして『リブート』(1994年)が制作された。 フランスでは同じくフル3DCGのテレビアニメシリーズ『インセクターズ』(1994年)が公開された。
デンマークのヘンリク・ヤンセンはフォトンマッピングを考案(1996年)した。
日本の大阪大学大村皓一らはメタボールを実用化(1982年)し、福山大学西田友是らはMichael F. Cohenらとほぼ同時にラジオシティを考案(1985年)した。
コンピュータゲームにおいては、アメリカではパソコンが主流のため技術革新に対応しやすく、その点では世界のビデオゲーム産業の盟主たる日本を追い越す結果となった(セガの『バーチャレーシング』、『バーチャファイター』シリーズ、PlayStationなどといった3DCGの採用は早かったものの、蓄積されたのは専用に近いアーケードゲーム基板や家庭用ゲーム機など数年間は性能が固定されるハードウェアに依存した技術が多かったとも言われている)。
日本のアニメでは、劇場版『ゴルゴ13』やテレビアニメ『子鹿物語』(共に1983年)での部分的に用いられた3DCGの導入の時期は世界的にも早かった。ゴルゴ13のCGパートはトーヨーリンクスと大阪大学大村皓一らチームの開発による3DCGシステムで制作されるなど、当時は国産システムの開発が行われていたが、こうした動向は次第に廃れている。国内でのフル3DCG作品では、写実調ではテレビ用映画『VISITOR』(1998年)、アニメ絵調では劇場版『アップルシード』(2004年)が長編作品の端緒に挙げられる。テレビ向けのフル3DCG作品は数分程度の短尺な作品が多いが、30分枠テレビシリーズも『SDガンダムフォース』(2004年)の頃から少数ずつ制作されている。
日本では漫画文化を背景として線画表現への親しみが深く、1990年代後半頃からアニメーターによる手描きアニメに3DCGを馴染ませた表現が普及している[3]。3DCGは背景動画やロボット、群衆シーンなどの作画に労力のかかる部分に多く使われるほか、2000年代以降はトゥーンレンダリングの表現力向上により、キャラクター描写(の一部)を3DCGでおこなう作品も増加した。
脚注
[編集]注釈
[編集]出典
[編集]- ^ a b "リアルタイムレンダリングだけではパフォーマンスの問題から一部の高負荷シーンが描けなかった。... プリレンダリングだけでは画質が落ちる可能性がある。" 以下より引用。noguchi. (2024). [GDC 2024]「FINAL FANTASY XVI」映像制作の裏側に迫る。開発チームがかけた映像の魔法. 4Gamer.net. 2024-03-20発行.
- ^ コンピュータグラフィックス | 3. 3次元変換と投影, 佐藤証, 電気通信大学
- ^ “日本にフルCGアニメは根付くのか?”. CGWORLD.jp/Enhanced-Endorphin. ボーンデジタル/東映アニメーション (2012-2013). 2019年11月13日閲覧。
関連項目
[編集]- 2次元コンピュータグラフィックス (2DCG)
- グラフィックソフトウェア
- Lightprobe[要説明]
- RADIANCE[要説明]
- Studio MOMO
- マッチムーブ
- グローバル・イルミネーション
- プリミティブ図形
- 3D回転
- コンピュータグラフィックスの研究者
参考文献
[編集]- 大村皓一 (2004). “コンピュータグラフィックスの歴史と基本技術および最新動向”. 電気学会誌 124 (6): 337-340. doi:10.1541/ieejjournal.124.337.
- 西田友是. “CG History”. 東京大学大学院 西田研究室ウェブサイト. 2019年11月13日閲覧。
- 三谷純(編)、高山健志、土橋宜典、向井智彦、藤澤誠:「3DCGの数理と応用」、コロナ社、ISBN 978-4-339-01371-9 (2023年7月7日)。
外部リンク
[編集]- CGWORLD.jp - CG・映像の専門情報サイト(ボーンデジタル)
- Enhanced-Endorphin - CGアニメーションの情報サイト。日本の主要な3DCG作品リストや3DCG映像の開発史などを掲載。(東映アニメーション)