mental ray for Maya ノード(シェーダ)の詳細については、mental ray for Maya カスタム シェーダを参照してください。
さらに、mia_material シェーダと mia_material_x シェーダは、シェーダ自身をシェーダ ノードのシャドウ シェーダ(Shadow Shader)アトリビュートにパイプ化します。
mental ray for Maya のマテリアルにはすべて、ハードウェア テクスチャリング(Hardware Texturing)アトリビュートが含まれています。これによって、シーン ビューでそのマテリアルをプレビューすることができます。ハードウェア テクスチャリング(Hardware Texturing) アトリビュートの詳細については、ハードウェア テクスチャリング(Hardware Texturing)を参照してください。
各ノードのアトリビュートの詳細については、mental ray マニュアルを参照してください。
このシェーダを使用すると、自動車のペイントのような外観を完全に実現できます。このシェーダは、mi_metallic_paint、mib_glossy_reflection、mi_bump_flakes の各シェーダの機能を 1 つに結合したシェーダです。
下の図は、自動車のペイント フェノメナ シェーダでシミュレートされる性質を示しています。
mi_car paint phenomenon シェーダには次も含まれます。
mi_car_paint_phen シェーダは、簡単に mi_car_paint_phen_x や mi_car_paint_phen_x_passes シェーダに変換できます。mi_car_paint_phen シェーダのアトリビュート エディタ(Attribute Editor)で Upgrade Shader (シェーダのアップグレード)セクションを展開し、シェーダを mi_car_paint_phen_x へアップグレード(Upgrade shader to mi_car_paint_phen_x)またはシェーダを mi_car_paint_phen_x_passes へアップグレード(Upgrade shader to mi_car_paint_phen_x_passes)ボタンをクリックします。詳細については、mi_car_paint_phen_x シェーダと、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
このシェーダは、mental ray struct return 形式で複数出力を返すという点を除けば、mi_car_paint_phen シェーダと同じです。
mi_car_paint_phen_x_passes シェーダは、マルチ レンダー パス機能で使用することもできます。詳細については、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
このシェーダを使用すると、自動車のペイントのような、非常に光沢のあるスムーズなペイント仕上げをシミュレートできます。このシェーダは、自動車のペイントの薄い顔料層、および顔料層内で浮遊する非常に小さい金属粒子(薄片)をシミュレートします。光沢のあるクリア コートの反射、および薄片が光り輝く効果を実現するには、このシェーダを mib_glossy_reflection シェーダおよび mib_bump_flakes シェーダと結合します(テクスチャ(Textures)を参照)。
mi_metallic_paint シェーダは、容易にmi_metallic_paint_x または mi_metallic_paint_x_passes シェーダに変換することができます。mi_metallic_paint シェーダのアトリビュート エディタ(Attribute Editor)で、シェーダのアップグレード(Upgrade Shader)セクションを展開し、シェーダを mi_metallic_paint_x にアップグレード(Upgrade shader to mi_metallic_paint_x)またはシェーダを mi_metallic_paint_x_passes へアップグレード(Upgrade shader to mi_metallic_paint_x_passes)のボタンをクリックします。詳細については、mi_metallic_paint_x と、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
このシェーダは、mental ray struct return 形式で複数出力を返却するという点を除けば、mi_metallic_paint シェーダと同じです。
mi_metallic_paint_x_passes シェーダは、マルチ レンダー パス機能で使用することもできます。詳細については、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
建築デザインや製品デザインのレンダリングで使用するマテリアルをシミュレートするには、このシェーダを使用します。このシェーダを使用すると、金属、木、ガラスなどの表面が硬いマテリアルを物理的に正確に表現することができます。このシェーダは、光沢のある高速な反射と屈折および高品質なガラス用に最適に調整されています。
マテリアルにエネルギーは作成されませんが、このシェーダは直接ライティングを基準として従来のサーフェス シェーダと同様に機能し、既定では物理的に正確な一定の形状因子を適用しません。
mia_material シェーダは、mia_material_x または mia_material_x_passes シェーダに容易に変換することができます。mia_material シェーダのアトリビュート エディタ(Attribute Editor)で、シェーダのアップグレード(Upgrade Shader)セクションを展開し、シェーダを mia_material_x へアップグレード(Upgrade shader to mia_material_x)またはシェーダを mia_material_x_passes へアップグレード(Upgrade shader to mia_material_x_passes)ボタンをクリックします。詳細については、mia_material_x と、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
Maya 2008 以降、建築デザインや製品デザインのレンダリングで使用するマテリアルをシミュレートするために、このシェーダも使用可能です。
mia_material_x シェーダは、mia_material を改良したシェーダです。mia_material の機能に加えて、このシェーダには以下の機能が追加されています。
mia_material_x_passes シェーダは、マルチ レンダー パス機能でも使用することができます。詳細については、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
これらは、高速の非物理的なサブサーフェス スキャタリング シェーダです。
物理的に正しいサブサーフェス スキャタリング シェーダは、通常のボリューム計算によって物理的に正確な結果を生成します。このシェーダは、フォトン トレーシングが必要なシーンに適しています。非物理的なサブサーフェス スキャタリング シェーダは、物理的に正確な結果を生成しませんが、一貫性があり、視覚的に好ましい結果をすばやく生成します。このシェーダは人間の皮膚を効率的にレンダーします。特に、表面付近の浅いスキャタリングに適しています。
misss_fast_shader、misss_fast_simple_maya、misss_fast_skin_maya のいずれかのノードをハイパーシェード(Hypershade)から作成する場合、Maya は自動的にライト マップのネットワークを作成します。ネットワークを完了するには、ライト マップ テクスチャ ノードのイメージ ファイルを選択します。
このシェーダは、mental ray struct return 形式で複数出力を返却するという点を除けば、misss_fast_shader と同じです。
misss_fast_shader_x_passes シェーダは、マルチ レンダー パス機能で使用することもできます。詳細については、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
misss_fast_shader シェーダは、misss_fast_shader_x または misss_fast_shader_x_passes シェーダに容易に変換することができます。misss_fast_shader シェーダのアトリビュート エディタ(Attribute Editor)で、シェーダのアップグレード(Upgrade Shader)セクションを展開し、シェーダを misss_fast_shader_x へアップグレード(Upgrade shader to misss_fast_shader_x)またはシェーダを misss_fast_shader_x_passes へアップグレード(Upgrade shader to misss_fast_shader_x_passes)のボタンをクリックします。詳細については、misss_fast_shader_x と、mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes シェーダを参照してください。
これらのシェーダは、マルチ レンダー パス機能と併せて使用します。これらのシェーダには、マルチ レンダー パスに書き込み可能な複数の出力アトリビュートがあります。たとえば、mia_material_x_passes シェーダの拡散アトリビュートを、レンダー設定ウィンドウ(Render Settings window):パス(Passes)タブを使用して作成した拡散(Diffuse)レンダー パスに書き込むことができます。
mi_metallic_paint_x、mia_material_x、misss_fast_shader_x、mi_car_paint_phen_x シェーダには、同じ入出力アトリビュートを持つ各パス機能と同じインタフェースがあります。
各シェーダがすべてのパスをサポートしているわけではありません。各シェーダがサポートするパスは、そのインタフェースによって以下のリストのように異なります。
また、マルチ レンダー パスと一緒に mi_metallic_paint_x シェーダ、mia_material_x シェーダ、misss_fast_shader_x シェーダを使用することもできます。ただし、writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダをシェーディング ネットワークに追加して、フレームバッファにデータを書き込む必要があります。詳細については、writeToColorBuffer、writeToDepthBuffer、writeToVectorBuffer、writeToLabelBuffer を参照してください。
シャドウ シェーダはオブジェクトから投影されたシャドウの外観を定義します。Maya の光源に対するシャドウ カラー(Shadow Color)アトリビュートと似ています。
シャドウ シェーダはシェーディング グループ(Shading Group)の適切な入力にだけアタッチできます。シャドウ シェーダは、生成カラーが入力カラーでもあるという点で特殊です。つまり、出力からパラメータへ方向でしかアタッチできないために、出力を別のシェーダ パラメータにアタッチできません。
シャドウの光線が遮へいオブジェクトに当たるとシャドウ シェーダが参照されます。遮へいオブジェクトのシャドウ シェーダが伝えられる光の量を制御します。
フェノメナ(Phenomenon)では、シャドウ シェーダはフェノメナ内のマテリアルにしかアタッチできません。また、フェノメナがマテリアルのシャドウ シェーダにアタッチされている場合は、フェノメナのルートにしかアタッチできません。
ボリューム シェーダをオブジェクトのシェーディング グループ(Shading Group)に接続すると、特定のオブジェクトに割り当てることができます。
この操作は、オブジェクト内部のフォグや他のボリューム エフェクトの外観を制御します。また、mental ray for Maya では、グローバル ボリューム シェーダを指定して、シーンのオブジェクト外部のフォグの外観も制御できます(Maya の環境フォグ(Environment Fog)に相当)。mental ray for Maya では、カメラのアトリビュート シェーダ(Attribute Shader)の mental ray セクションにあるボリューム シェーダ(Volume Shader)アトリビュートにグローバル ボリューム シェーダを接続すると、そのグローバル ボリューム シェーダが割り当てられます。
ray marcher は、所定の光線のポイントからの光線を投影して、光源からボリュームにライトを通過させてそのボリュームによる影響を求めます。
mi_sample_light のようなシェーダのインタフェース機能を使用する代わりに、タイプ シェーダの入力パラメータとして与えられたシェーダを呼び出します。Ray marching ではまず、光線の始点と終点の間の正則点を呼び出し、次いで点と点の間を適宜さらに分割し、2 つの隣り合ったサンプルが与えるカラーが所定のコントラストの閾値より小さければ、これをその状況での分割限界に近づくまで続けます。最終的にウェイト付けされた和が返されます。
これらのシェーダ(Maya には付属しません)を使用して、レンダリングを実行する前にサーフェスにより多くのディテールを付加できます。
フォトンのシェーダは光の反射、トランスミッション(拡散)、および吸収を制御してコースティクスとグローバル イルミネーションを作ります。
上級ユーザであれば、これらのマテリアルで物理的に正しいライティングをシミュレートできます。
dgs_material_photon は dgs_material に相当するフォトン シェーダです。両者は同じパラメータを持ちますが、前者はフォトンをオーバーライドし、グローバル イルミネーションでオブジェクトを照らします。
dielectric_material_photon は dielectric_material に相当するフォトン シェーダです。両者は同じパラメータを持ちますが、前者はフォトンをオーバーライドし、グローバル イルミネーションでオブジェクトを照らします。
イメージ ファイルをマテリアルに適用し、プロシージャ テクスチャを生成し、テクスチャの位置を決定するにはテクスチャ シェーダを使用します。
このセクションのテクスチャはすべてファイル テクスチャ(File Texture)に基づいています。
mental ray for Maya の頂点カラーをレンダーするために、シェーディング ネットワークで使用する場合。シェーディング ネットワークの代わりにメッシュ頂点に関するシェーディングおよびライティングの情報を格納することができ、シーンが簡略化されてレンダーの効率が向上します。
詳細については、mental ray for Maya で頂点カラーをレンダーするを参照してください。
このシェーダを使用すると、顔料の層の中に浮遊する非常に小さい金属粒子の効果を作成できます。これは、薄片がライトを反射して太陽光の下で光り輝くようにするため、自動車のペイントに最もよく使用されます。mib_glossy_reflection と mib_bump_flakes シェーダを使用し、mib_metallic_paint シェーダを使用します(マテリアル(Materials)を参照)。
このシェーダを使用すると、シーンに光源のシェイプを視覚的に表現できます。たとえば、従来の CG ライトを使用してシーンを照らしながら、蛍光灯の実際の管や電球の実際の球などを表現できます。
このシェーダは既存のライトのサーフェスを作成します。このサーフェスは明るく表示されますが、シーンに追加のライトを放出しません。
このシェーダを使用すると、オブジェクトのエッジがジオメトリ的にシャープに見える場合に CG がハードな外観になるのを回避できます。実世界では、エッジは何らかの形で少し丸くなっていたり角がフィレットされていたりするのが普通です。このシェーダは、法線ベクトルを乱れさせることで、レンダリング時にエッジが丸くなっているという錯覚を作成します。このシェーダは、ジオメトリを置き換えたり変更したりするものではなく、(バンプ マッピングのような)シェーディング エフェクトにすぎません。一般的にバンプ マップを使用するところ(たとえば、シェーダのバンプ マッピング(Bump Mapping)フィールド)では、このシェーダを適用してください。このシェーダは、大きくカーブした高度なジオメトリよりも、直線のエッジや単純なジオメトリに使用すると最もうまくいきます。
mia_roundcorners シェーダは、バンプ マッピングを含む Maya シェーダと一緒に使用することができます。さらに、他のバンプ テクスチャを mia_roundcorners シェーダのバンプ ベクター(Bump_Vector)アトリビュートにチェーンすると、シェーダのバンプ エフェクトをレイヤ化できます。
このシェーダは、アンビエント ライトのシーンへの影響を計算するために使用されます。このシェーダを使用すると、従来のグローバル イルミネーションより効率的にさらにリアルな感じを付加することができます。
output_mode オプションは、mib_amb_occlusion ノードのカラーの戻り値を定義します。
このシェーダを使用すると、グローバル イルミネーションまたはファイナル ギャザリングの外観を環境によって照らすときに、レンダリング スピードが向上します。ベント法線は、サーフェス ポイントからオクルージョンされない平均方向ベクトルです。完全にオクルージョンされないサーフェスの場合、ベント法線は法線ベクトルと同じです。オクルージョンされるサーフェスの場合、ベント法線は、オクルージョンするジオメトリが最も少ない方向を示します。
複数の点でテクスチャを評価することで、基底ベクトルを乗算し、オリジナルの法線と合成し、正規化して、書き戻した U グラディエントと V グラディエントを計算し、mib_bump_basis でファイル テクスチャ(File Texture)を法線ベクトルに適用します。
このシェーダを使用すると、ファイル テクスチャによって駆動されるバンプ エフェクトを作成できます。mib_bump_map シェーダとは異なり、スケール(Scale)値とカラー(Color)値を設定できます。このシェーダは、次のようにシェーディング ネットワークを作成して、mental ray カスタム シェーダを使用したバンプ エフェクトを作成するときに便利です。
マテリアル シェーダは、mib_bump_map2.color に接続されます。
このシェーダは mib_amb_occlusion の代替バージョンで、類似した機能を備えていますが、mental ray に組み込まれているアンビエント オクルージョン機能を完全に利用するものです。
基本の立方体を、それぞれが個別の RGBA カラーを持つ 8 個のサブ立方体に分割します。ストライプや、2 次元または 3 次元のチェッカボードを作成するのに使用します。
Lookup フィルタを使ったテクスチャ イメージのルックアップ。テクスチャを持つ特定のサーフェス上でフリッカ(モアレ模様)またはエイリアシングを抑えるのに使用します。
このシェーダを使用すると、テクスチャ イメージを検索できます。mib_texture_lookup シェーダとは異なり、テクスチャ エフェクトの強さを制御する Factor 値を設定できます。
テクスチャの頂点、スケール、回転、移動、切り取りを受け入れ、テクスチャを結合します。操作はトランスフォームから始まり、次いで繰り返し、代替、トーラス(ラッピング)そして最期に最小/最大切り取りをおこないます。
角度を 1 つ用いてサーフェスの方向をサーフェスの法線に沿って回転させます。直行ベクトルのペアが直行する法線とともに返され、回転した方向を定義します。異方性の反射を生成するのに特に便利です。
基本の立方体の中に動きの激しいスカラー型パターンを生成します。1 つ、2 つ、または 3 つのテクスチャ ベクトル要素すべてを極座標上で計算して、球面マッピングをおこないます。
シーンから離れる光線をキャッチするシェーダで、環境(Environment)テクスチャに類似しています。
これらのシェーダは有限または無限の距離にマップされたカラー テクスチャからカラーを返します。バックグラウンドや前景プレートに使用します。環境(Environments)は環境シェーダに使用してください。オーバーレイはレンズ シェーダに使用してください。そしてテクスチャは、プレーンやシーン内の他のオブジェクト上のテクスチャ シェーダやマテリアル シェーダに使用します。
グローバルにも、特定のオブジェクトのみに対しても使用できます。
CIE スカイ モデルは、ライティング分析に利用される標準モデルです。色のない(グレースケールの)モデルであるため、制作の精度でイメージを作成する場合には適しませんが、利点として以下のように標準化された(よく知られている)輝度分布があります。
このシェーダには、以下のように mia_physicalsky シェーダと共通のパラメータが多数あります: on、rgb_unit_conversion、sun_direction and y_is_up の各パラメータ。
以下のパラメータは mia_ciesky シェーダ固有です。
ライト シェーダは、光源の強度と方向の特性を考慮しながら、光源が特定のサーフェス ポイントに影響を与えるライトの量を指定します。
ライト シェーダがネイティブの Maya 光源に接続されている場合、Maya 光源の設定(カラー、強さ、シャドウなど)は、位置と方向以外はすべて無視されます(ライト シェーダはネイティブの Maya 光源の設定を利用します)。
このシェーダでは、すべての推量をフォトン エネルギーとライトの強度のバランスから取得します。そのために、選択した強度分布の数値積分法を実行して適切なフォトン エネルギーを計算するとともに、フォトン密度を分布に適応させる処理が行われます。これらはすべて自動的に行われます。
このシェーダを使用するには、ライトとフォトン シェーダの両方と同じシェーダのインスタンスを光源に使用するだけです。このライトには原点が必要です(つまり、無限光源では機能しません)。このライトはフォトンを放出するように設定し、ゼロでないエネルギー値を指定する必要があります(実際の値はシェーダでオーバーライドされますが、ゼロでないエネルギー値は必須です。ゼロにすると、mental ray for Maya はライトのフォトンをまったく放出しなくなります)。指数は常時 2 とします。ライトがスポット ライトの場合は、スプレッド値を使用します。
このシェーダを使用すると、物理的に正確な日光のレンダリングを生成できます。このシェーダは mia_physicalsky シェーダと一緒に使用します。詳細については、太陽と空のシミュレートを参照してください。
このシェーダの詳細については、『mental ray 建築シェーダ ライブラリ』マニュアルを参照してください。
ライティング/シェーディング > バッチ ベイク(mental ray) (Lighting/Shading > Batch Bake (mental ray))オプションを使用して mia_physicalsun と mia_physicalsky のエフェクトをテクスチャにベイク処理する場合、ベイク処理結果はレンダーとは異なります。この違いは、mia_physicalsun と mia_physicalsky は HDR 値を生成するのに対して、Maya が作成するレンダーはトーン マッピングを適用して 8 ビットのカラー データを作成するために生じます。すなわち、最終レンダーのカラーは未処理のカラー データとは大きく異なります。ただし、ベイク処理ではトーン マッピングは適用されません。浮動小数点ファイル フォーマットにベイク処理すると、結果は未処理データになります。浮動小数点をサポートしない対象にベイク処理する場合、カラー値は 1.0 にクランプされます。いずれの場合でも、ベイク処理したイメージのカラーとレンダーのカラーの表示は異なります。
このシェーダを使用すると、明るい屋外から暗い屋内にライトを注ぐ玄関を作成できます。mental ray for Maya レンダリングでは、直接ライティングがないシーンとすべてのライトが間接ライトであるシーンでファイナル ギャザーやフォトンを使用するときに、問題が生じる場合があります。補間によるオーバースムージングを他のライトによって取り除くことができないため、非常に鮮明に表示されてしまいます。
これらのシェーダを使用して、サーフェス シェーディング エフェクトをディスク上のイメージ テクスチャ ファイルにベイクします。
ライトマップ イルミネーションをサンプリングするためのシンプルなカラー シェーダで、サーフェスに流入する光の密度をサンプリングします。直接的なイルミネーションと(オプション)間接的なイルミネーションを集めます。マテリアルにではなく、mib_lightmap_write ノードの入力パラメータに割り当ててください。
これらのシェーダは、光線がカメラから離れるとき曲がる度合いを定義します。また、被写界深度などの各種レンズ エフェクトをシミュレートするのに使用できます。
現在では、UI はカメラに対する単一レンズ シェーダの接続のみをサポートします。通常、mental ray レンダーコアは、連続して実行される一連のレンズ シェーダをサポートします。
このシェーダは、カメラでよく使用されるコントロールをトーン マッピングに提供します。mia_exposure_simple シェーダは、Knee Compression を追加しながら、光度計のリアルな輝度をイメージに変換します。
mia_exposure_simple シェーダと mia_exposure_photographic シェーダは両方ともレンズ シェーダまたは出力シェーダとして使用できます。
このシェーダを使用すると、イメージを高い範囲から標準の範囲に変換して表示デバイスの制限に適応させることができます。このシェーダは、「knee」を使用して補間カーブを追加し、より処理しやすい範囲に白飛びを「抑制」します。このシェーダは、レンズ シェーダまたは出力シェーダとして適用します。レンズ シェーダはレンダリングの最中に「その場で」イメージをトーン マッピングするもので、これが推奨されます。出力シェーダはポスト プロセスとしてイメージをトーン マッピングします。
このシェーダを使用すると、物理的に正確な日光のレンダリングを生成できます。このシェーダは mia_physicalsun シェーダと一緒に使用します。詳細については、太陽と空のシミュレートを参照してください。
ライティング/シェーディング > バッチ ベイク(mental ray) (Lighting/Shading > Batch Bake (mental ray))オプションを使用して mia_physicalsun と mia_physicalsky のエフェクトをテクスチャにベイク処理する場合、ベイク処理結果はレンダーとは異なります。この違いは、mia_physicalsun と mia_physicalsky は HDR 値を生成するのに対して、Maya が作成するレンダーはトーン マッピングを適用して 8 ビットのカラー データを作成するために生じます。すなわち、最終レンダーのカラーは未処理のカラー データとは大きく異なります。ただし、ベイク処理ではトーン マッピングは適用されません。浮動小数点ファイル フォーマットにベイク処理すると、結果は未処理データになります。浮動小数点をサポートしない対象にベイク処理する場合、カラー値は 1.0 にクランプされます。いずれの場合でも、ベイク処理したイメージのカラーとレンダーのカラーの表示は異なります。
このレンズ シェーダは floor の値と ceiling の値との間にあるカラー成分を単位間隔にマッピングします。これらの制限を下回る値と上回る値は、それぞれ 0 と 1 にクランプされます。
これを用いると、イメージプレーンの様にバックグラウンド プレートを挿入できます。
バックグラウンド プレートをイメージの解像度に合わせてシーンのバックグラウンドに配置します。使用しているシェーダに応じて、以下を実行することができます。
これらのシェーダを使用して、レンダー時に新規のジオメトリをシーンに取り込めます。
ジオメトリ シェーダは、ジオメトリの位置と方向を定義するのに使用されるトランスフォーム ノードに接続されます。
このシェーダは、ポリゴン メッシュ、サブディビジョン メッシュ、NURBS サーフェスなどのスタティックまたはアニメートされたジオメトリを Alembic ファイルから読み取るために提供され、レンダリング中にのみ必要に応じてロードするためのサポートが含まれます。
このシェーダは入力オブジェクト(サーフェスのフリーフォーム タイプ)のコピーを返します。全部のフェースを輪にし、最終のテクスチャ サーフェスとして各フェースに 1 度のベジェ テクスチャを追加します。三角形の頂点のテクスチャ座標が三角形の頂点位置の uv 座標であるパラメータとテクスチャ サーフェスの制御点。
このサンプル ジオメトリ シェーダは mib_geo_add_uv_texsurf とともに使用します。
頂点が Z=0 基線が Z= -1 である Z 軸を中心としたポリゴン円錐を生成します。円錐の底部の半径および高さは 1 です。円錐の底部の円は u_subdiv サブディビジョンに、円錐の側部は Z 軸方向の v_subdiv サブディビジョンにさらに分割されます。
このサンプル ジオメトリ シェーダは mib_geo_add_uv_texsurf とともに使用します。
底部が Z=-1 上辺が Z= 0 である Z 軸を中心としたポリゴン円柱を生成します。円柱の底部の半径および高さは 1 です。円柱の上下の円は u_subdiv サブディビジョンに、側部は Z 軸方向の v_subdiv サブディビジョンにさらに分割されます。
これは、あるジオメトリをトランスレート、スケール、および回転させるジオメトリ シェーダのインスタンスを構成し、ソース ジオメトリのインスタンスのみを唯一のメンバーとして含むグループを返します。ベース シェーダがリストの一部にあり結果がゼロでない場合には、新しいグループは作成されません。代わりに生成されるグループにインスタンスが追加されます。
mib_geo_instance と同じですが、新しい配列が 2 つ以上のメンバーを持つ場合には、新しいインスタンス内のマテリアル リストに変換されるマテリアル配列を受け入れます。インスタンス化したオブジェクトがタグ付けされている(つまり、オブジェクトのポリゴンやサーフェスにマテリアル配列の索引として整数が付いている)場合、マテリアル リストは便利です。
輪郭格納シェーダはイメージ サンプルに保存する情報の種類を決定します。この情報によって、輪郭コントラストシェーダは 2 つのサンプルがその間に輪郭線を置くほど異なっているかどうかを判断します。
これらのシェーダは、アニメのようなレンダリングを生成するのに使用できます。輪郭コントラスト シェーダが輪郭を描く位置を決定すると、輪郭シェーダが輪郭のカラーと幅(さらにオプションで動き、法線、マテリアル タグ、ラベル)を決定します。
depthfade、layerthinner と widthfromlight の輪郭シェーダを組み合わせたものです。
輪郭の幅はバックグラウンドにフェードインし( near_width から far_width へ)、カラーは near_color から far_color にフェード インします。輪郭の幅とカラーは ramp 関数によって距離 near_z と far_z のあいだで変化します。光線が通過したそれぞれのレイヤについて、要素が幅に乗ぜられます。要素が指定されていない場合、幅はレイヤから影響されません。光源が指定されている場合、幅も光源の方向に関するサーフェスの法線に影響されます。
曲率(サーフェス方向の変化)に影響される幅を持つ輪郭を描くシェーダです。
2 つの法線がほぼ逆方向にある場合、そのあいだの max_width に近い幅を持つ輪郭が得られます。法線のあいだの角度が減少すると、輪郭の幅は min_width に近づくように狭まります。(幅が完全に min_width になることはありません。これは、contour contrast 関数が ndelta の角度よりサーフェスの曲率が小さくなる輪郭は生成せず、輪郭をすべてのオブジェクトに収めずに ndelta をゼロに設定することはできないためです)。
深度の差が大きくなるオブジェクトのエッジでは、最大の輪郭幅が用いられます。論理的には、幅は角度 0 で最小に、角度 180 で最大になります。
このシェーダはフレーム番号にリニアに依存するカラーと幅を持つ輪郭を描きます。2 つのフレーム番号、カラー、幅が指定されます。フレーム番号が 1 つ目のフレーム番号より小さい場合、1 つ目のカラーと幅が使用されます。フレーム番号が 2 つ目のフレーム番号より大きい場合、2 つ目のカラーと幅が使用されます。フレーム番号が間にある場合、2 つのカラーと幅のリニア補間が用いられます。
この輪郭シェーダを使用すると、その上に何層のマテリアルがあるのかによって輪郭の幅が変化します。マテリアルが上にある場合、その輪郭はパラメータで指定した幅を持ちます。上にマテリアルが乗るごとに、パラメータで制御可能な係数で幅は減少していきます。
このシェーダは、オブジェクトのシルエットに輪郭を与えます。これは contour contrast 関数でオブジェクト内部にも輪郭が存在することを定義した場合であっても機能します。
contour_shader_widthfromcolor 輪郭シェーダを使用すると、マテリアルの輪郭は、マテリアルのカラーに依存する厚みを持ちます。厚みは赤、緑、および青のカラー バンドで決まります(1 を超えた場合、最大値は 1 となります)。カラーの明度が高いと輪郭は目に見えず、カラーが暗くなると輪郭は広くなります。明るい色では輪郭の幅が最小に、暗い色で最大になります。
サーフェスの法線と光源方向が作る角度に依存した幅を持つ輪郭が描かれます。輪郭の厚みは、サーフェスが直接光源方向を向いている場合の min_width から、光源の反対方向を向いている場合の max_width にまで段階的に増加します。
このシェーダは contour_shader__widthfromlight を変化させたものです。暗示的に方向を提示するライトではなく、方向そのものを明示的に受け取ります。
輪郭出力シェーダは標準イメージの計算が終わると呼び出されます。
カラー フレーム バッファ内の所定のバックグラウンド カラーを持つ輪郭イメージを生成し、レンダーされたカラー イメージを破棄します。レンダー設定(Render Settings):mental ray タブの機能(Features)タブの輪郭(Contours)セクションにあるソースの非表示(Hide Source)も参照してください。
所定のカラーの透明度レイを投影し、結果を入力カラーとマージします。イルミネーション(おそらくは別のベースシェーダによる屈折と透明度も利用して)を作り出すベース シェーダに反射エフェクトを追加するのに使用します。反射光が投影されない場合(トレース深度が深すぎる、あるいはシェーダによる反射光が機能していない、またはパラメータがトレースしないに設定されている)、可能であれば環境をサンプリングしてください。
ある屈折指数を持つ所定のカラーの屈折光線を投影し、結果を入力カラーとマージします。屈折指数は mib_refraction_index など、適切な状態変数に保存される別のベース シェーダを使っても計算可能です。イルミネーションを作り出すベース シェーダに屈折効果を追加するのに使用します。
アルファ コンポーネントだけを取り出すか、RGB を平均するか、緑を強調して赤を差し引いて表現する生理学的なカラー モデルによって RGB をウェイト付けするかして、カラーを RGBA グレースケールに変換します。その結果得られるグレースケールの値はスカラー量としても使用できます。返される R、G、B、および A の要素は同一の値を持ちます。
スカラー量またはカラーを与えると、マルチカラー マップのルックアップと補間を実行します。マップは最大 8 つのカラーの集合です(配列ではない)。実際のカラー数はパラメータで指定します。
このシェーダは、要素ごとにわずかに異なるだけのパラメータを指定して、同一マテリアルまたはシェーディング グラフを使用する大量のシーン要素に関連する、共通の問題に対してのソリューションを提供します。単一のパラメータを調整するためだけにシーン要素ごとにマテリアル全体のコピーを作成するのではなく、現在のシーン要素で定義されているアトリビュートによって動的に導き出される単一のマテリアルが、その入力パラメータを持つすべての要素間でシェーディングされます。
マルチ レンダー パスを持つこれらのシェーダを使用します。パスの詳細については、マルチレンダー パスを参照してください。
writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダをシェーディング ネットワークに追加して、フレーム バッファにデータを書き込みます。入出力フレーム バッファのタイプに応じて適切なシェーダを選択します。たとえば、writeToColorBuffer は入力としてカラーを受け取り、タイプ カスタム カラーのフレーム バッファに書き込みます。
これらのシェーダの詳細については、mental ray レンダー パスのユーティリティ シェーダを参照してください。
このシェーダはミラー、光沢のあるペイントやプラスチック、磨いた金属など光沢のある異方性マテリアル、紙などの拡散マテリアル、曇りガラスなどの半透明マテリアル、そしてこれらの任意の組み合わせをシミュレーションできます。
「mental ray for Maya シェーダ サンプル ワークフロー」を参照してください。
このシェーダは物理に基づいて作成されたマテリアル シェーダで、ガラス、水、その他の液体など誘電的なマテリアルのシミュレーションに用いられます。
シェーダはフレネルの式を用いて誘電性インタフェースを表現します。つまり、大部分のライトがわずかな入射角に対してサーフェスで反射する一方で、ほとんどのライトは直行する入射方向のサーフェスを通過して、実際の誘電性マテリアルの動きをシミュレートします。
さらにこのシェーダは、ベールの法則を使って媒質を通過する光の吸収を表現します。つまり、誘電性マテリアルからなる 2 つのサーフェス間を伝達する時、光は指数的な減衰の対象となります。
サポートされる誘電性インタフェースのタイプは 2 つです。dielectric-air は誘電性マテリアルと空気にはさまれたインタフェース(たとえば、ガラス‐空気)をシミュレートし、dielectric-dielectric は 2 種の誘電性マテリアルにはさまれたインタフェース(たとえば、ガラス‐水)をシミュレートします。物理的に正しいシミュレーションを得るには、サーフェスの正しいインタフェースを使用することが重要です。
このシェーダを使用すると、ベース マテリアルのサーフェス上で光沢があり、ブラーがかかった反射を作成できます。任意のタイプのマテリアル シェーダを使用できます。このシェーダは、マルチサンプリング輝度、境界のある反射、およびフレネル効果を提供します。
このシェーダを使用すると、ベース マテリアルのサーフェス上で光沢があり、ブラーがかかった屈折を作成できます。このシェーダは 3 つのレイヤから構成されます。これは、トップ マテリアル、バック マテリアル、ディープ マテリアルで、屋外、屋内、サーフェス内部からの屈折の特性を定義します。
Cook-Torrance イルミネーション( mib_illum_cooktorr を参照)に似ていますが角度によるカラー シフトを行わない、Blinn イルミネーションを実行します。必要な屈折指数は 1 つだけです。
Cook-Torrance イルミネーションを実行します。アンビエント、拡散、スペキュラ RGB カラー、粗さ、3 つの波長の屈折指数、そしてライト リストが必要です。シルクのようなハイライトが得られます。
Ward イルミネーションを実行します。アンビエント、拡散、光沢のある RGB カラー、2 つの光沢パラメータ、2 つの方向ベクトル(テクスチャ由来)を必要とします。異方性の効果を得るのに便利です。mib_illum_ward_deriv も参照してください。