Houdini 20.0 レンダリング

RenderManを使ったレンダリング

On this page

RenderMan for Houdini

RenderManには“RenderMan for Houdini”という名前の独自のブリッジプロダクトが用意されています。 詳細は、このリンクを参照してください: “RenderMan for Houdini”のセットアップ

レガシーセットアップ

以前のバージョンのHoudiniでは、現在では廃止されたRenderManノードとSOHOスクリプトが同梱されていました。 “RenderMan for Houdini”ブリッジプロダクトのリリースに伴い、これらのノードは廃止され、(OPcustomizeスクリプトに含まれている)$HFS/houdini/OPlegacyRManで非表示にされました。以下の情報はレガシーセットアップのためだけに残しています。

Houdiniでは、RenderManを使ったレンダリングはRenderManレンダー出力ドライバノードによって行ないます。 このノードは、RIBストリームを生成し、そのストリームを Command パラメータで指定したprman実行可能ファイルに渡します。 また、 Disk File パラメータの隣のトグルを有効にすることで.ribファイルをディスクに保存することが可能です。

この仕組みを説明すると、出力ドライバノードSOHOスクリプトを起動し、 Render Target パラメータで指定されたRenderManのバージョンを考慮しています。 このスクリプトは、シーンを走査して、必要に応じてRSL MaterialなどのVOPシェーダをコンパイルしながら、該当するRIBを書き出しています。

RenderManのセットアップ

Houdiniが必須のRenderManツールすべてを見つけられるようにするには、まず最初にいくつかの環境変数を設定する必要があります:

  • RMANTREEを、インストールしたバージョンのRenderManに設定してください。例:

    export RMANTREE=/opt/pixar/RenderManProServer-21.0
    
  • 検索パスに、RenderManのbinサブディレクトリを含めてください。例:

    export PATH=$PATH:$RMANTREE/bin
    
  • HOUDINI_DEFAULT_RIB_RENDERERに、目的のバージョンを設定してください。例:

    export HOUDINI_DEFAULT_RIB_RENDERER=prman21.0
    

これら3つの環境変数をセットアップすれば、HoudiniがRenderManを使用できるはずです。

レンダラーの選択

各RIBターゲットレンダラーには独自で実行可能ファイル、シェーダのコンパイル手法、アトリビュート、オプション、機能があります。 このほとんどをシーンの背後でHoudiniが処理します。しかし、うまく機能しない時は、HOUDINI_DEFAULT_RIB_RENDERER環境変数をあなたが使用したいレンダーターゲットに設定することで、 使用するレンダリングに関する情報をHoudiniに渡すことができます。 レンダラーのリストは、$HH/RIBtargetsを見たり、$HH/sohoディレクトリにあるファイルを走査することで推測できます。現行レンダラーにはprman21.0が含まれています。

Houdiniは、いくつかの箇所でこの変数を使います。hrmanshaderスクリプト(シェーダコンパイラのラッパ)では、その変数がコールするコンパイラプログラムを制御します。 この変数は、RIB出力ドライバで表示させるプロパティも制御します。

To...Do this

デフォルトのRIBレンダラーを設定する

HOUDINI_DEFAULT_RIB_RENDERER環境変数を設定します。例:

# set up for prman21.0
export HOUDINI_DEFAULT_RIB_RENDERER=prman21.0

ディスプレイドライバのセットアップ

RenderManバージョン20.2以降には、Houdiniのディスプレイドライバが最初から入っているので、ROPノードの Display Device パラメータにhoudiniに指定する他に追加のセットアップが必要がありません。 これを設定すれば、RIBレンダラーが直接MPlayにレンダリングします。

framebufferデバイスをHoudiniディスプレイドライバに再マップするようにRenderManを再設定することも可能なので、すべてのフレームバッファをMPlayに送ることもできます。 これは、この行をrendermn.iniに記述することで可能です:

/displaytype/framebuffer houdini

View: RenderManメニューのカスタマイズ

ビューポートのレンダーメニューには、View:RenderManのエントリーがあります。これは出力ドライバを作成しなくてもシーンをレンダリングします。 しかし、Houdiniはシーンをレンダリングするために呼び出すアプリケーションを知っている必要があります。これは環境変数HOUDINI_VIEW_RMANを設定することで決まります。

To...Do this

“View: Renderman”メニューコマンドを修正する

ビューアのレンダーアイコンから View: RenderMan を選択した時に使用されるレンダラーを変更するには、HOUDINI_VIEW_RMAN環境変数を設定します。

シェーダパスの上書き

Houdiniは、シェーダパスを各レンダラーが必要とするデフォルトパスに設定します。シェーダパスは2つの方法で上書きすることができます:

  1. レンダリングパラメータを出力ドライバに追加することでパスを設定する(推奨)。

  2. HOUDINI_RI_SHADERPATH環境変数を設定する。

シェーダパスをカスタマイズする場合、ライトシェーダ用にそのパスに$HFS/ri_shadersを含めてください。 そのパスをカスタマイズしない場合、HoudiniはHOUDINI_PATH内のri_shadersという名前のディレクトリを検索します。

RISシェーダプラグイン用のHOUDINI_RI_RIXPLUGINPATH環境変数があります。 しかし、Houdiniには最初から何もカスタムRISシェーダプラグインが入っていないが故にri_shadersディレクトリを検索しないので、カスタマイズに$HFS/ri_shadersを含める必要はありません。 そのため、通常では$RMANTREE/lib/RISの暗黙的なデフォルトで十分です。

オブジェクトパラメータのカスタマイズ

メインレンダラーにRenderManまたはAIRを使用する場合、ジオメトリオブジェクトにMantraパラメータすべてを表示させたくないかもしれません。 ジオメトリオブジェクトをカスタマイズすることで、代わりにRenderManパラメータを持つオブジェクトを作成することができます。

To...Do this

オブジェクトパラメータをカスタマイズする

  1. HoudiniでGeometryオブジェクトを作成します。

  2. パラメータエディタギアメニューから Edit Rendering Parameters を選択します。

  3. Mantraパラメータすべてを除去します。

  4. 適切なRIBパラメータを追加します。

    ユーザによってプロパティの好みが分かれます。以下のリストはRenderManパラメータをすべて網羅した完全なリストではなく、役立つパラメータのリストを載せています。

    • Dicing

      • Binary Dicing

      • Raster Oriented Dicing

      • Motion Factor

    • Geometry

      • Automatically Compute N for Polygons

      • Render as points

      • Polys as subdivision

      • Backface Removal

    • Shading

      • Categories

      • Camera Hit Mode

      • Color (Cs)

      • Opacity (Os)

      • Matte

      • Cull Shading of Backface Surfaces

      • Shading Quality

  5. パラメータエディタギアメニューから Save As Permanent Defaults を選択してください。これはプリセットを$HOME/houdiniX.Y/presetsディレクトリに保存して、ショット毎、ジョブ毎、サイト毎のディレクトリに移動することができます。詳細は、Houdini Pathのヘルプを参照してください。

一度パラメータをPermanent Defaultパラメータとして保存すれば、それらのパラメータは新しいオブジェクトすべてに適用されます(同じ手順をライトとカメラにも可能ですが、ライトはHoudiniで、そのまま直ぐに非常にうまく機能するはずです)。

Tip

Shading Interpolation パラメータを追加することでシェーディング品質を改良することができます。

シェーダのインポート

VOPを使えばRSLシェーダを作成することができます。また、あなたが記述した他のシェーダをインポートすることができます。 インポートは、記述されたシェーダに相当するHoudini Digital Assetsを作成することで行ないます。

シェーダをインポートするには、sloinfo(prman)、aqsltell(Aqsis)、sdrinfo(Pixie)などの出力を解読するPythonスクリプトを実行します。 Houdiniにはprmanシェーダを変換するslo2otl.pyのスクリプトが用意されています。

スクリプトはシェーダパラメータに関する情報を解読できることを当てにしていますが、サポートされていないレンダラー用にカスタマイズすることは非常に簡単です。 スクリプトは、暗黙でHDAテーブルタイプを推測しようとし、VOPであるRISシェーダに対して適合するので、ライトとディスプレイスメントの.sloファイルは、暗黙でVOP HDAを生成します。 -tコマンドラインスイッチを使うことで、強制的にHDA SHOPにすることができます。

例:

slo2otl.py -t Shop -l myshaders.hda *.slo

これはHoudiniにインポート可能なOTLを作成します。認識されたシェーダのすべてはSHOPノードとして存在します。

Note

WindowsはPythonを実行するためにhythonを実行する必要があります。

hython sdl2otl.py -l myrmanshaders.otl *.sdl

Hythonは$HBがPythonパスに含まれていない限り、sdl2otl.pyスクリプトを探しません。

VOPを使用したRSLシェーダの構築

上記で説明した外部.sloシェーダをインポートする方法以外にも、 HoudiniではRSL MaterialなどのVOPネットワークを使用してシェーダを構築することができます。 シェーディングのドキュメントで説明しているように、 Material パラメータを設定してRSL Materialオブジェクトに割り当てたり、 Material SOPを使用してRSL Materialを個々のプリミティブに割り当てることができます。

RIS Rendering Mode

RenderManのRISレンダリングモードを使用するには、RenderManノードProperties タブの RIS サブタブの RIS Mode パラメータを有効にします。 オプションで Integrator パラメータにインテグレータシェーダを指定することができます。詳細は、RISシェーダを参照してください。

See also

レンダリング

Mantraユーザガイド

基本

ライティング

次のステップ

導師レベル

他のレンダラー