Fu-Ken's Room

POV-Ray でイロイロやってみよう!

第六回 背景画像を作ってみよう(前編)

1. 他のソフトのために

3DCG製作で、遠景には2Dの画像を使用することがあります。
特にアニメーション製作などでは効果が大きいと思われます。
しかしアニメーションの場合、カメラの動きに合わせて背景も自然に動かなければ都合が悪いですね。
そのような背景は、天球と呼ばれる巨大な球の内側に画像を張り付けるのが一般的です。
その球の内部でカメラや照明を動かし、物体にアクションを行わせるのです。
では、球の内部に貼り付けて使用するような背景画像は、どこから入手すればよいのでしょうか?
球体内部という、かなり特殊なパノラマ画像になりますので、なかなかないでしょう。
今回はそのような画像を作成する方法について解説します。

2. ツール

球体に張り付けるための画像を作成するツールとして、背景画像コンバータというツールを使います。

ダウンロードはこちらから。>■ Project Team DoGA

これは DoGA が DoGA-Lシリーズ用の背景画像を製作するために開発したツールです。
ツールの使用方法は添付ファイルを読んでもらうとして、自分で用意しなければならないのは以下の条件を満たした画像です。

添付ファイルには Terragen でこの画像を作成する方法が解説されています。
今回は POV-Ray でこの条件に合わせた画像を作成する方法について説明していきたいと思います。

3. 宇宙空間

前回の Galaxy.inc を利用して宇宙空間の背景を作成してみます。
まずは以下のシーンファイルを用意します。

#declare F = 1+clock*5 ;
#declare CT = <0,0,0> ;

#if (F = 1)
#declare CR = <0,0,0> ;
#end

#if (F = 2)
#declare CR = <0,90,0> ;
#end

#if (F = 3)
#declare CR = <0,180,0> ;
#end

#if (F = 4)
#declare CR = <0,-90,0> ;
#end

#if (F = 5)
#declare CR = <90,0,0> ;
#end

#if (F = 6)
#declare CR = <-90,0,0> ;
#end

camera { location <0,0,0> look_at <0,0,1> up <0,1,0> right <1,0,0> angle 90 rotate CR translate CT }

#declare galaxy_seed = 4137089 ;
#declare galaxy_color = < 0.5, 0.8, 1.0 > ;
#include "GALAXY.INC"

そして Command line([○○x△△ AA 0.3]など画像サイズを選択する部分の隣の入力欄)に次のコマンドを記入します。

Height=800 Width=800 +A +KFF6

まずコマンドラインオプションの説明をします。
Height、Width で出力画像の大きさを決めます。
+A はアンチエイリアスを行う設定です。
+KFF6 は連番で6枚の画像を出力します。
(このシーンのファイル名が starback.pov であれば、starback1.bmp、starback2.bmp・・・starback6.bmp となります。)

この連番で出力するとき、clockという変数が0.0〜1.0の間で等間隔に変化します。
今回の場合、1枚目では clock = 0.0 となり、以下、
2枚目では clock = 0.2
3枚目では clock = 0.4
4枚目では clock = 0.6
5枚目では clock = 0.8
最後の6枚目では clock = 1.0
と変化します。
そこで、シーンファイルの1行目で F = 1+clock*5 として、Fが出力される画像の連番と対応するように定義します。

次に使用するカメラの設定です。
#if 〜 #end 命令で、一枚目(F=1)ならこの角度、二枚目(F=2)ならこの角度・・・というように設定しています。
今回は1枚目がZ軸の+方向を見て、その後時計回りに90度ずつ回り、真下(Y軸−方向)と真上(Y軸+方向)を指定しています。

カメラ自体の設定では、up <・・・> と right <・・・> で視界の縦横比を設定します。
これは、デフォルトでは up:right = 1:1.33 となっているため、これを 1:1 に修正しているのです。
angle は視野角の設定なので、90度に設定します。

これらの設定により、レンダリングすると6枚の連番画像が作成されます。
レンダリング後、6番目の画像(真上の画像)のファイル名の連番を「6」から「0」に書き換えます。

背景画像コンバータを起動し、左上の「上」の画像の「参照」をクリックし、先程出力した連番画像の「0」を選択します。
すると自動的に他の画像も読み込まれ、プレビュー画像も作成されます。

出力解像度、アンチエイリアスの設定はそのままでいいと思いますので、「変換」をクリックし、保存場所、ファイル名(拡張子を忘れずに!)を設定すれば完成です。

4. 使用例

今回作った背景画像を DoGA-L3 で使用してみましょう。
背景設定のパネルで、「画像指定」で作成した画像を選択し、「背景球に貼る」にチェックを入れるだけでOKです。
今回は適当な宇宙船を作成し、その周囲をカメラがグルリと回るだけのアニメーションですが・・・

■使用例(mpeg1/163KB/320x240)

こちらが完成した背景画像です。
ご自由にお使いください。

■宇宙空間背景画像(JPEG/649KB/3072x1536)


次回は CityGen を使用して都市の背景を作って見ます。

◆ NEXT ◆

◆ PREVIOUS ◆

◆ BACK TO SEMINAR ◆