Maya


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)