前回、メタセコイアから2つのファイルを出力しました。(povファイル、incファイル)
それをCGとして完成させるための変更方法を説明します。
インクルードファイル(以下incファイル)とは、非常に大きな形状データやマテリアルのデータなど、シーンファイルの中に記述すると煩雑になるような部分や、よく使うような内容をまとめておくなどの使い方をするファイルです。
povファイルの中で「#include "〜"」とすることで、incファイルのデータを使えるようになりますし、incファイルの中からも他のincファイルを呼び出せます。
慣れてくるといろいろな使い方ができますが、まずはメタセコイアから出力されるincファイルの内容を解析しましょう。
POV-Rayを起動して「SnowBoy.inc」を開いて見ましょう。
このようなソースが現れます。
// Created by Metasequoia
#declare Shiro = texture {
pigment { color rgb<1.000, 1.000, 1.000> }
finish { ambient 0.250 diffuse 0.550 }
}#declare Tya = texture {
pigment { color rgb<0.584, 0.353, 0.110> }
finish { ambient 0.250 diffuse 1.000 }
}#declare Aka = texture {
pigment { color rgb<0.812, 0.051, 0.075> }
finish { ambient 0.250 diffuse 1.000 }
}#declare Head = mesh {
smooth_triangle {
<-0.000023,416.000000,0.000000>,<-0.000000,1.000000,0.000000>,・・・・・・
texture { Shiro }
}
smooth_triangle {
・・・・・・・・・・・・・・・・・・・・・・・・(以下延々と続く)
非常に大きなファイルであることがわかりますね。
しかしその大部分は形状データなので変更することはありません。
変更するのは主にマテリアルの設定です。
それでは最初の行から解説しましょう。
// Created by Metasequoia
これはメタセコイアから出力されたことを示すコメントです。
#declare Shiro = texture {
pigment { color rgb<1.000, 1.000, 1.000> }
finish { ambient 0.250 diffuse 0.550 }
}
これがマテリアル(材質)の宣言です。
「#declare(名称)=(内容)」というのが今回はじめて出てくる命令ですね。
「#declare」というのは、(名称)は(内容)としますよと宣言するための命令です。
この命令で宣言すると、これ以降、(名称)は(内容)と同じ働きをするようになります。
つまり、『 Shiro はこういう色だから、これからは Shiro とあったらこういう色にしてね』と書いてあるのです。
さて、ここで宣言されているマテリアルの内容を説明しましょう。
「texture{〜}」は、前回も説明したように、表面材質の設定をする命令です。
「pigment{〜}」は色の設定で、「color rgb <〜>」で赤、緑、青を0〜1の範囲で決めています。
次の「finish{〜}もはじめて出てくる命令ですね。
これは質感(光の反射など)を設定する命令です。
メタセコイアからは、「ambient(自己照明)」と「diffuse(拡散光)」の設定が出力されます。
その他の設定(不透明度、反射光、反射の強さ、周囲光)は出力されません。
以下、マテリアルの数だけこの宣言が続きます。
(このファイルでは Shiro 、 Tya 、 Aka の3つ)
#declare Head = mesh {
smooth_triangle {
<-0.000023,416.000000,0.000000>,<-0.000000,1.000000,0.000000>,・・・・・・
texture { Shiro }
}
smooth_triangle {
・・・・・・・・・・・・・・・・・・・・・・・・(以下延々と続く)
ここでは形状が宣言されています。
宣言されている名前から、これが頭のオブジェクトであることがわかりますね。
「mesh{〜}」は平面の集合ですよということを示す命令です。
「smooth_triangle{〜}」とあるのは、一枚の三角形ポリゴンのデータです。
「smooth_triangle」はポリゴンを滑らかに見せる場合で、「triangle」の場合は滑らかに見えません。(メタセコイアでスムージングをオフにした場合)
座標や法線ベクトルの数値がズラズラと並んだあと、「texture{ Shiro }」とあります。
これはこのポリゴンの材質が"Shiro"であることを示しています。
そう、最初に「#declare」で宣言したものです。
以下、延々と同じようにポリゴンのデータが続きます。
ここまでで、メタセコイアから出力されたpovファイルとincファイルの解析は終わりました。
それではこのシーンファイルを変更してCG作品に仕上げていきましょう。
メタセコイアから出力されたファイルをレンダリングするとこのようになります。
まずはカメラの設定です。
メタセコイアから出力された状態では(0,0,-1000)から(0,0,0)を見るように設定されています。
まず、雪ダルマの顔の辺りを見るようにしましょう。
メタセコイアを起動し、「Head」オブジェクトを編集可能にして顔の真中辺りの点を選択します。
メニューバーの「選択部処理」から「頂点の位置を揃える」を選ぶとその点の座標を知ることが出来ます。
私のモデルでは(0,316,100)でした。
POV-Rayでカメラの設定の"look_at"の座標を(0,316,-100)にします。(z軸の座標の符号を逆にする)
これでレンダリングするとこうなります。
雪ダルマの頭が中心にきましたね。
次はどこから見るかの設定です。
すこし右に移動して、目線の高さは頭より少し上から見てみましょう。
今回は"location<500,350,-1000>"に変更しました。
照明は(500,500,-1000)に点光源が設定されています。
このモデルは大きさが500くらいありますので、照明がこの位置では近いような気がします。
ここは思い切って(500,500000,-1000000)くらいにしましょう。
x軸はそのままで、y軸(高さ)とz軸(奥行き)を1000倍してみました。
自然な感じになったと思いませんか?
ここではわからなくても、あとからオブジェクトを追加したりしたときに影の感じが違います。
カメラと照明の変更くらいではあまり変化があるようには思えませんね。
次は簡単なオブジェクトの追加と、マテリアルの変更をしてみましょう。