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などをテキストエディタで開いてみると,それぞれのテクスチャが指定されていますが,それらを参考にして勉強してみてください。