3DCG
三次元グラフィックスとは
現在、映画やアニメには、コンピュータグラフィックスが当たり前に多用されています。この場合、コンピュータ・グラフィックスとは、三次元コンピュータ・グラフィックス(3DCG)を指す場合がほとんどです。同時に、パソコンやゲーム専用機、スマートフォンなどでも、ゲームなどで3DCGが多用されています。
同じコンピュータ・グラフィックスという言葉を使っていても、二次元(2D)のものと、三次元(3D)のものでは、根本的に仕組みが違います。そこで、ここでは三次元コンピュータグラフィックスの仕組みについて説明します。
3DCGの仕組み
三次元座標系とオブジェクト
3DCGは、X,Y,Zという3つの座標軸上で表現されます。ゲームや映画のキャラクタや物体などは、一般的に、モデル(Model)、またはオブジェクト(Object)と呼ばれており、この三次元空間上で表現されています。(図4-1.)
オブジェクトは、三次元空間上の頂点と言われる点を複数集めた、ポリゴン(Polygon)と呼ばれる平面の集合によって構成されています。(図4-2.)ポリゴンには、色や質感を表すために、マテリアルを設定したり、テクスチャと呼ばれる画像を張り付けたりすることができます。たとえば、気の机などを描画する場合は、ポリゴンの集合に木目のテクスチャを、シマウマには縞模様のテクスチャを張ることにより、質感を表現します。
三次元グラフィックスは、こういったオブジェクトを複数三次元空間上に配置することにより構成されています。一般にこういったものを、シーン(Scene)と言います。(図4-3.)
図4-1.三次元座標系 | 図4-2.ポリゴン |
---|---|
図4-3.オブジェクトとシーン | |
レンダリング
このシーンは、このままでは我々が見るCGの画像になりません。このシーンを、三次元空間上に置いたカメラでとらえ、その画像を二次元の画像におきかえる処理が必要です。この処理のことを、レンダリング(Rendering)と言います。
レンダリングの際には、光の当たり具合やそれによって生じる影なども表現されます。また、レンダリング手法によっては空気による遠近法・光の照り返しなども計算されます。このような処理は大変複雑な計算を大量に行わなければなりません。そのため、その処理を少しでも早く行うために現在レンダリング処理は専用回路(GPU)で行われることが多くなっています。
3DCGAPI
3DCGの処理は複雑で高度な計算を大量に行わなければならないため、パソコンなどでこういった処理を行うためのAPIが用意されています。代表的なものとしては、OpenGL(オープン・ジーエル)と、DirectX(ダイレクトエックス)といったものがあります。
OpenGLは、Windows/Linxu/MacOSXなど、様々なOSに移植され、互換性の高いAPIです。3DCG作成やCADのようなアプリケーションをはじめ、ゲームなどにも幅広く利用されています。また、DirectXは、マイクロソフト社によって開発されたライブラリで、Windows専用のものです。またその機能もグラフィックスのみならず、サウンドやゲームコントローラの処理など、3Dのゲームに適したものも付属しています。
3DCGソフト
3Dグラフィックスを作成するソフト
3DCGを作成するためには、一般的に3Dグラフィックスソフトと呼ばれる専用のソフトウェアを用います。ソフトにより、性能やできることは様々ですが、共通しているのは、モデリング(Modeling)という、モデルを作成する機能がついていることです。
このほかに、作成したモデルに動作(アニメーション)をつけたり、シーンをレンダリングしたりと、さまざまな機能が付いています。3DCGには、無料のものから、有料のものまで、たくさんの種類があります。主なソフトウェアとしては、以下のものがあります。(表5-1.)
名前 | 呼称 | 特徴 |
---|---|---|
Maya | マヤ | Autodesk社の製品で、アニメーション、モデリング、シミュレーション、レンダリングなど様々なことができる、3DCGソフトの最高峰です。映画の作成からアニメ、ゲーム等様々な場面で使われます。現在、シェアはナンバーワンです。 |
3DStudioMax | スリーディー スタジオマックス | Maya同様、Autodesk社の製品で、映画・ゲームなどで使われます。機能を拡張できるプラグインが豊富で、機能の拡張がプログラムを書かずとも可能です。個人でも機能拡張の自由度が高いのが特徴です。 |
LightWave | ライトウェーブ | NewTek社によって開発された3DCGで、この分野では草分け的な存在です。かつては最高のシェアを誇りましたが、現在では、Autodesk社の製品の後塵を拝しています。ただ、コストパフォーマンスが良いことから、今でも一定のシェアを誇っています。 |
Blender | ブレンダー | オープンソースで開発された、無料で利用できる3DCGソフトです。まだまだ発展途上な部分はありますが、商用のものと肩を並べるほどの機能を持っています。 |
ネットワークレンダリング
ハイエンドな3DCGソフトを使ってCGのアニメーションなどの作品を作る場合、大量の計算処理を行わなければなりません。その処理を一つのコンピュータだけで行うと、大変な時間がかかっています。そのため、ハイエンドなソフトでは、ネットを使ってレンダリング処理を複数のコンピュータに分散して処理させる、ネットワークレンダリングと呼ばれる機能がついています。
3Dプリンターのモデルの作成
現在、3DCGソフトの役割や、ゲームや映画で作る映像の作成ばかりではありません。近年、こういったソフトは、3Dプリンターのモデルを作るためのソフトとしても使われ始めています。現在、こういった機能は3DCGソフトの補助的な機能の一つですが、将来的には主な機能の一つになる可能性が高いでしょう。
その他のツール
また、3DCGに関するツールは、3DCGのようにモデルや映像を作成するためのものばかりではありません。Unity(ユニティ)というツールを用いれば、3DCGソフトで作ったモデルなどを組み合わせて、簡単にゲームなどのコンテンツを作成することが可能です。