|
|
|
第52回:3Dポリゴンとは
|
|
|
|
大和 哲 1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。 (イラスト : 高橋哲史) |
|
ポリゴンとは
J-フォンが6月より発売しているJava対応端末「J-SH07」には「Mascot Capsule Engine」という3Dポリゴンエンジンが搭載されています。この3Dポリゴンエンジンは、3D(3次元)で作られたモデルを携帯ゲーム機、携帯電話機上で表示させて、リアルタイムに動かすこともできるソフトウェアです。Mascot Capsule Engineの場合、開発元のホームページに掲載された資料によれば、携帯電話では1~500ポリゴン、秒間4~20フレーム(1秒間にどれだけ画面を切り替えられるか。これが多いほど動画表示するときにスムーズになる)の速度でポリゴンを表示することができるのだそうです。
ポリゴンとは多角形のことです。3次元的なグラフィックスでは、画像を表現するのに3角形、4角形などの多角形を表示しています。いわばポリゴンとは3Dグラフィックスの最も基礎となる要素であると言えるでしょう。
3次元で画像を扱うということ
携帯電話を始めとする、コンピュータが扱う画面は、ピクセル(画素)と呼ばれるものがたくさん集まってできています。たとえばある携帯電話の表示能力が「132×176ピクセル」であったら、その携帯電話の画面には横に132個分、縦に176個分の画素が並んでいて、これを光らせたり消したりして画像を作っているのです。
コンピュータが2次元で画像を扱うとき、画像フォーマットの回にあるように、多くの場合は画像として、画面のピクセルのどの点がどの色で光っているのかをデータにしたものを使って、ネットワークからもってきたり画面に表示したりしています。しかし、この方式ですと、たとえば、1つのデータを使い回しすることはほとんどできません。たとえば、ある物体を上下左右から見た画像を表示したい場合はその物体を上下左右から見て、あらかじめ画像のデータを作っておかなくてはならないのです。
3Dグラフィックスはこれとは根本的に違います。
まず、あるモノのモデルを作ります。このモデルには、その“モノ”がどんな形かでどんな色か、あるいはどんな模様がついているのかといった「モノの形」のデータが入っています。そして、そのモノの形や色、質感のデータから1回1回計算して画面の上に表示するのです。
例えるなら、今までの2次元のグラフィックスの違いと3Dのグラフィックスの違いは、ある人形があるとして、それを紙にそのまま描くか、まず形を作ってその写真を撮るかの違いだと思えばいいでしょう。
|
3Dグラフィックスの基本は、多角形の「ポリゴン」を利用した3Dモデルを投影することにある。元になるデータは対象となるものの形を数値化したものなので、座標計算さえすればズームインや回転なども自由自在だ
|
ただし、コンピュータグラフィックスでは、実際に人形やぬいぐるみなどを作るのと違って、自由に形を作れるわけではありません。コンピュータの計算能力には限界があるので、ある程度コンピュータに楽な形でデータを作ってやらなくてはなりません。
そのためにあるのがポリゴンです。
ポリゴンはひとつの平らな多角形でこれを組み合わせることで3Dのモデルが作られます。つまり、ポリゴンは3Dグラフィックスの一番小さな要素である、と言えます。
3Dグラフィックスでのモデルは、このポリゴンの頂点の座標やポリゴンの色などの要素をデータとして持ちます。これは、イメージのひとつひとつの点をデータとして持っている2D(2次元)のグラフィックと比べて、やりようによってはデータ量という点ではかなり有利になります。まして、3Dグラフィックではこのモデルを携帯電話内部の計算機で位置を計算するだけで、1つのデータをいろいろな角度から見たり、あるいはモノの形を少しずつ変えて動きを表現したり、ということまでできますので、特に動きのある画像に関しては2Dのイメージと比べてかなり少ないデータでできます。
携帯電話はデータ伝送レートが9.6kbpsや14.4kbpsなど、回線を使って送れるデータは少ないので、特に「運ぶデータが少なくてすむ」というのは有利な条件となるでしょう。
「カクカク」をなくすための工夫も
さて、3Dグラフィックスの基礎はポリゴンであることは確かなのですが、単色の多角形を並べて物を表現しただけでは、どうにも不自然になってしまいます。できたイメージは、一昔前の「いかにもコンピュータで作りました」というようなカクカクのもので、滑らかな曲線にはなかなかなりません。モノのモデルを人間の目がごまかせるくらい細かい多角形に分解できたとしても、おそらく携帯電話のデータ伝送レートではデータのやりとりに膨大な時間がかかってしまうでしょう。
現在では、多くの3Dグラフィックスでは、単にポリゴンを並べて表示するだけではなく、ポリゴンでできた画像をリアルに見せるための工夫をしています。
仕様は公開されていませんので、どこまでやっているのかはわかりませんが、携帯電話の3Dポリゴンエンジンでも、実際には多角形を表現するだけではなく、多角形で作った画像を自然に見せるための工夫をいくつか行なっているようです。
ポリゴンを使った3Dグラフィックスをリアルに見せるための方法として、比較的ポピュラーなところでは、多角形の組み合わせられているものを、それらの多角形の間をまたがって滑らかに明るさを変えたりすることで丸みのある形状のものを表現する、といった方法があります。こうした手法では、「グーローシェーディング」「フォンシェーディング」などが、画像を滑らかに表示するシェーディングの方法としては有名でしょう。
一方、いかにもポリゴンといった画像の、ひとつのポリゴンをひとつの明るさと色で表現する方法は「フラットシェーディング」などと呼ばれます。
|
ポリゴンの集まりである3Dグラフィックスをなめらかに見せる方法のひとつとして、多角形の間をまたがって滑らかに明るさを変えるなどの方法がある。グーローシェーディングなどはそういった手法のひとつだ
|
あるいは、写真や絵などの画像をモノの画像に貼りつけることでそれらしく見せる、などということも行なわれます。「テクスチャマッピング」という方法です。
他にもマッピングで画像をリアルにみせるテクニックとしては凹凸を表現する「バンプマッピング」などもあります。
なお、3Dの画像を表現するには、多くの数値計算(それも行列の掛け算が多い)が行われます。そのため、複雑なプログラムは実行できるが計算はそれほど早くないマイクロコンピュータではなく、単純計算を大量にすばやくできるようなハードウエアを搭載する場合もあります。現在の携帯電話では搭載されていませんが、パソコン用の3Dアクセラレータや家庭用ゲーム機などではこのような3D表示に便利な補助用のハードウエアを搭載している場合があります。
・ マスコットエンジン
http://www.hicorp.co.jp/product/mascot_engine/
・ J-フォン、バンダイと携帯向けの3Dポリゴンエンジンを開発
(大和 哲)
2001/07/17 00:00
|
|
|
|
|