finish { [ FINISH_IDENTIFIER ] [ AMBIENT_ITEM ] [ DIFFUSE_ITEM ] [ HIGHLIGHT_ITEM ] [ REFLECTION_ITEM ] [ REFRACTION_ITEM ] [ IRIDESCENCE_ITEM ] } |
||
finish | フィニッシュを指定するキーワード | |
FINISH_IDENTIFIER | フィニッシュ識別子の指定 | |
AMBIENT_ITEM | 表面に与える環境光の設定 ⇒「12.3-1 環境光」 | |
DIFFUSE_ITEM | 表面の拡散反射の設定、拡散反射率(diffuse)、光沢(brilliance)、粗さ(crand)が指定できる。 ⇒「12.3-2 拡散反射」 | |
HIGHLIGHT_ITEM | 表面に生じるハイライトの設定、フォン・ハイライト(phong)と鏡面ハイライト(specular)が使用できる。 ⇒「12.3-3 ハイライト」 | |
REFLECTION_ITEM | 表面の鏡面反射の設定、 物体表面を鏡のようにすることができる。 ⇒「12.3-4 鏡面反射」 | |
REFRACTION_ITEM | 旧バージョンの透明物体の光の透過に関する設定なので、使用しないこと。⇒屈折率は「12.11 インテリア」で設定する。 | |
IRIDESCENCE | 表面をおおう薄膜の効果の設定 ⇒「12.3-6 虹色」 |
//これは... //このように短くできる... object { object { My_Object My_Object texture { pigment {color Purple} pigment {color Purple} finish {phong 0.3} finish {phong 0.3} } } }
finish { [ ambient COLOR ] } |
||
finish | フィニッシュを指定するキーワード | |
ambient COLOR | 物体表面の環境光の指定、 通常0.0〜1.0 であるがどんな値でも使用でき、色を指定することもできる。 [デフォルト:0.1 ] |
●環境光の例(図12.3-1) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{ambient 0.1} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{ambient 0.5} translate x*1.2 } |
finish { [ diffuse FLOAT ] [ brilliance FLOAT ] [ crand FLOAT ] } |
||
finish | フィニッシュを指定するキーワード | |
diffuse FLOAT | 拡散反射率の指定、 光源からの直接光の強さに対する拡散反射光の強さの割合を制御する。 通常0.0〜1.0であるがどんな値でも使用できる。 [デフォルト:0.6 ] | |
brilliance FLOAT | 表面の光沢の指定、 入射角による拡散反射光の減衰率を制御する。 値を小さくすると浅い入射角でも拡散反射が起こりやすくなる。 また値を大きくすると金属的になる。 brillianceにはどんな値でも使用できる。 [デフォルト:1 ] この効果はハイライトとともに使用すると効果的である。 | |
crand FLOAT | 表面の粗さの指定をする。 直接照明の拡散反射の中にランダムに細かい影を作り、石やコンクリートなどのざらざらした表面を表現する。 通常0.01〜0.5程度であるが、どんな値でも使用できる。 [デフォルト:0 ] ※ この効果は視点と物体との距離に関係なく同じように見える。 ※ 表面の細かい影はランダムに変わるため、アニメーションでは表面上にちらつきが生じるのでこの効果は使用しない方がよい。 |
●拡散反射率の例(図12.3-2a) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{diffuse 0.6} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{diffuse 1.0} translate x*1.2 } |
●光沢の例(図12.3-2b) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{brilliance 1.0 specular 0.7} translate x*-1.2< } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{brilliance 3.0 specular 0.7} translate x*1.2 } |
●粗さの例(図12.3-2c) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{crand 0.0} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{crand 0.3} translate x*1.2 } |
finish { [ phong FLOAT ] [ phong_size FLOAT ] [ specular FLOAT ] [ roughness FLOAT ] [ metallic [ FLOAT ] ] } |
||
finish | フィニッシュを指定するキーワード | |
phong FLOAT | フォン・ハイライトの指定、 通常0.0〜1.0であるがどんな値でも使用できる。 phong 1.0 のとき、ハイライトの中心は光源の色になる。 [デフォルト:0 ](ハイライトは生じない)。 | |
phong_size FLOAT | フォン・ハイライトのサイズの指定、通常1〜250であるがどんな値でも使用できる。値を大きくするとハイライトは小さく締まって強く輝き、値を小さくすると大きくぼやけて輝きは弱くなる。 [デフォルト:40 ](プラスティック)。※ phong が指定されなければ phong_size は物体に影響を与えない。 | |
specular FLOAT | 鏡面ハイライトの指定、 通常0.0〜1.0であるがどんな値でも使用できる。 specular 1.0のとき、ハイライトの中心は光源の色になる。 [デフォルト:0 ](ハイライトは生じない)。 | |
roughness FLOAT | 鏡面ハイライトのサイズの指定、 通常 0.0005 〜 1.0 であるがどんな値でも使用できる。値を大きくするとハイライトは大きくぼやけて輝きが弱くなり、値を小さくすると小さく締まって強く輝く。 [デフォルト:0.05 ](プラスティック)。※ specular が指定されなければ roughness は物体に影響を与えない。 | |
metallic [ FLOAT ] | phongまたはspecularとともに使用し、金属表面のハイライトを表現する。 ハイライトに物体表面の色を加えることによって、金属的な表面を表現する。 通常はキーワードのみで使用するが、0.0〜1.0の実数値を付けて効果を制御することもできる。[デフォルト:1 ] ※phongまたはspecularが指定されなければmetallic は物体に影響を与えない。 |
●フォン・ハイライトの例(図12.3-3a) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{phong 0.0} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{phong 1.0} translate x*1.2 } |
●フォン・ハイライトサイズの例(図12.3-3b) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{phong 0.7 phong_size 40} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{phong 0.7 phong_size 5.0} translate x*1.2 } |
●鏡面ハイライトの例(図12.3-3c) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{specular 0.0} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{specular 1.0} translate x*1.2 } |
●鏡面ハイライトの例(図12.3-3d) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{specular 0.7 roughness 0.05} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{specular 0.7 roughness 0.3} translate x*1.2 } |
●金属表面のハイライトの例(図12.3-3e) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{specular 0.7 metallic 0.0} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{specular 0.7 metallic 2.0} translate x*1.2 } |
finish { reflection { [ COLOR_REFLECTION_MIN, ] COLOR_REFLECTION_MAX [ fresnel on|off ] [ falloff FLOAT_FALLOFF ] [ exponent FLOAT_EXPONENT ] [ metallic [ FLOAT_METALLIC ] ] } } |
||
finish | フィニッシュを指定するキーワード | |
reflection | 鏡面反射を指定するキーワード | |
COLOR_REFLECTION_MIN | 物体の最小反射率の指定(角度によって反射率が減少する場合に指定できる。) | |
COLOR_REFLECTION_MAX | 物体表面の反射率の指定、 通常0.0〜1.0であるがどんな値でも使用できる。 [デフォルト:0 ](鏡面反射は生じない)。 ※ 実数の代わりにカラー名またはカラー・ベクトルを指定することで、反射光に色を付けることができる。 例) finish { reflection rgb <1,0,0> } // 赤い光を反射する鏡面。 |
|
fresnel on|off | フレネルの反射スイッチ、onで有効にできる。このスイッチを有効にしたときは、インテリアで屈折率を指定する必要がある。[デフォルト:off ] | |
falloff FLOAT_FALLOFF | 反射率の減衰指数を指定する。反射率がn乗して適用される。通常は1.0以上を指定する。 | |
exponent FLOAT_EXPONENT | 反射率の指数によるコントロールで、芸術的な表現を目的とした実験的な実装である。[デフォルト:1.0 ] | |
metallic [FLOAT_METALLIC] | 金属のような反射を表現する。0.0〜1.0の実数値で反射光に対する物色の影響の割合を指定することもできる。反射はフレネルの式が使用される。[デフォルト:1.0 ] |
●鏡面反射の例(図12.3-4) sphere{0,1 // 左の球 pigment{color rgb<1,1,0>} finish{reflection 0.0} translate x*-1.2 } sphere{0,1 // 右の球 pigment{color rgb<1,1,0>} finish{reflection 0.5} translate x*1.2 } |
finish { [ refraction FLOAT ] [ ior FLOAT ] [ fade_distance FLOAT ] [ fade_power FLOAT ] [ caustics FLOAT ] } |
||
finish | フィニッシュを指定するキーワード | |
refraction FLOAT | 屈折のスイッチ、 refraction 1またはrefraction onで屈折が起きる。 ※ refractionのキーワードは物体を透明にするわけではない。透明の指定はピグメントのfilterまたはtransmitによって行う。 ※ 屈折光の明るさはピグメントのfilterまたはtransmitで指定する。 |
|
ior FLOAT | 屈折率の指定、 どんな値でも使用できる。 [デフォルト:1 ](屈折は起こらない)。 ※ 標準インクルードファイルのconsts.incにいくつかの値が定義されているので参照せよ。 |
|
fade_distance FLOAT | 透過光が減衰する距離の指定。光の強度が1/2になる距離を指定する。 | |
fade_power FLOAT | 透過光の減衰特性の指定、現実的な値は1〜2である。 光がどれだけ早く減衰するかを指定する。 | |
caustics FLOAT | 透明物体を透過するときに集光される光の指定。 水の入ったグラスがテーブルの上に生じる影のような効果を簡易的に表現する。 値を小さくすると内部反射した屈折光が強くなり、その物体による影の部分が明るくなる。 ※ この効果は透明物体の影の範囲にしか生じない。 |
finish { irid { AMOUNT [ thickness FLOAT ] [ turbulence VECTOR ] } } |
||
finish | フィニッシュを指定するキーワード | |
irid | 虹色の縞模様を指定するキーワード | |
AMOUNT | 表面の色に対する虹色の縞模様の効果の強さの指定、 通常0.25(25%)以下で指定するが、どんな値でも使用できる。※ 表面が明るすぎる場合はambientとdiffuseの値を小さくする。 | |
thickness FLOAT | 膜の厚さの指定。 値を大きくすると縞模様が細かくなる。 ※ このパラメータは物体のスケールに全く反応しない。 物体を拡大する場合は、それに合わせてこの値を調整すべきである。 |
|
turbulence VECTOR | 縞模様のパターンの乱れの指定。 値を大きくするとパターンの乱れが大きくなる。 [デフォルト:0 ](乱れは生じない)。 ※ ここではturbulenceだけしか指定できない。octaves, lambda, omegaの値は自動的に設定される。 |
●虹色の例(図12.3-6a) sphere{0,1 // 左の球 pigment{White*0.8} finish{ irid{0.2 thickness 1.0 turbulence 1.0} } translate x*-1.2 } sphere{0,1 // 右の球 pigment{White*0.8} finish{ irid{1.0 thickness 1.0 turbulence 1.0} } translate x*1.2 } |
●膜の厚さの例(図12.3-6b) sphere{0,1 // 左の球 pigment{White*0.8} finish{ irid{1.0 thickness 0.2 turbulence 1.0} } translate x*-1.2 } sphere{0,1 // 右の球 pigment{White*0.8} finish{ irid{1.0 thickness 1.0 turbulence 1.0} } translate x*1.2 } |