サンプル

Alembic

AlembicLayer Example for Alembic render node

このサンプルでは、Alembic ROPノードを使ってAlembicレイヤーを作成する方法について説明しています。

/nodes/out/bakeanimation

rop_example_bakeanimation

このサンプルでは、Bake Animation ROPをセットアップして、リグのアニメーションを他のリグに転送すると同時にオブジェクト拘束をベイクする方法について説明しています。

Fetch

FetchROP Example for Fetch render node

このサンプルでは、Fetch ROPを使って、異なるネットワークにあるROPノードにレンダー依存関係を構築する方法を説明しています。 noise COPを使って、Mantraでレンダリングするサーフェスに対してJust-In-Timeでテクスチャを生成します。

Mantra

AmbientOcclusion Example for Mantra render node

アンビエントオクルージョンは、レイトレーシングによって開いた空間内に柔らかいDiffuseライティングを高速に生成するための技術です。 これは、あるポイントを中心にどれだけの大きさの半球がシーン内の他のサーフェスで塞がるのか調べて、塞がる箇所が多い場所ほど、より暗いライティングを生成する方法で計算されます。 この技術は、完全なグローバルイルミネーションほどの負荷をかけずに、そのGI(グローバルイルミネーション)のような効果が必要な時に役に立ちます。

これに特化したサンプルとして、アンビエントオクルージョンのライトといくつかのジオメトリをデジタルアセットの形式で用意しています。 このサンプルでは、Environment Lightを使用し、そのパラメータにアクセスしやすいように、そのパラメータをプロモートしています。

サンプル数を減らすことで、レンダリングでノイズが発生する代わりにレンダリング時間を短くすることができます。 以下のレンダリングでは、上図と同じシェーダを使用していますが、サンプル数をデフォルトの256から16に減らしています。 この値は、LightのRender Optionsタブの Sampling Quality で設定しています。

環境マップ

滑らかな環境マップを持っていれば、グローバル背景カラー(ホワイト)を環境マップの値に置き換えることができます。 また、Sky Environment MapタブのSky Environment Mapも有効にすることができます。

MotionVector Example for Mantra render node

このサンプルでは、後でVelocityのコンポジットをするために、モーションベクトルレイヤーを生成する方法を説明しています。 サンプルを読み込んで、5フレーム分をレンダリングしてください。画像ビューアでは、C(カラー)からmotion_vectorに切り替えると、その結果を見ることができます。

Volume Rendering - メタボールのボリュームレンダリング Example for Mantra render node

メタボールジオメトリは、Mantraでそのままボリュームとしてレンダリングすることが可能です。メタボールのレンダリングを有効にするには、ジオメトリオブジェクトの Render タブの Geometry サブタブの Metaballs as Volume パラメータをチェックします。メタボール上のPointアトリビュートは、Pointアトリビュートがメタボールサーフェスに対して補間されるのと同様に、シェーディングポジションで補間されます。

以下に、ランダムなポイントカラーアトリビュートを使ったサンプルを載せています:

シャドウ品質とパフォーマンスの制御

シャドウマップの生成には、 Pixel SamplesShadow Step Size パラメータ(Mantra ROP内)を使って、サーフェスに対して使用するのとまったく同じ方法で、品質とパフォーマンスを制御します。ほとんどのボリュームは、柔らかいDiffuseシャドウを落とすので、ボリュームレンダリングの時は、低解像度のディープシャドウマップを使ってレンダリング時間を短くすることがほとんどです。シャドウマップの 解像度 は、Houdiniのライトの Shadow タブで変更することができます。

Volume Rendering - ファイル参照の煙 Example for Mantra render node

ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。

ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:

  • 詳細な“hero”(メインとなる)の雲、煙、炎

  • インスタンス化した雲、煙、炎のフィールド(視界)

ボリュームレンダリングがまったく適さないシーンは以下のとおりです:

  • 単一の均一なフォグを持つシーン

この特化したサンプルでは、bgeoファイル(1フレームのみ)を煙の流体シミュレーションからエクスポートして、それをFile SOPを使って参照しています。VEX Volume Cloudを使ったマテリアルを、Volume Objectのトップレベルで、このボリュームデータに割り当てています。シェーディングモードでこのシーンを見るには、環境変数の HOUDINI_OGL_ENABLE_SHADERS を1に設定します。

品質/パフォーマンスの制御

ボリュームレンダリングは、Ray Marchingを使って、ボリューム内に入り込みます。Ray Marchingは、画像内の各ピクセルに対して均一に光線に沿って入り込むことで、ボリューム内にシェーディングポイントを生成します。ボリュームのRay Marchingの品質と速度を変更する方法が2つあります:

  1. Mantra ROPの Properties タブの Sampling サブタブの Pixel Samples パラメータ。 Pixel Samples を増やせば、ピクセル内にRay Marchingを増やすことができるので、品質が良くなります。さらに、ボリュームに対してアンチエイリアスとモーションブラーの品質が良くなります。

  2. Mantra ROPの Properties タブの Sampling サブタブの Volume Step Rate パラメータ。 Volume Step Rate を上げれば、ボリューム内部のサンプルが増えるので、品質が良くなりますが、パフォーマンスが悪くなります。別々のシャドウ品質をシャドウに使うことができます。

変更すべきパラメータは、ピクセルのアンチエイリアスで必要な品質に依存します。 Pixel Samples を増やすよりも、 Volume Step Rate を小さくする方が良いです。なぜなら、 Volume Step Rate が小さいほど正確なレンダリングができるからです。

以下のレンダリングでは、 Pixel Samples を2×2、 Volume Step Rate を1にしています。シャドウの細部に注目してください。

以下のレンダリングでは、 Pixel Samples を4×4、 Volume Step Rate を0.25にしています。シャドウの細部が消えて、ボリュームが少し透明になっています。品質レベルは、ほぼ同じです。

Volume Rendering - プリミティブからのボリュームレンダリング Example for Mantra render node

ボリュームレンダリングは、高品質な煙、雲、飛沫、炎などのボリュームエフェクトを統合したレンダリングを可能にするレンダリング手法です。

ボリュームレンダリングは、多くのタイプのボリュームエフェクトのレンダリングに適しています。Mantraボリュームによるレンダリングが特に適したシーンは以下のとおりです:

  • 詳細な“hero”(メインとなる)の雲、煙、炎

  • インスタンス化した雲、煙、炎のフィールド(視界)

流体ソルバを呼び出さなくても、プリミティブからボリュームを簡単に作成することができます。

この特化したサンプルでは、プリミティブのトーラスを使って、煙のボリュームをレンダリングしています。IsoOffset SOPを使えば、トーラス内部を充たすボリュームが生成されます。そして、VEX Volume Cloudを使ったマテリアルを、トーラスの形状をしたボリュームデータに割り当てています。 Smoke Cloud Density を5に、 Smoke Shadow Density を10に設定すれば、煙のような見た目を作成することができます。

以下の画像は、 Volume Quality (Mantra ROP)、 Shadow Quality (スポットライトの Shadow タブの Depth Map Shadows タイプ)、 Sampling Divs (IsoOffset SOPの Dimensions タブの Uniform Sampling を“Non Square”に設定)を調整してレンダリングしたトーラスです。煙のDiffuseカラーも調整しています。

Net Barrier

netbarrierpost Example for Net Barrier render node

このサンプルでは、netbarrier ROPを使って、複数のマシンがお互いに同期化するようにする方法を説明しています。

/nodes/out/ramp

RampReference

このサンプルでは、アニメーションするランプと参照ランプの使い方を説明しています。

/nodes/out/shutter

ShutterShape

このサンプルでは、Shutter Shapeパラメータで、グレースケールのランプでシャッターの開口時間を制御する方法を説明しています。

Wedge

rop_example_wedge Example for Wedge render node

このサンプルでは、Wedge ROPをセットアップして、自動的にたくさんの色々なネットワークを作成する方法を説明しています。

ノードのサンプル

ノードタイプ別のサンプル