実際の用途には、付属のフェノメナで十分なことが多いので、付属のフェノメナを最初に説明します。経験豊富なユーザは、これらをテンプレートしてオリジナルのフェノメナを作成したり、高度なトピックで説明するコンポーネント シェーダを使用したりすることができます。これらのフェノメナは入力パラメータを論理グループにグループ化するための構造を使用します。この論理グループは、mental ray の各種 OEM 統合のユーザインタフェースによって、自動的にグループ化されます。
このフェノメナは(明示的に指定しない限り)自動的に必要なライトマップを生成し、ライトマップデータを入力し、サブサーフェス スキャタリングを使用した一般的な半透明のオブジェクトとしてオブジェクトをシェーディングします。散乱は 2 つに分けて行われ、1 つはオブジェクトの前面、もう 1 つはオブジェクトの後面について行います。
シェーダはいくつかのライトの成分を重ね合わせること(misss_fast_shader 参照)によって動作し、最終結果を得ていると言うこともできます。以下の法則を念頭においておきましょう。
material "misss_fast_simple_phen" (
color texture "lightmap",
color texture "depthmap",
string "lightmap_group",
scalar "lightmap_size",
integer "samples",
shader "bump",
struct "d" {
color "ambient",
color "overall_color",
color "diffuse_color",
scalar "diffuse_weight",
color "front_sss_color",
scalar "front_sss_weight",
scalar "front_sss_radius",
color "back_sss_color",
scalar "back_sss_weight",
scalar "back_sss_radius",
scalar "back_sss_depth"
},
struct "s" {
color "specular",
scalar "exponent"
},
struct "a" {
scalar "lightmap_gamma",
boolean "indirect",
scalar "scale_conversion",
scalar "scatter_bias",
scalar "falloff",
boolean "screen_composit"
},
integer "mode",
array light "lights")
スキン シェーディング用のより高度なフェノメナには、3 レイヤ散乱およびスキン固有の鏡面反射性機能があります。多くのパラメータは misss_fast_simple_phen と共有です。
レイヤにおけるスキンのシミュレートは、最上位の反射光沢レイヤ(鏡面反射性およびサーフェスの非散乱 Lambert 拡散反射に使用)、二重レイヤのサブサーフェス スキャタリング(表皮とその下のレイヤ(ここでは集合的に「皮下」と呼びます)における散乱をシミュレート)、後面からの「貫通」散乱によって実現されます。
material "misss_fast_skin_phen" (
color texture "lightmap",
color texture "depthmap",
string "lightmap_group",
scalar "lightmap_size",
integer "samples",
shader "bump",
struct "d" {
color "ambient",
color "overall_color",
color "diffuse_color",
scalar "diffuse_weight",
color "front_sss_color",
scalar "front_sss_weight",
scalar "front_sss_radius",
color "mid_sss_color",
scalar "mid_sss_weight",
scalar "mid_sss_radius",
color "back_sss_color",
scalar "back_sss_weight",
scalar "back_sss_radius",
scalar "back_sss_depth"
},
struct "s" {
scalar "overall_weight",
scalar "edge_factor",
color "primary_spec_color",
scalar "primary_weight",
scalar "primary_edge_weight",
scalar "primary_shinyness",
color "secondary_spec_color",
scalar "secondary_weight",
scalar "secondary_edge_weight",
scalar "secondary_shinyness",
scalar "reflect_weight",
scalar "reflect_edge_weight",
scalar "reflect_shinyness",
boolean "reflect_environment_only",
shader "environment"
},
struct "a" {
scalar "lightmap_gamma",
boolean "indirect",
scalar "scale_conversion",
scalar "scatter_bias",
scalar "falloff",
boolean "screen_composit"
},
integer "mode",
array light "lights")
lightmap、depthmap、lightmap_group、lightmap_size、samples、bump、ambient、lightmap_gamma、indirect、scale_conversion、scatter_bias、falloff、screen_composit の各パラメータは、すべて misss_fast_simple_phen における各パラメータと同じように動作します。
このフェノメナは misss_fast_skin_phen とまったく同じものですが、ディスプレイスメント マッピングをサポートしています。個別のフェノメナとして提供されている理由は、ディスプレイスメントを使用したフェノメナは常にオブジェクトをディスプレイスしようと試みるためです。
material "misss_fast_skin_phen_d" (
color texture "lightmap",
color texture "depthmap",
string "lightmap_group",
scalar "lightmap_size",
integer "samples",
shader "displace",
shader "bump",
struct "d" {
...
}
integer "mode",
array light "lights")
その他のパラメータはすべて misss_fast_skin_phen と同じです。
Copyright © 1986-2009 by mental images GmbH