Okamoto's Homepage
質感の基本的な設定方法でみたように,オブジェクトの表面の色や模様を設定するにはpigmentを使います。たとえば球を赤くしたければ,次のように,pigment{ } の{ }内に色の指定を書きます。
object {
sphere {<0, 1, 0>, 1 }
texture {
pigment { rgb <1, 0, 0>}
}
}
|
colors.incをインクルードしていれば,「rgb <1, 0, 0>」の部分を「Red」と書くこともできます。色を付けるだけなら簡単ですね。オブジェクトを透明にしたいときは,「rgbf <1, 0, 0, 0.9>」のようにfilterの値を設定すればいいです。
pigment{ } 内で,「wood」や「marble」などのようなパターンのキーワードを指定することで,オブジェクトの表面の模様をたとえば木目調にしたり,大理石ふうにしたりすることができます。
「checker」「hexagon」「brick 」「object」の四つは,「カラーリストピグメント」とよばれるもので,2色または3色の色を指定することで模様を指定するものです。
「checker」はチェック模様,「hexagon」は六角形の模様,「brick 」はレンガふうの模様をつくります。「object」はたぶんバージョン3.5から付け加えられたものです。指定したオブジェクトの形に塗ることができますので,球体の表面に文字を入れるような使い方ができると思います(試していませんが・・・)。
checkerの書き方は次のようになります。
![]() |
pigment {
checker
}
|
とだけ指定すると青と緑のチェック模様ができます。自分の好きな色にしたいときは次のように書きます。
pigment {
checker
color rgb 1,
color rgb 0
}
|
上の例では白黒に塗り分けています。このように「checker」の場合は2色を指定することでチェック模様をつくります。
hexagonの書き方は次のようになります。hexagonの場合は3色で塗り分けられます。
![]() |
pigment {
hexagon
color rgb <1,1,0>
color rgb <1,0,1>
color rgb <0,1,1>
}
|
bricksの書き方は次のようになります。bricksでは,レンガの部分の色と溝の部分の色の2色を指定します。最初に指定する色が溝の色,2番目の指定がレンガ部分の色です。
![]() |
pigment {
bricks
color rgb <0.5, 0.5, 0.5>,
color rgb <1, 0, 0>
}
|
objectの書き方は次のようになります。まずオブジェクトを指定してから,オブジェクトの外側の色と内側の色をしていします。ちょっとわかりずらいかもしれないですが。
![]() |
pigment {
object {
sphere {<0,0,0>, 1 }
color rgb <0,1,0>,
color rgb <0,0,1>
}
}
|
上に挙げたパターン以外に,「agate」「marble」「wood」など,POV-Rayでは数多くのパターンが用意されています。それぞれについて詳しくは説明しませんが,こちらにパターンのサンプル画像がありますので,ご覧下さい。
ここでは「wood」を例にして,書き方をみていきます。まず「pigment { wood }」とだけ指定すると,次のような画像ができます。
![]() |
pigment {
wood
}
|
色については何も指定していませんが,デフォルトでそれっぽい色になっています。色を変更するには「color_map」という指定を使います。color_mapはたとえば次のように書きます。
color_map{
[0 rgb <1, 0, 0>] [0.5 rgb <0, 1, 0>]
[1 rgb <0, 0, 1>]
}
|
このようにcolor_map{ } の中に[ ]で囲まれた指定をいくつか書きます。[ ]内は,0〜1の数値と色の指定を書きます。0〜1の数値は,小さい方から書きます。それぞれで指定した色が,滑らかにグラデーションになります。次の例では分かりやすいように「colors.inc」をインクルードして,「gradient」という指定を使ってみました。
![]() |
pigment {
gradient y
color_map{
[0 Red]
[0.2 Magenta]
[0.4 Blue]
[0.6 Cyan]
[0.8 Green]
[1 Yellow]
}
|
ある一定の範囲を同じ色にしたいときは,次のように書きます。下の例では0.2から0.8までが青1色になります。
![]() |
pigment {
gradient y
color_map{
[0 Red]
[0.2 Blue]
[0.8 Blue]
[1 Yellow]
}
|
さて,woodの例に戻りましょう。woodのパターンを自分の好きな色に変更するには,次のように書きます。やや黄色っぽくしてみました。
![]() |
pigment {
wood
color_map{
[0 rgb <0.7, 0.5, 0.1>]
[1 rgb <0.2, 0.1, 0>]
}
}
|
このままでは木目(年輪)がきれいすぎますね。もう少しリアルな感じに近付けてみましょう。turbulenceというオプションを付け加えると,木目(年輪)を指定した数値に応じて乱れさせることができます。
![]() |
pigment {
wood
color_map{
[0 rgb <0.7, 0.5, 0.1>]
[1 rgb <0.2, 0.1, 0>]
}
turbulence 0.1
}
|
本当にリアルな模様を作るには,いろいろなオプションをつかったり,テクスチャを重ねあわせたりする必要があります。結構難しいです。woods.incやstones.inc,textures.incなどをテキストエディタで開いてみると,それぞれのテクスチャが指定されていますが,それらを参考にして勉強してみてください。