|
ISSUE:
メンタルレイを使用してオブジェクトの 輪郭をレンダリングするには(チュートリアル)
SOLUTION :
オブジェクトの輪郭をレンダリングするには、mentalrayカスタムシェーダーの
ContourShaderを使用します。
ContourShaderノードに関する詳細は、以下をご参照ください。
Mayaオンラインヘルプ>参考資料> mental ray shader reference(英語)
カスタムシェーダーをMayaにロードするには、下記の方法で行います。
・マイコンピューターを右クリック>プロパティを選択
・システムのプロパティウィンドウで詳細タブを選択
・環境変数ボタンをクリック
・システム環境変数で新規ボタンをクリックし、以下の
環境変数を追加
変数名 :MAYA_MRFM_SHOW_CUSTOM_SHADERS
変数値 :1
・OKをクリック
[contour Shaderを使用したアウトラインの作成]
・サンプルシーンのダウンロード(49KB)
1.HyperShadeを開き、baseオブジェクトのマテリアルを呼び出します。
baseオブジェクトには、rampShaderを割り当てています。
レンダリングすると以下のようなイメージになります。
2.baseShaderのSGノードのAttributeEditorを開きます。
SGノードのmental rayセクションを開きます。
一番下に存在するContour Shaderという部分に注目します。
3.Contour Shaderアトリビュートの横のマップボタンをクリックします。
Create Render Nodeウィンドウが開きます。
mental rayタブを開きます。
Miscellaneousセクションでcontour_Shader_Simpleノードをクリック
してコネクトします。
Material Contour Shaders (今割り当てたContour_shader_simple等の)は
輪郭の色と太さを決定するためのノードです。
4. 今割り当てたcontour_shader_simpleのAttribute Editorを開きます。
Widthを0.5に設定します。
Colorを分かりやすいように赤に設定します。
5. 次にRender Globalにてレンダリング設定を行います。
Render Globalを開き、レンダラーをmental rayに切り替えます。
mental rayタブを開きます。
QualityセクションでQualityをPreviewに設定します。
GeneralセクションでRay Tracingをオフに設定します。
※Ray Tracingをオフすると、QualityはCustomになります。
この部分は使用するシーンによって、設定を調整してください。
6.次にContourStoreShaderとContourContrastShaderを割り当てます。
ContourStoreShaderは、イメージサンプルの位置を格納する
情報の種類を決定します。
ContourContrastShaderは、サンプリングの間、StoreShaderによって格納
された情報 の比較することにより輪郭を作成する場所を決定します。
Render Globalのmental rayタブでcontoursセクションを開きます。
Contrast Shaderの横のマップボタンをクリックし、contour_contrast_function_levels
を割り当てます。
Store Shaderの横のマップボタンをクリックし、contour_store_functionを
を割り当てます。
Store Shaderを割り当てる時に、Connection Editorが開きます。
Connection EditorのLeft DisplayメニューとRight Displayメニューで、Show Hidden
をオンに設定します。
storeShaderのMessageアトリビュートをmiDefaultOptionsのContour Store
アトリビュートに接続します。
Render GlobalのContourでは以下のように表示されます。
7.レンダリングカメラにOutputShaderを割り当てます。
ContourOutputShaderはイメージが計算された後、背景との間に輪郭を作成します。
今回はPerspビューをレンダリングカメラとします。
PerspカメラのAttribute Editorを開きます。
mental rayセクションを開きます。
Output Shaderの横のマップボタンをクリックして、contour_compositeノードを割り当て
ます。
8.ノードの詳細を設定します。
HyperShadeのUtilityタブでcontour_Contrast_function_level1を選択し、
Attribute Editorを開きます。
以下のように設定します。
Min_level = 0
Max_level = 1
zdelta = 0.4
ndelta = 12
9.再度レンダリングを行います。
下記の画像のように輪郭が作成されている事がわかります。
カメラからの距離に応じて、輪郭の太さを変更するにはSGノードの接続するノードを
contour_Shader_depthfadeに設定してください。
・完成シーンのダウンロードはこちらから (54.1KB)
|