Close-UP!


テキストベースの3D CGレイトレーシングソフト
「POV-Ray」v3.1g

ソースコードを記述することによって詳細な設定が可能

(01/05/21)

 3D CGを制作する場合、ほとんどのソフトではオブジェクトを3D空間に配置したり変形したりといった操作をドラッグ&ドロップで行い、その編集結果はOpenGLやDirect3Dでリアルタイムに画面上に表示される。ところが、今回紹介する「POV-Ray」は、オブジェクト、ライト、カメラなどの3D空間を構成する要素がテキストで記述された“シーン”を読み込み、画像ファイルを生成する“レンダリング”を行うソフト。Webページの制作にたとえると、「POV-Ray」はテキストエディターでHTMLを直接書いていく方法に、そのほかの3D CGソフトはWYSIWYGのソフトで視覚的な要素をマウスで操作しながら制作していく方法に、それぞれなぞらえることができるだろう。

テキストで3D CGのシーンを記述

「POV-Ray」v3.1g
「POV-Ray」v3.1g
 「POV-Ray」はWindows、MS-DOS、Mac、Amiga、各種UNIXからスーパーコンピューター用まで、ありとあらゆるプラットフォームで動作するフリーソフト。プラットフォーム間の互換性が保たれていて、同一のシーンファイルならばどのプラットフォームでレンダリングしても同じ画像が生成される。ソースコードが公開されていて、改造されたバージョンの配布もライセンスで許可されており、ネット上には数多くの種類の「POV-Ray」が存在する。ユーザーが作成した3D CG画像は非営利、営利を問わず自由に使用することができる。

 「POV-Ray」のシーンファイルは拡張子POVをもつテキストファイルで、被写体となるオブジェクト、3D空間をどのように眺めるのかを決定するカメラ、光の方向や色を決めるライトなど3D CGを作り上げるのに必要な要素が文法に従って記述される。ちょうど3D CGの“ソースコード”にあたるものだ。すでに視覚的な手法で3D CGを制作してきた人や3D CGの初心者には難しいと感じられる手法かもしれないが、テキストでシーンファイルを記述することによってオブジェクトの表面の質感やレンダリング時の品質などの詳細を、ユーザーが確実に設定できるという利点がある。

 Windows版の「POV-Ray」はシーンを記述するテキストエディター部と、シーンを画像化するレンダリング部が統合されたアプリケーションになっている。テキストエディターでシーンを記述する際には、オブジェクトの種類や移動などのキーワードをメニューから選択して簡単に挿入できる。ツールバーにある「Run」ボタンをクリックすると、現在開かれているシーンがレンダリングされ、画像が表示される。タグ挿入式のHTMLエディターでHTMLを書き、プレビューボタンをクリックするとブラウザーで編集中のWebページが表示されるのによく似ている。

ごく初歩的なPOVファイルのサンプル
ごく初歩的なPOVファイルのサンプル
 シーンファイルを記述するにあたって“インクルードファイル”という仕組みがある。これは外部ファイルにオブジェクトの種類、表面のテクスチャーの種類などのキーワードを定義しておき、一種のライブラリーとして利用するもの。C/C++言語のインクルードファイルと同様、シーンファイルの冒頭で「#include "ファイル名"」という命令を使って読み込む。数値や複雑な計算式の組み合わせで表現しなければいけない要素をあらかじめインクルードファイルに定義しておくことで、実際のシーンファイルではキーワードひとつで呼び出せるという利点がある。「POV-Ray」には、いろいろな基本図形(プリミティブ)を定義したもの、金属の質感を定義したもの、ガラスの質感などを定義したもの、色の名前を定義したものなど、数多くのインクルードファイルが付属していて、たとえば「metals.inc」というインクルードファイルを使うと「T_Brass_4C」というキーワードで銅の質感が指定できるようになる。

 基本図形のインクルードファイルでは、球や立方体などおなじみの図形に混じって、関数曲線であるベジェ曲線や、近づけると液体のように融合する球状のオブジェクトであるメタボールなどが定義されている。また、ユーザーが独自にインクルードファイルを作成することも可能で、よく利用する一連の命令を定義しておけば「POV-Ray」の機能を強化することもできる。

レイトレーシングを採用して、高品質な画像を生成

 「POV-Ray」は、3D CGのシーンを画像化するレンダリングのときに“レイトレーシング”という手法を用いている。これは光源から発せられた光がオブジェクトの表面に当たり、それが反射して目に届くという、人がものを見るときのプロセスをシミュレートしたもの。リアルな鏡面反射、光の屈折、影などを描画できる。出力可能な画像ファイルフォーマットは、BMPファイル、TGAファイル、PNGファイル、PPMファイルだ。PNGファイルで出力する場合は、通常のフルカラー画像(24ビット)の倍精度をもつ48ビット画像や、複数プラットフォーム間での発色の違いを抑えるのに役立つガンマ値の設定ができる。レイトレーシングによって生成される画像の品質は高く、作品制作に十分こたえるものだ。

 レイトレーシング以外にも、環境光の反射の干渉を計算して、リアルな光を描画する“ラジオシティ”や、プールの底にできる光の縞のような表現を行う“コースティクス”など、市販ソフトでも高価格帯のものにしかない機能が備わっていて、幅広い表現手法が選択できる。

 「POV-Ray」は基本的に静止画をレンダリングして出力するソフトだが、シーンファイル内で「clock」という変数を使うことによって、アニメーションを作ることもできる。複数の静止画をレンダリングするときに、オブジェクトの位置やテクスチャーの色などを「clock」変数によって少しずつ変化させれることができるのだ。出力された静止画は、ちょうどパラパラマンガのようになり、それを別途動画編集ソフトなどでAVIファイルやMPEGファイルなどに変換すればいい。オブジェクトの自然落下や弾性などの物理特性を計算する命令をインクルードファイルに定義しておけば、物理シミュレーションのようなアニメーションを作ることもできる。

外部モデリングソフトを使えば視覚的にシーンファイルを作ることも可能

「メタセコイアLE」
「メタセコイアLE」
 冒頭に示した例からもわかるとおり「POV-Ray」での3D CG制作は視覚的、直感的ではない。また、基本図形のほとんどが計算式によって記述されていて、顔や工業製品など計算式で表せない複雑な形状のオブジェクトを作る場合には、輪郭の座標をひとつひとつ数値で記述する必要があって煩雑であるという弱点がある。だが、「POV-Ray」用のシーンファイルを出力できるモデリングソフトを併用することによって視覚的、直感的に複雑な形状を作る手立てもある。「POV-Ray」用のシーンファイルを出力できるモデリングソフトとしては、フリーソフトの「Breeze Designer」が有名だ。また、スプラインパッチ方式のフリーソフトのモデラー「sPatch」、プロのCG作家に愛用者も多いことで名高いシェアウェアの「メタセコイア」とフリー版の「メタセコイアLE」も対応している。

 しかしながら、たとえモデリングソフトを使ってシーンファイルを出力したとしても、質感や光源などを細かく設定して「POV-Ray」のもつポテンシャルを最大限に引き出そうとするならば、シーンファイルを直接編集するということは避けられない。これを逆手にとると、シーンファイルの中身を見ることによって、数値という形で“むき出しの3D CG”にいつでも触れられるともいえる。そのうえアプリケーションのソースコードまでもが公開されていて、シーンファイルをどのように計算して画像化するのかということまでがオープンになっているのだ。このことから「POV-Ray」は作品制作の有力なツールとしてのみならず、3D CGの原理や技術を学習するには最適の教材だといえるだろう。

【著作権者】POV-Ray Team
【ソフト種別】フリーソフト
【バージョン】3.1g(99/07/07)

□POV-Ray - the Persistence of Vision Raytracer
http://www.povray.org/
□Breeze Designer
http://www.imagos.fl.net.au/
□sPatch Page
http://www.crosswinds.net/~draven2561/links/spatch.html
□Mizno Lab.
http://www1.sphere.ne.jp/mizno/

(望月 貞敏)

トップページへ
Close-UP! INDEXへ


Copyright (c) 2001 impress corporation All rights reserved.
編集部への連絡は mado-no-mori-info@impress.co.jp まで