Houdini 17.5 ノード レンダーノード

Mantra render node

Houdini標準のMantraレンダラーを使ってシーンをレンダリングし、IFDファイルを生成します。

On this page

概要

Mantra出力ドライバノードは、Mantra(Houdiniの組み込みレンダラー)を使ってシーンをレンダリングします。メインメニューから Render ▸ Create render node ▸ Mantra を選択すれば、新しいMantraノードを作成することができます。既存のレンダーノードを編集するには、 Render ▸ Edit render node ▸ node name を選択します。実際のレンダードライバノードのネットワークを見たいのであれば、ネットワークエディタ上部のパスをクリックして、 Other Networks ▸ out を選択します。

オブジェクトの時と同様に、出力ドライバに対してプロパティの追加/削除をすることができます。オブジェクトのプロパティをレンダードライバに追加すると、シーン内のすべてのオブジェクトに対してそれらのプロパティのデフォルトを定義することができます。レンダーノードを選択して、パラメータエディタのギアメニューから Edit Rendering Parameters を選択すれば、そのノードのプロパティを編集することができます。プロパティの詳細は、プロパティを参照してください。プロパティをノードに追加する詳細は、Edit Parameter Interfaceを参照してください。

複雑なシーンでは、複数のレンダーパス、別々のライティング、シャドウパスなどが必要になってきます。ドライバノードを一緒に接続することでレンダードライバ間に依存関係のセットアップをすることができます。詳細は、レンダー依存関係を参照してください。

ユーザーガイド

Mantraのアトリビュート

ジオメトリ上の以下のアトリビュートは、Mantraがジオメトリをどのようにレンダリングするのか制御します。

orient

カーブ/ポイントのプリミティブの向き。カーブとポイントは、その法線がそのorientベクトルアトリビュートの方向を指すように向きます。

v

(Velocity) Velocityモーションブラーの計算で使われます。

uv

-uコマンドラインオプションのデフォルトのアトリビュート。

vm_photon, vm_surface, vm_displace, shop_vm_photon shop_vm_surface, shop_vm_displace

シェーダの上書き(プリミティブ毎)。

width, pscale

カーブ/ポイントのプリミティブの幅を制御します(以下参照)。

scale

Mantraでは使われません。

Note

Mantraがポイントプリミティブのサイズを決める時、以下の順番でアトリビュートを探します:

  1. Pointアトリビュートwidth

  2. Pointアトリビュートpscale

  3. Detailアトリビュートwidth

  4. Detailアトリビュートpscale

カーブプリミティブの幅を決める時、Mantraは以下の順番でアトリビュートを探します:

  1. Vertexアトリビュートwidth

  2. Pointアトリビュートwidth

  3. Primitiveアトリビュートwidth

  4. Detailアトリビュートwidth

  5. Pointアトリビュートpscale

Mantraが見つけた最初のアトリビュートが、ポイント/カーブのサイズ/幅を制御します。

パラメータ

Render to File

Output Picture で指定したパスを使用して、最後のレンダーコントロール設定でレンダリングをします。

Render to MPlay

最後のレンダーコントロール設定でレンダリングして、そのレンダリングされたフレームを指定したパスではなく、MPlayにリダイレクトします。

Note

有効であれば、指定した出力パスにディープ画像とCryptomatte画像が書き出されます。

Render Control

レンダリング前にレンダーパラメータの調整が可能なレンダーコントロールダイアログを開きます。

Valid Frame Range

このレンダーノードが、現行フレーム(Render Any Frame)または Start/End/Inc パラメータ(Render Frame Range)で指定した画像シーケンスを出力するかどうか制御します。

Render Frame Range (Strict) は、レンダリング時にSTARTからENDまでのフレームをレンダリングしますが、この範囲外のフレームのレンダリングをまったく許可しません。 Render Frame Range はフレーム外のレンダリングを許可します。これは、レンダー依存関係との組み合わせで使われます。また、Render Controlダイアログ内の'Override Frame Range'の挙動に影響を与えます。

strictの挙動にしたい場合が2つ考えられます:

  • geoファイルに書き出した60フレームのウォークサイクルを、それよりも範囲が広いROPネットワークの一部としてレンダリングする時。

  • 1-20までのテクスチャループ。

そうでないなら、通常は、これをnon-strictに設定します。

Render Current Frame

プレイバーの値、または接続された出力レンダーノードで要求されたフレームに基づいて1枚のフレームをレンダリングします。

Render Frame Range

フレームシーケンスをレンダリングします。出力レンダーノードが接続されていれば、その出力レンダーノードで要求されたフレームが優先されるので、この範囲は、一般的には無視されます。

Render Frame Range (Strict)

フレームシーケンスをレンダリングします。出力レンダーノードが接続されていれば、その出力レンダーノードで要求されたフレームをこのフレーム範囲に制限します。

Start/End/Inc

レンダリングするフレーム範囲を指定します(開始フレーム、終了フレーム、増分値)。それらの値に浮動小数点を指定することができます。フレーム範囲は、その値を含みます。

これらのパラメータは、出力ドライバのローカル変数の値を決めます。

$NRENDER

出力ドライバがレンダリングするフレーム数。

$N

レンダリング中の現行フレーム(この値の範囲は、1から$NRENDERです)。

例えば、パラメータを以下の設定にしたとします:

Start

End

Inc

10.5

12

0.5 |

…4フレーム(10.5、11、11.5、12)がレンダリングされるので、$NRENDERの値は4になります。$Nは以下の値になります:

Frame

$N

10.5

1

11

2

11.5

3

12

4

Render With Take

出力ドライバが、レンダリング前に、このテイクに切り替わり、そして、レンダリングが終わると現行テイクに戻ります。

Tip

chs("take")を使えば、他のパラメータで、この値を使うことができます。詳細は、chsエクスプレッション関数を参照してください。

Camera

シーンのレンダリングに使用するカメラのパス。例えば、/obj/cam1

Override Camera Resolution

通常では、画像解像度をカメラオブジェクトに設定します。カメラの設定を修正または上書きするコントロールを有効にしたいのであれば、これをオンにします。

Resolution Scale

Override camera resolution がオンの時、カメラに設定した解像度をスケールできるようになります。完全にカメラの解像度を上書きしたいのであれば、"User specified resolution"を選択してください。

Resolution Override

Override camera resolution がオンで、 Resolution scale が"User specified resolution"の時、出力画像の解像度を設定し、カメラの設定を上書きすることができます。

Pixel Aspect Ratio

ピクセルアスペクト比はピクセルの幅をピクセルの高さで割った値です。これは画像のアスペクト比ではありません(これは画像の解像度で決まります)。このパラメータはレンダリングに影響を与えず、この係数でピクセルを引き伸ばすことで画像の表示の方法を変更することだけに使用します。

Images

Output Picture

レンダリング結果を出力する画像またはデバイス。この値をipに設定してMPlayで画像をレンダリングするようにでき、または画像に保存することができます。次の画像タイプに対応しています: .pic.tif.sgi.pic.gz.rat.jpg.cin.rta.bmp.tga.rad.exr.png

ファイル名に$Fを含めるとフレーム番号を挿入することができます。これはアニメーションのレンダリングで必要になります。詳細は、ファイル名のエクスプレッションを参照してください。

Output Device

出力画像の画像フォーマットまたはデバイス。これをデフォルトの Infer from filename のままにすると、画像フォーマットがファイル拡張子に基づいて選択されます(例えば、.picは自動的にHoudiniのフォーマット画像を生成します)。

Create Intermediate Directories

必要に応じて出力ファイルの中間親ディレクトリを作成します。現在のところ、これは、生成されるスクリプト、画像、シャドウマップにのみ適用されます。

Skip Existing Frames

既存フレームのレンダリングをスキップします。このパラメータには3つの値があります。

Overwrite existing frames

このオプションは、ディスク上のファイルの有無に関わらず、すべてのフレームをレンダリングします。

Skip frames that exist

vm_pictureパラメータに該当するディスクファイルが存在すれば、そのレンダリングを実行しません。

Skip frames that are valid images

ディスクファイルが存在すれば、レンダリングを実行する前に、その画像の整合性をチェックします。 このオプションは、画像の読み込みに負荷がかかりますが、完全にレンダリングされなかった画像を再レンダリングします。

Output

Pixel Filter

サブピクセルサンプルを結合して1つのピクセルに対して値を生成するのに使用するピクセルファイルターを指定します。フィルターは通常ではフィルタータイプ(例:gauss)の後にピクセル単位でXとYのフィルター幅を加えて指定します。画像をブラーするにはフィルター幅を上げます。

利用可能な異なるピクセルフィルターがいくつかあります。

minmax style

styleは以下のどれか:

  • min – 最小z値のサンプル値を選択します(カメラに一番近い)。

  • max – 最大z値のサンプル値を選択します(カメラから一番遠い)。

  • median – すべてのサンプルの平均のz値のサンプル値を選択します。

  • edge – ユニットボックスを使ったフィルターはオブジェクト適用範囲のサンプルを平均化するだけです。このフィルターは外部エッジアンチエイリアスを無効にする効果があります。

  • ocover – 最初に、ほとんどのピクセルを覆っているオブジェクトを選択して、そのオブジェクトのみから値を取得します。このフィルターはedgeと似ていますが、オブジェクト境界間の内部エッジアンチエイリアスを無効にします。

  • idcover – 最初に、ほとんどのピクセルを覆っているオブジェクトを選択して、ピクセルの値を得るためにそのオブジェクトから単一サンプルを選択します。このフィルターはocoverと似ていますが、サンプルを平均化しません。オブジェクトやプリミティブの識別子のような整数として解釈される平面にこのフィルターモードを使ってください。選択されるサンプルは、順番通りではありません。

  • omin – 最初に、ほとんどのピクセルを覆っているオブジェクトを選択して、ピクセルの値を得るためにそのオブジェクトから単一サンプルを選択します。最小z値のサンプルを選択します(カメラに一番近い)。

  • omax – 最初に、ほとんどのピクセルを覆っているオブジェクトを選択して、ピクセルの値を得るためにそのオブジェクトから単一サンプルを選択します。最大z値のサンプルを選択します(カメラから一番遠い)。

  • omedian – 最初に、ほとんどのピクセルを覆っているオブジェクトを選択して、ピクセルの値を得るためにそのオブジェクトから単一サンプルを選択します。平均のz値のサンプルを選択します。

point

ピクセルの中心に一番近いサブピクセルを選択します。

box [width height]

ボックスフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

gaussian [width height]

Gaussianフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

bartlett [width height]

Bartlett(円錐)フィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

blackman [width height]

Blackmanフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

catrom [width height]

Catmull-Romフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

hanning [width height]

Hanningフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

mitchell [width height]

Mitchellフィルターを使用してwidth/heightで指定したフィルターサイズでサブピクセルを結合します。

sinc [width height]

Sincフィルターを使用して、width/heightで指定したフィルターサイズでサブピクセルを結合します。

edgedetect

Edge Detectionフィルターを使用して、Z深度に基づいたエッジ、オブジェクト境界、カラー勾配を検索します。

combine -t tolerance

Ray Histogram Fusionベースのフィルターを使用して、指定した類似許容値でサブピクセルを結合します。

Note

このオプションは非常に遅く、例えば、画像にノイズを乗せたい場合であっても(つまり、サンプリング不足が原因によるノイズでなくても)画像内のノイズが除去されるので、ディテールが消失します。

denoise optix [-a AOV]

Sample Filter

個々のピクセルサンプルに対してカラーを生成するために透明サンプルの結合の方法を制御します。サンプルフィルターはピクセルフィルターが仕上げのピクセルカラーを生成する前に透明のサーフェスを合成するのに使用されます。

Opacity Filtering (alpha)

コンポジットで透明サンプルの不透明度(Of)の値を使用します。このオプションは正しい透明なコンポジットが要求されるときにいつでも使用するべきです。例えば、ボリューム、スプライト、透明度をレンダリングする時です。

Full Opacity Filtering (fullopacity)

フルシェーディング用に選択したサンプルで合成するだけとは対照的に、 Stochastic Transparency (確率的な透明度)が有効な時、このオプションはチャンネルを評価してすべての不透明度の評価で合成します。これはCedirect_emissionのような評価が速いチャンネルに対して、より滑らかな結果を生成するのに使用することができます。 Stochastic Transparency (確率的な透明度)が無効な時、このオプションは Opacity Filtering と同様の動作をします。

Closest Surface (closest)

不透明度の値を無視して、一番近い透明なサンプルのカラーを画像にコピーします。このオプションは指定したディープラスター平面の透明度を無効にし、一番近いサンプルの結果だけを生成します。

Quantization

メイン画像の記録タイプ。使用するQuantizationのタイプが、画像の品質とサイズに影響を与えます。コンポジットで画像のダイナミックレンジを調整する必要があれば、通常では、この値はデフォルト値の16ビット浮動小数点のままにしてください。

デフォルト値は、1番目の平面が"float16"、2番目以降の平面が"float"です。1番目の平面の値は、-bコマンドライン引数をMantraに渡すことで上書きすることができます。

Gamma

Sub-Pixel Output

通常では、サブピクセルサンプルは画像平面上に定義したピクセルフィルターを使ってフィルタリングされます。これをオンにすると、各サブピクセルは実行されるピクセルフィルタリングを使用しないで出力されます。

image:resolutionプロパティは実際の出力画像解像度を決定するためにimage:samplesプロパティでスケールします。例えば、image:resolution(1024,512)で、image:samples(4,6)なら、レンダリングされる画像の解像度は4096 x 3072になります。各ピクセルは1つのフィルタリングされていないサプピクセルサンプルを表示します。

Tiled Render

HQueueを使用する時に、このオプションでターゲットノードをレンダリングすると、サーバーはレンダリングするフレームを別々のタイルに分割して、各タイルを別々のジョブとしてレンダリングします。このオプションをオンにして局所的にレンダリングすると、Mantraは全体のフレームではなく、1個のタイルをレンダリングします。

Mantraに-tコマンドラインオプションを使用することで、タイルレンダリングを有効にすることもできます。これを使えば、タイル毎に Tiled Render を有効にしてIFDを生成させることなく局所的にタイルをレンダリングすることができます。

Horizontal Tiles

Tile Render がオンの時、フレームを水平方向に、このタイルの数だけ分割します。

Vertical Tiles

Tile Render がオンの時、フレームを垂直方向に、このタイルの数だけ分割します。

Tile Index

Tile Render がオンの時、局所的にレンダリングする時のレンダリングするタイルを指定します。タイルの番号は左上から0番で始まり、左から右に、上から下に向かって番号が上がります。

Create Image From Viewing Camera

見ているカメラから画像をレンダリングします。時々、このレンダーをスキップするのに役に立ちます。例えば、シャドウマップをレンダリングする時。

Auto-Generate Shadow Maps

シャドウマップの生成を有効または無効にします。また、各ライト自体には、シャドウマップを生成するかどうか決めるコントロールもあります。

Auto-Generate Environment Maps

環境マップの生成を有効または無効にします。各オブジェクトがシーンの他のすべてのオブジェクトの環境マップを生成するようにセットアップすることができます。

Auto-Generate Photon Maps

フォトンマップの生成を有効または無効にします。

Extra image planes

Export Components

スペースで区切ったシェーディングコンポーネント名のリストがエクスポートで計算されます。 あなたが作成したマテリアルに新しくコンポーネントラベルを定義した場合、それらのラベルをリストに追加して、コンポーネント単位のエクスポート平面としてエクスポートすることができます。 いくつかのコンポーネントを使わないなら、リストからそれらのコンポーネントを削除することで、レンダリングの効率性を良くすることができます。

PBRライトエクスポートは、このリストがすべてであると想定します。つまり、シェーダで作成されたコンポーネントすべてがリストされます。リストされていないコンポーネントがあれば、ライトエクスポートは、それらのコンポーネントからの照明を見つけていない場合があります。

Shading Position (P)

Shading Depth (Pz)

Shading Normal (N)

Combined lighting (per-component)

事前に定義された設定を使用して、合成照明(すべてのコンポーネント)の追加画像平面を追加します。より詳細な制御をするには、汎用画像平面インターフェースを使用して画像チャンネルを追加してください。

Direct Lighting (per-component)

Indirect Lighting (per-component)

Combined Emission

Direct Unshadowed

Direct Ray Samples

Indirect Ray Samples

SSS single/multi

Surface Unlit Base Color (basecolor)

Surface Unlit Diffuse Color (diffcolor)

Surface Unlit Specular Color (speccolor)

Surface Emission Color (emitcolor)

Surface SSS color (ssscolor)

Surface Metallic (metallic)

Surface Roughness (specrough)

Extra Image Planes

これらのコントロールはVEX変数を補助画像平面、出力ファイルの特別平面、特別ファイルのどれかとして出力することができます。

Tip

Houdini 9.1の時点では、各チャンネルを別のファイルへ書き出すことができます。これは1つの.exr画像内に複数のチャンネルをサポートしないOpenEXRプログラムで作業することができます。

1つのチャンネルをmdデバイス(インタラクティブではないMPlayウィンドウ)に送信したり、画像を複数の.picファイルに分割するような面白いことが可能です。しかし、プライマリー画像がipなら、すべての平面がipに行きます。

Channel Nameパラメータは出力ファイルのチャンネルにデフォルト(VEX変数の名前)以外の別の名前を設定することができます。例えば、Of変数を送信したいとします。Channel Nameが空白のままなら、.picファイルの平面の名前がOfになります。Channel NameをOpacityに設定すると、.picファイルの平面の名前がOpacityになります。

Deep output

Deep Resolver

画像を生成する時、Mantraはサンプルフィルターを実行して、サンプルを単一カラーに合成します。そして、Mantraはピクセルフィルターを実行して、ピクセルの最終カラーを生成します。 Deep Resolverは、サンプルフィルターの前に各サンプルに関する情報を保存するのに使用されます。これにより、画像Resolverが合成前に個々のサンプルに関する情報を保存することができます。

No Deep Resolver

Deep Imageが出力されません。

Deep Shadow Map

不透明度(Of)と深度(Pz)の画像平面のみが書き出されます。

Deep Camera Map

Deep Image向けに選択したすべての平面が書き出されます。 Exclude from DCM を使用すれば、Deep Image出力から特定の画像平面を残すことができます。

DCM Filename

Deep Camera Map Resolverを使用した時に生成されるファイル。

DCM Pre-Composite Samples

Deepファイルに保存されたサンプルは、合成なしで保存することができます。つまり、各サンプルが同じピクセルに対して他のサンプルと無関係です。または、事前合成で保存することができます。 つまり、各サンプルは、その背後にあるサンプルの累積不透明度とそのサンプル自体の不透明度を保存します。

Force DCM Pixel Filter on Image Planes

DCMをレンダリングする時、通常の/非Deepの画像平面に強制的にDCMと同じピクセルフィルタ(つまり、Unit Boxフィルタ)を適用します。

Meta data

Artist

画像の作成者の名前。デフォルトでは現行ユーザーログインの名前を使用します。

Houdini、TIFF、PNGフォーマット

Comment

出力ファイルに含めるテキストコメント

Houdini、OpenEXR、PNGフォーマット

Hostname

この画像を作成したコンピュータの名前。

Houdiniフォーマット

MPlay Tile Order

MPlayが画像をレンダリングする方向。可能な値は、"middle" (中央から外)、"top"(上から下)、"bottom"(下から上)です。

MPlay Session Label

MPlayにレンダリングすると、すべてのHoudiniセッションが出力を同じMPlayフリップブックに送信します。これは複数のHoudiniセッションを実行している時に問題になる可能性があります。MPlay Labelは出力ドライバに関連したMPlayのラベルを指定することができます。指定したラベルに一致するレンダーのみが、そのMPlayに送信されます。

Houdini Process ID

オペレーティングシステムのプロセスIDを使用するので、MPlayフリップブックはそのHoudiniセッションからのレンダーのみを受け入れます。

HIP Name

$HIPNAME変数を使うので、実行している$HIPファイルからのレンダーのみを受け入れます。

Output Driver Name

MPlayフリップブックは指定した出力ドライバからのレンダーのみを受け入れます。例えば、出力ドライバをコピー・アンド・ペーストすると、オペレータは異なる名前を持っているので、各出力ドライバが異なるMPlayフリップブックに送信されます。

Note

複数のHoudiniセッションが存在すれば、他のセッションで、同じオペレータ名に一致する出力ドライバがある場合があります。

例えば、"High Quality"と"Low Quality"の2つの出力ドライバがあるとします。2つの出力ドライバでMPlay Labelをそれぞれ別の値に設定すれば、各レンダーは別々のMPlayセッションに送信されます。

MPlay Gamma

0.0から4.0までのMPlayのガンマ値を表示します。

JPEG Quality

JPEG品質。10から100までの整数。

TIFF Compression

TIFFファイルで使用する画像圧縮タイプ。可能な値は、"None""LZW""AdobeDeflate""Deflate""PackBits""JPEG""PixarLog""SGILog""SGILog24"です。

EXR Compression

EXRフォーマット画像の圧縮タイプ。可能な値は、"none"、"rle"、"zips"、"zip"、"piz"、"pix"です。

Rendering

Render Engine

詳細は、Mantraレンダリングを理解するを参照してください。

Micropolygon Rendering

各プリミティブをマイクロポリゴンに細分化して、単独でシェーディングとサンプリングをします。

Ray Tracing

カメラから光線を送信することでシーンをサンプリングします。光線に当たった各サーフェスはサーフェスシェーダの実行をトリガーします。

Micropolygon Physically Based Rendering

マイクロポリゴンに対してサンプリングを実行します。しかし、すべてのシェーディングとイルミネーションは物理ベースのレンダリングを使って実行します。

シェーディングの計算で使用する光線の数は、最大光線サンプルで決まります。

Physically Based Rendering

シーンのサンプリングはレイトレースを使用して実行され、シェーディングは物理ベースのレンダリングを使って計算されます。

この場合では、ピクセルサンプルがPBRエンジンのシェーディング品質を決めます。

Photon Map Generation

画像をレンダリングするというよりも、光源からフォトンをシーンに送信してフォトンマップを生成します。生成されるフォトンマップファイルはPBRタブで指定します。

このIFDトークンは整数値を持ちますが、文字列の値を使って整数値を設定することも可能です。

micropoly

マイクロポリゴンのスキャンラインレンダリング(デフォルト)。

raytrace

すべてのレンダリングがレイトレースを使って実行されます。

pbrmicropoly

マイクロポリゴンのスキャンラインレンダリングを使った物理ベースのレンダリング。

pbrraytrace

レイトレースだけを使った物理ベースのレンダリング。

photon

フォトンマップ生成。

Enable Depth Of Field

Mantraは被写界深度ありでレンダリングします。被写界深度を制御するパラメータはカメラオブジェクトにあります。

Allow Motion Blur

これは、レンダリング時にモーションブラーをシミュレーションするかどうかの"マスタースイッチ"です。 これをオンにすると、 トランスフォーム モーションブラー(各オブジェクトのフレーム間のトランスフォームの補間によるブラー)が有効になります。 Xform Time Samplesを使用することで、トランスフォームブラーのサンプル数を設定することができます。 変形 モーションブラーを有効にするには、Geo Time Samplesを上げます。

モーションブラーのレンダリングに関する詳細は、モーションブラーを参照してください。

Xform Time Samples

シャッターオープン時間に対して トランスフォーム モーションブラーをレンダリングする時に計算するサンプル数。 デフォルトは2サンプル(シャッター時間の開始と終了)で、1つのセグメントにブラーがかかります。

極端に速く移動したりと方向を変更するオブジェクトの場合、サブフレームでの方向の変更を取り込むためにサンプル数を上げる必要があります。

上図の例では、1フレーム内で発生した複雑な動きを正しくレンダリングするために40個のトランスフォームサンプルが必要です(1フレーム内でのこの変化量は、非常に稀で、説明をするために使用しただけです)。

トランスフォームブラーは、各オブジェクトのフレーム間のトランスフォームを補間することでブラーをシミュレーションしているので、計算が軽いですが、表面の変形を取り込みません。 変形ジオメトリのぶらーを有効にするには、Geo Time Samplesを上げます。

Geo Time Samples

シャッターオープン時間に対して 変形 モーションブラーをレンダリングする時に計算するサブフレームのサンプル数。 デフォルトは1サンプル(シャッター時間の開始のみのサンプル)で、デフォルトでは変形ブラーは ありません 。 高速に変形するジオメトリを適切にブラーさせたい場合、この値を2以上に上げなければなりません。 Geometry Time Samplesの数を上げると、HoudiniはサブフレームのジオメトリをクックしてMantraに送信しなければならないので、それに比例して処理が重くなります。

"Deformation"は、ジオメトリ(SOP)レベルでトランスフォームだけを参照したり、キャラクタやフレームに応じて形状が急速に変化するオブジェクトなどの実際の表面の変形を参照することができます。

1フレーム内で複雑に変形するオブジェクトには、Geo Time Samplesの数を上げる必要があります。

変形ブラーは、シャッター時間内の アトリビュート値の変化 もブラーさせることができます。 例えば、オブジェクトが移動した時にポイントカラーが急変化する場合、そのCdアトリビュートにブラーをかけることができます。 Motion Blurred Attributesプロパティを使って、ブラーをかけるアトリビュートを明示的に指定する必要があります。

Geo Time Samplesの数を上げると、Mantraの使用メモリ量に 影響を与えてしまします 。 サンプル数が増える度に、Mantraはシャッター時間の間にサンプリングしている間はメモリ内にそれだけのジオメトリのコピーを維持しなければなりません。 レンダリングを最適化する時、滑らかなモーションの軌跡を生成するのに必要な最低限のGeo Time Samplesを調べることは良い考え方です。

Velocity Motion Blurが有効なオブジェクトでは、変形ブラーは無視されます。

Shutter Offset

このパラメータは、モーションブラーを生成する時に考慮される時間のセグメントを制御します。 1の値は、オブジェクトの現行位置と次フレームのオブジェクトの位置を時間の間隔として使用して、それをモーションブラーに使用します。 -1の値は、前フレームのオブジェクトの位置とオブジェクトの現行位置を時間の間隔として使用します。 0の値は、前フレームの最後の半分、次フレームの半分の間隔を生成します。

通常では、Mantraのレンダリング領域外で生成されたモーションブラーに合わせたい場合(例えば、写真背景プレート)を除いて、このパラメータを調整する必要はありません。

現行フレームのオブジェクトの位置に比例して、ブラーを画像で発生させるかどうか制御します。-1の値は前のフレームから現在のフレームまでの位置でブラーします。0の値なら前のフレームの半分から次のフレームの半分までの位置でブラーします。1の値なら、現在のフレームから次のフレームまでの位置でブラーします。小数点のフレーム値や-1または1より大きい値を使ってブラーを小さくまたは大きく動かすことができます。

ブラーの サイズ を変更するには、 Shutter Time (shutterプロパティ)を変更します。

このパラメータは、古い Motion Blur Style (motionstyle)パラメータの代わりで、"before"(Shutter Offset=-1)、"center"(Shutter Offset=0)、"after"(Shutter Offset=1)の値のみを設定することができます。

Sampling

Pixel Samples

Mantraがピクセル毎にシーンをサンプリングするために使用するプライマリ光線の数を制御します。 これらの2つの数値は、X軸とY軸でのサンプルの配列を意味し、一般的には同じ値にします。 しかし、正方形でないピクセルに関しては、XとYに別の値を使用することがあります。 これらの2つの数値を乗算した値が、ピクセル毎のプライマリ光線の数になります。

Pixel Samples を上げれば、綺麗で高品質な画像が生成されます。 しかし、他のサンプリング値すべてが、この Pixel Samples の値で乗算されるので、必要な時にだけ上げてください。 Pixel Samples を上げるタイミングに関する詳細は、ノイズの除去を参照してください。

Variance Color Space

分散アンチエイリアスでカラー空間をサンプリングします。これをガンマ2.2に設定すると、画像の暗い部分がもっとサンプルを受け取るようになります。

Ray Variance Antialiasing

有効な時、このパラメータは、すべてのPrimary Rayに対して送信するSecondary Raysの数を決定する時に、MantraにRay Variance Antialiasingを使用させます。

つまり、指定した数の光線を使用するのではなく、まず最初にMantraは少ない数の光線を送信し、設定したこのサンプルを使用してVarianceを評価します。 Varianceの量に応じて、Mantraは Max Ray Samples の数になるまで光線を送信し続けます。 Ray Variance Antialiasing は、必要な領域にのみ光線を送信するので、レンダリングの最適化に役立ちます。

ノイズを除去するための最小数の光線が最大数の光線と同じ場合には、Ray Variance Antialiasingを無効にすることで、レンダリング時間を少し短くすることができます。

Min Ray Samples

この値は、画像を生成する時に各BSDFタイプに使用する セカンダリ光線の最小数 です。 Ray Variance Antialiasing が無効な時、この数は、 Noise Level に関係なく送信するセカンダリ光線の数を意味します。

この数は、現在の Pixel Samples 評価中のマテリアルのBSDFタイプの数で乗算されることを覚えておいてください。

Max Ray Samples

Ray Variance Antialiasing が有効な時、このパラメータは、 Noise Level にまったく到達していなくても許容されるセカンダリ光線の最大数を意味します。 このパラメータは、 Min Ray Samples と一緒に使用し、本質的には画像に対して受け入れ可能なサンプリングの範囲を作成することができます。 あり得る光線の総数を注意して制御することが、レンダリングを最適化する最善の方法です。

この数は、現在の Pixel Samples 評価中のマテリアルのBSDFタイプの数で乗算されることを覚えておいてください。 例えば、単純にDiffuseマテリアルだけであれば、 Pixel Samples が3×3、 Max Ray Samples が1に設定されていたとすると、最大で9本のセカンダリ光線(9本のDiffuse光線)が放出されます。 そのマテリアルに反射 屈折があれば、最大で18本のセカンダリ光線(9本の反射光線と9本の屈折光線)が放出されます。

Max Ray Samples を上げるタイミングに関する詳細は、ノイズの除去を参照してください。

Noise Level

Mantraがセカンダリ光線を送信する前に許容されるVarianceの度合い における閾値を意味します。本質的には、Varianceとは、サンプルセット内の値の"広がり"方を意味します。 例えば、すべて同じサンプルセットのVarianceは0です。一般的には、妥協できない量のノイズがある領域にのみ光線が送信されるように、できるだけ、この値を高く保持するのが良いです。

"direct samples"と"indirect samples"の画像平面を追加すれば、送信されているサンプルの数や、送信されている画像の領域を追跡することができます。 サンプリングに関する詳細は、サンプリングとノイズを参照してください。

シーン内の特定のオブジェクトに画像の他の部分よりもサンプルをもっと増やす必要があると分かっていて、且つNoise Levelパラメータでそれらのオブジェクトを"ターゲット"にすることができない場合、 その問題の領域に、オブジェクト毎のサンプリングパラメータを追加するのが良い方法です。詳細は、ノイズの除去を参照してください。

Diffuse Quality

間接ディフューズ サンプリングの品質を制御します(直接光線と間接光線の違いに関する情報は、サンプリングとノイズを参照してください)。 間接光源(例えば、他のオブジェクトのサーフェスやボリューム内部に散乱した光)は、レンダーのノイズの主な原因であることがよくあります。 この値を上げることで、このタイプのノイズが減りますが、レンダリングが遅くなります。

このパラメータは、 Min Ray SamplesMax Ray Samples に対する乗数として動作し、さらに Noise Level に対する除数として作用します。 例えば、 Min Ray Samples1May Ray Samples8で、 Noise Level0.1に設定されていて、 Diffuse Quality2に設定すると、 Mantraは0.05の Noise Level に基づいて2~16本のセカンダリDiffuse光線サンプルを送信します。 それらの数値は、 間接サンプル にのみ適用されることを忘れないで下さい。 Mantraは、すべての直接サンプルに対しては元の値を使用します。

間接ディフューズコンポーネント内のノイズ量を調べるには、 Extra Image Planes タブで"Indirect Lighting (per-component)"画像平面を追加してください。 これは、各間接コンポーネントを個々にチェックすることができます。このパラメータに関しては、Indirect Diffuseコンポーネントをチェックしてください。

Reflection Quality

間接反射 サンプリングの品質を制御します(直接光線と間接光線の違いに関する情報は、サンプリングとノイズを参照してください)。 間接反射(シーン内の他のオブジェクトの反射)は、レンダーにノイズが乗ることがあります。 この値を上げることで、このタイプのノイズが減りますが、レンダリングが遅くなります。

このパラメータは、 Min Ray SamplesMax Ray Samples に対する乗数として動作し、さらに Noise Level に対する除数として作用します。 例えば、 Min Ray Samples1May Ray Samples8で、 Noise Level0.1に設定されていて、 Reflection Quality2に設定すると、 Mantraは0.05の Noise Level に基づいて2~16本のセカンダリ反射光線サンプルを送信します。 それらの数値は、 間接サンプル にのみ適用されることを忘れないで下さい。 Mantraは、すべての直接サンプルに対しては元の値を使用します。

間接反射コンポーネント内のノイズ量を調べるには、 Extra Image Planes タブで"Indirect Lighting (per-component)"画像平面を追加してください。 これは、各間接コンポーネントを個々にチェックすることができます。このパラメータに関しては、Indirect Reflectionコンポーネントをチェックしてください。

Refraction Quality

間接屈折 サンプリングの品質を制御します(直接光線と間接光線の違いに関する情報は、サンプリングとノイズを参照してください)。 間接屈折(例えば、グラスを通してオブジェクトを見た時のように、シーン内の他のオブジェクトから屈折した光)は、レンダーにノイズが乗ることがあります。 この値を上げることで、このタイプのノイズが減りますが、レンダリングが遅くなります。

このパラメータは、 Min Ray SamplesMax Ray Samples に対する乗数として動作し、さらに Noise Level に対する除数として作用します。 例えば、 Min Ray Samples1May Ray Samples8で、 Noise Level0.1に設定されていて、 Refract Quality2に設定すると、 Mantraは0.05の Noise Level に基づいて2~16本のセカンダリ屈折光線サンプルを送信します。 それらの数値は、 間接サンプル にのみ適用されることを忘れないで下さい。 Mantraは、すべての直接サンプルに対しては元の値を使用します。

間接屈折コンポーネント内のノイズ量を調べるには、 Extra Image Planes タブで"Indirect Lighting (per-component)"画像平面を追加してください。 これは、各間接コンポーネントを個々にチェックすることができます。このパラメータに関しては、Indirect Refractionコンポーネントをチェックしてください。

Enable Indirect Sample Limits

Direct RaysとIndirect Raysを分離させて、別々のノイズレベルだけでなく別々のサンプリングレートを適用することができます。 一般的には、あまりにも多くのサンプルがDirect Raysとして送信されていることがわかっている時にのみ、このパラメータを有効にする必要があります。

"direct samples"と"indirect samples"の画像平面を追加すれば、送信されているサンプルの数や、送信されている画像の領域を追跡することができます。 サンプリングに関する詳細は、サンプリングとノイズを参照してください。

このパラメータは、3つの新しいパラメータを有効にします: Min Indirect Ray Samples, Max Indirect Ray Samples, Indirect Noise Level

Direct RaysとIndirect Raysの違いを理解したいのであれば、サンプリングとノイズを参照してください。

Volume Step Rate

光線がボリュームを通過した時のそのボリュームのサンプリングの細かさ。ボリュームオブジェクトは、ボクセルと呼ばれる3D構造で構成されています。 このパラメータの値は、他のサンプルを実行する前に、光線が通過するボクセルの数を意味します。

デフォルト値は0.25です。この値は、4つのボクセル毎に1つのボクセルがサンプリングされることを意味します。1の値は、すべてのボクセルがサンプリングされ、2の値は、すべてのボクセルが2回サンプリングされることを意味します。 つまり、Volume Step Rateの値は、 Pixel Samples と同じような挙動をし、ボリュームオブジェクトに対するサンプルの合計数の乗数として機能します。

ボクセルベースでないボリューム、例えばCVEX Proceduralボリュームに関しては、Mantraは、そのボリュームの境界ボックスを約100個の"仮想的な"ボクセルに分割します。 その場合に、正しい詳細レベルを維持するためには、 Volume Step Rate を正しく設定する必要があります。

Volume Step Rate を上げると劇的にレンダリング時間が増えてしまうので、必要な時だけ調整してください。 また、デフォルトの0.25から上げると、ボリュームノイズが減り、1を超えて値を上げると、同じような結果になることがほとんどありません。

ボリュームサンプリングに関する詳細は、サンプリングとノイズを参照してください。

Stochastic Transparency

光線が半透明なオブジェクトを通過した時にシェーディングされる透明サンプルの数。 この値を上げると、半透明なオブジェクトのノイズが少なくなり、一般的には Pixel SamplesVolume Step RateMin Ray SamplesMax Ray Samples を上げるよりも処理が軽いです。 しかし、Stochastic Sampling(確率的サンプリング)は、Indirect Sourcesのノイズには何の効果もありません。

これは、 Stochastic Transparency (確率的透明度)を使用しない時よりも画像にノイズが発生することがあります。 そのため、例えば、 Pixel Samples を上げて補間する必要があります。通常ではこのオプションはオンのままにするべきです。

レンダラーは、マイクロポリゴンレンダリング(セカンダリーレイトレースを除く)、不透明度だけを生成するレンダー(例えば、ディープシャドウマップ)に対しては、このオプションを無視します。これらの場合では、すべての透明なシェーディング結果をコンポジットする方が効率的です。

Houdini 12で追加されました。

Stochastic Samples

Stochastic Transparencyがオンの時にシェーディングする透明なサンプルの数。値が高いほどボリューム、透明なサーフェスのシェーディング品質が良くなりますが、レンダリングが遅くなります。

Sample Lock

一般的には、サンプリングはランダムパターンで発生し、そのパターンはアニメーションのフレーム毎に変わります。 これは、画像内に大量のノイズがある時に、紛らわしい"ノイズ"を引き起こし、シーンの他の局面の評価を複雑にすることができます。 このパラメータを有効にすると、そのサンプリングパターンが"固定"されるので、フレームが変わってもノイズが同じままになります。

また、最終レンダリング画像をポストレンダリングのノイズ除去のプロセスに送る場合には、フレームが変わってもノイズが同じままである方が役立ちます。 常に同じサンプリングパターンは、ノイズを解析する時にも役に立ちます。

デフォルトでは"オフ"になっています。 その理由は、一般的には、最終シーケンスに対してサンプリングパターンを固定するのは許容できないからです。

Random Seed

このパラメータを調整すると、Mantraで使用されるピクセルサンプリングパターンが別々の構成で再生成されます。 デフォルトでは、それらのパターンはフレーム毎に変わるので、手動でこの値を変更するのは不要です。

Allow Image Motion Blur

場合によっては、後処理または他のコンポジット操作のためにモーションブラーを画像に追加させたい時、最終レンダリング画像にはそのモーションブラーを含めたくないけれどもモーションブラーを計算する必要があります。 そのような場合、Allow Image Motion Blurを無効にしてください。

つまり、GetBlurP()関数をシェーダ内に使用することで、モーションブラーに必要なブラーがかかった位置情報は、レンダリングで実際にシェーディングを行なわずに独自のモーションベクトル画像平面としてエクスポートすることができます。

このパラメータは、Motion Blurが有効な時だけ利用可能なモーションブラーパラメータに関連しています。 このオプションを無効にすると、最終レンダリング画像からモーションブラーが除去されます。 それでもブラーのかかったPositionは計算されているので、独自のモーションベクトル画像平面を作成することができます。

Limits

Reflect Limit

光線がシーン内で反射できる回数。

この例では、2つの鏡の間に配置した被写体を使った典型的な"鏡のホール"のシナリオを載せています。

これは、無限に続く反射を効果的に作成しています。

このカメラ角度では、その反射制限が非常にわかりやすく、最終画像の精度に大きく影響していることがわかります。 しかし、ほとんどの場合では、その反射制限を巧妙に調整することで、シーン内の反射の数を減らすことができ、レンダリング時間を最適化することができます。

光源がオブジェクトで一度反射すると、それを直接反射と見なされることを覚えておいてください。 そのため、 Reflect Limit を0に設定しても、まだ光源のスペキュラー反射が見られます。

反射の最大数を超えた時に起きる事を制御するには、 At Ray Limit を使用します。

Refract Limit

このパラメータは、光線がシーン内で屈折する回数を制御します。

この例では、10個のグリッドすべてが1列に並んだ単純なシーンを載せています。

屈折のあるシェーダを適用することで、それらのグリッドを通じて、背景の夕焼けの画像を見ることができます。

このカメラ角度では、画像の精度を良くするためには、屈折制限をシーン内のグリッドの数に合わせなければなりません。

しかし、ほとんどのシーンでは、この数の屈折オブジェクトすべてが一列に並ばないので、最終画像に影響を与えずに屈折制限を下げることができます。

この Refract Limit は、オブジェクトの数ではなく、光線が通過しなければならないサーフェスの数を参照していることを覚えておいてください。

光源がサーフェスを一度屈折すると、それを直接屈折と見なされることを覚えておいてください。 そのため、 Refract Limit を0に設定しても、まだ光線の屈折が見られます。 しかし、シーン内のほとんどのオブジェクトは、最低でも2枚のサーフェスを持つので、その光源と直接屈折が最終レンダリングではあまりわからないことが多いです。

屈折の最大数を超えた時に起きる事を制御するには、 At Ray Limit を使用します。

Diffuse Limit

Diffuse光線がシーンを伝搬できる回数。

Reflect LimitsRefract Limits と違って、このパラメータは、シーン内の全体のライトの量を増やし、グローバルイルミネーションの大部分に寄与します。 このパラメータを0より大きく設定すると、Diffuseサーフェスは、直接光源に加えて、他のオブジェクトからのライトも蓄積します。

この例では、 Diffuse Limit を上げて、最終画像の見た目に劇的な効果が出ています。 現実的な照明環境を模倣するには、 Diffuse Limit を上げる必要があることが多いです。 とはいえ、ライトの寄与度は通常ではDiffuseバウンス毎に小さくなるので、 Diffuse Limit を4よりも大きく上げても、シーンでの視覚的な忠実性の改善はほとんどありません。 さらに、 Diffuse Limit を上げると、ノイズレベルとレンダリング時間が劇的に増える可能性があります。

Volume Limit

ボリューム光線がシーンを伝搬できる回数。これは Diffuse Limit パラメータと同じように動作します。

Volume Limit パラメータを上げると、よりリアルなボリューム効果が得られます。 これは、特にボリュームの一部のみが直接照明を受けている状況で顕著です。 さらに、ボリュームオブジェクトが他のオブジェクトからの間接照明を受けるためには、 Volume Limit パラメータを0よりも大きく設定しなければなりません。

Volume Limit を0より大きい値に設定すると、Fogボリュームは、ボリュームを通過するライトから、あなたが求めている独特の光の散乱を行ないます。 しかし、 Diffuse Limit と同様に、一般的には、ライトの寄与度は、光線が跳ね返る度に小さくなるので、4より大きい値を使用しても、目で見てわかるほどに現実的な画像になるとは限りません。

また、このパラメータの値を上げると、ボリューム画像のレンダリングに費やされる時間が劇的に増える可能性があります。

Opacity Limit

光線が多くの透明なサーフェスを通過したり、ボリュームを通過した時に、累積不透明度を計算します。 この累積不透明度の値がOpacity Limitを超えた時に、Mantraは、このポイントを超えたすべてのサーフェスが不透明度であると想定します。

このパラメータは、Reflect LimitとRefract Limitの両方と似た挙動をしますが、単に光線が通過したサーフェスの数ではなく、累積値に作用します。

この例では、各グリッドに不透明度が0.1のシェーダが割り当てられています。 この場合では、"透明"が不透明度100%未満のオブジェクトを参照していて、透明な見た目になる屈折オブジェクトを含んでいないことを覚えておくことが重要です。

この例では、左側の球は、不透明度が0.5で屈折がありません。 右側の球は、不透明度が1で屈折があります。 Opacity Limitは、屈折度に何も影響を与えておらず、不透明度の値が1未満のオブジェクトにのみ影響を与えていることがわかります。

Opacity Limitを下げれば、レンダリング時間が少し短く(1 - 5%)なり、低い値にすると、カメラが動いたり、アニメーションが進んだ時に帯か何かの画像の乱れが発生することがあります。 これは、特に煙のシミュレーションで不透明度の値が常に変化する箇所で顕著です。

Opacity Limitのデフォルト値は、非常に活動的で、この値を変更する時は、注意して変更し、アニメーションシーケンスのフレーム範囲でその結果を調べてください。

Color Limit

間接ソースから返すシェーディングサンプルの許容最大値。 PBRを使ってレンダリングする時、そのパスの合計のイルミネーションも制限されます。

Physically Based Rendering(物理ベースレンダリング)では、極端に明るい間接光源のサンプリングが不足した時に、カラーに"スパイク"が起きる可能性があります。これは、最終レンダリング画像に"蛍"のような結果が生じ、非常に高いサンプリングレートを使わないと除去するのが非常に難しいです。

この例では、12×12ピクセルサンプルでさえも"蛍"がまだ残っています。Min/Max Indirect Ray Samplesの設定を調整すれば、このノイズを除去することができますが、代わりにレンダリング時間が増えます。

Color Limitパラメータの値を下げれば、それらの間接サンプルのカラー値が制限されるので、"スパイク"を回避することができます。

Color Limitを下げることが、サンプリングレートを上げずに"蛍"を除去する効果的な方法です。 しかし、間接照明の値を制限するということは、シーン内のライトの量を全体的に減らすことになります。 これは、特に間接ライトで大部分を照明しているシーンで顕著になります。

At Ray Limit

レイトレースの制限に到達した光線のMantraによる扱い方を制御します(例えば、 Reflect Limit または Refract Limit )。 この例では、 Refract Limit が2に設定されています。

At Ray LimitUse Black Background に設定すると、その制限に到達した後は単にブラックをレンダリングするだけです。 これがデフォルトの設定で、ほとんどのシーンで動作します。なぜなら、 Reflect Limit または Refract Limit が到達しそうにないからです。 しかし、レンダリングした画像でその制限が顕著なシーンでは、そのブラックのカラーは非常に顕著になり、シーン内のカラーで目立ちます。

この場合には、その効果が回避されるまで制限を上げるか、または Use Direct Lighting as Background Color オプションを使用してください。 これは、ブラックカラーを直接照明、例えばEnvironment Lightで使用しているカラーや画像で置換します。

Environment Lightの設定がこのパラメータに影響を与える方法に関する詳細は、ライティングを参照してください。

Shading

Raytracing Bias

PBRレンダリングで使用されるグローバルレイトレースのバイアスでワールド空間単位で指定します。レンダーでレンダリングの乱れを除去するなら、レイトレースバイアスを上げてください。本当に小さいシーン(1単位のサイズ)に対しては、場合によってはレイトレースバイアスを下げる必要があります。

Bias Along Normal

バイアスがVEXシェーダで使われると、バイアスを光線方向に、またはサーフェス法線に沿って実行することができます。このパラメータをオンにすると、バイアスがNgVEX変数を使ってサーフェス法線に沿って実行されます。

光線方向、異なる方向を向いた法線ポイント、法線が最初に反転していれば、バイアスは反転した法線の方向で実行されます。この設定は、特にレイトレースしたサーフェスが尖って見えるときに役に立ちます。

Enable Absorption and Nested Dielectrics

計算を軽くするために、Mantraは、変数を画像平面へ保存する必要がある場合に、サーフェスシェーダ上のエクスポートのみを計算します。 つまり、いくつかのサーフェスエクスポートは、simport()関数に対してFogシェーダで利用できないことがあります。 しかし、Absorption and Nested Dielectrics(吸収と入れ子状の絶縁体)のような高度な機能を適切にレンダリングするためには、サーフェスシェーダから追加のエクスポートを必要とします。 これは、それらの特別なエクスポートを有効にします。

Allowable Paths

PBRモードで実行するパストレースのタイプ。

diffuse

すべてのディフューズとスペキュラーの跳ね返りをトレースしますが、一度ディフューズの跳ね返りが起きると、そのディフューズ反射のみのトレースを続けます。

all

すべてのパスをトレースします。 このオプションはフォトンマップを使わないでコースティクスのレンダリングを有効にするのに使用します。 しかし、ポイントライトや小さいエリアライトを使用すると、レンダリング結果に極端なほどのノイズが発生する可能性があります。

Constrain by Maximum Roughness

GGX BSDFの Roughness パラメータは、パストレースのレイチェーンを伝搬していった最大の粗さでクランプされます。このオプションを有効にすると、間接スペキュラー(特に、光沢のあるサーフェスが粗いスペキュラーサーフェスに反射している場合)内の多くのノイズを精度を若干落として削減することができます。

Refract Components

スペースで区切ったコンポーネントタイプのリストは、Refract Bouncesのように動作します。これは、光線タイプに基づいて使う反射スコープと、使用するBounce Limitに影響を与えます。カテゴリ化されていないコンポーネントタイプは、反射と見なされます。

Diffuse Components

スペースで区切ったコンポーネントタイプのリストは、Diffuse Bouncesのように動作します。これは、光線タイプに基づいて使う反射スコープと、使用するBounce Limitに影響を与えます。カテゴリ化されていないコンポーネントタイプは、反射とみなされます。

Volume Components

スペースで区切ったコンポーネントタイプのリストは、Volume Bouncesのように動作します。これは、光線タイプに基づいて使う反射スコープと、使用するBounce Limitに影響を与えます。カテゴリ化されていないコンポーネントタイプは、反射と見なされます。

SSS Components

サブサーフェススキャタリングの跳ね返りのように振る舞うコンポーネントタイプをスペースで区切ったリスト。 これは、光線タイプに基づいて使用される反射スコープと、使用するバウンス制限に影響します。カテゴリ化されていないコンポーネントタイプは、反射であると見なされます。

Render

Tile size

Mantraでレンダリングされるタイルのサイズ(ピクセル単位)。タイルのサイズが大きいほどメモリをたくさん消費します。

Use Max Processors

有効にすると、自動的にスレッドの数(renderer:threadcount IFDプロパティ)をレンダリングマシンのCPUの数に設定します。

Thread Count

Use Max Processors (renderer:usemaxthreads IFDプロパティ)を無効にすると、Mantraがレンダリングで使用するスレッドの数を設定します。

Cache Limit

固定サイズキャッシュ(vm_cachesize)か物理メモリの割合(vm_cacheratio)のどちらを使用するかどうか。

Cache Memory Ratio

Mantraが統合されたキャッシュで使用する物理メモリの割合。

例えば、vm_cacheratioがデフォルトの0.25で物理メモリが16GBの時、Mantraは統合されたキャッシュに対して4GBを使用します。

統合されたキャッシュは、以下の内容を含んだレンダーで使用される動的でアンロード可能なデータを保存します:

  • 2D .ratテクスチャタイル

  • 3D .i3dテクスチャタイル

  • 3D .pcポイントクラウドページ(メモリに事前にロードされない時)

  • レイトレースで必要なテセレートしたメッシュ:

    • ディスプレイスメント

    • サブディビジョンサーフェス

    • BezierとNURBSプリミティブ

Ray Tracing Accelerator

Mantraで使用されるレイトレースアクセラレータのタイプを制御します。レイトレースアクセラレータは複雑なジオメトリに対して光線の交差テストのパフォーマンスを最適化するのに使用される空間データ構造になっています。

KD-Tree ("kdtree")

KD-Treeを使用したレイトレース。通常では丁度良い初期化時間で最速なレイトレースパフォーマンスを発揮します。 KD-Tree Memory Factor パラメータ(vm_kdmemfactor)によるKD-Treeの構築でパフォーマンス/品質のバランスを制御することが可能です。

Bounding Volume Hierarchy ("bboxtree")

境界ボリューム階層を使用したレイトレース。場合によっては、境界ボリューム階層はKD-Treeよりも構築またはレイトレースが高速です。

KD-Tree Memory Factor

KD-Treeアクセラレーションデータ構造を構築する時に使用されるメモリ/パフォーマンスのバランスを変更します。1より大きい値ではMantraはレイトレースを高速化しようとツリーを最適化するのに比例的にメモリをたくさん使用して時間がかかります。値を小さくするほどはMantraは比例的にツリーの最適化にメモリ使用量が少なくなり時間が短くなりますが、レイトレースのパフォーマンスを妥協しなければなりません。デフォルト値の1はレイトレースのデータ構造で使用されるメモリ量とジオメトリで使用されるメモリ量とのバランスを調整しようとします。

ツリーの構築時間が長ければ、KDメモリ係数を0.1に下げてください。もしレンダーがツリー構築の後にあまりにも遅いようであればツリーの構築時間とレンダーのパフォーマンスの妥協点が見つかるまで値を上げてください。

UV Attribute

テクスチャをUDIM画像にベイクする時、これはアンラップに使用するテクスチャ座標アトリビュートの名前です。

Enable Hiding

隠れたサーフェスの除去を実行します。隠れたサーフェスの除去を無効にする時、カメラのフラスタム(視野角錐台)内のすべてのサーフェスが隠れているかどうかに関わらずレンダリングされます。これはレンダリング時間に大きく影響します。

Output OTLs with full paths

このチェックボックスを有効にするとOTLパス内の任意の変数を展開して、Houdini環境変数の依存性を解除しますが、場合によってはIFDが持ち運びできなくなります。

Force VEX Shader Embedding

HoudiniがOTLに定義したシェーダを使用する時、MantraはOTLから直接シェーダをロードすることができます。シェーダがVOPを使って構築されている時、シェーダはIFDに埋め込まなければなりません。このオプションを有効にすると、HoudiniがOTLで定義したシェーダを埋め込むようにします。

このオプションはIFDをもっと自己完結型にするので、OTL(または別のバージョンのOTL)がインストールされていないマシンでも正しくシェーダを評価することができます。

しかし、複雑なシェーダであれば、それを埋め込むとIFDのサイズが膨れ上がってしまいます。

Output OTLs with full paths

このチェックボックスを有効にするとOTLパス内の任意の変数を展開して、Houdini環境変数の依存性を解除しますが、場合によってはIFDが持ち運びできなくなります。

Declare Style Sheets

IFDに埋め込むHIPファイルに定義したスタイルシートを制御します。通常のHoudiniパターンマッチングが各埋め込まれたスタイルシート名に対して使用されます。

Apply Style Sheets

レンダリング中にMantraが適用するスタイルシートを指定します。これは、HIPファイルに埋め込まれたスタイルシートの名前のスペース区切りのリストや、ディスク上の外部JSONファイルです。

Declare Materials

生成されるIFDに埋め込むSHOPを制御します。 このパラメータを使えば、たとえHoudiniが出力するオブジェクトやジオメトリ上のSHOPの明示的な参照を探さなくても、強制的にすべてのSHOPやすべてのMaterial SHOPを埋め込むことができます。

Dicing

Shading Quality Multiplier

シーン内のオブジェクト毎のシェーディング品質(vm_shadingquality)パラメータすべてに対するグローバル乗数。このパラメータを使用することで、全体的にシェーディング品質を上げたり、下げたりすることができます。オブジェクトに使用するシェーディング品質は以下の式で決まります。

shadingquality = object:shadingquality * renderer:shadingfactor

Motion Factor

モーションブラーの量が非常に多い高速移動オブジェクトは、遅く移動するオブジェクトまたは静的オブジェクトと同じサンプリング品質でレンダリングされます。 しかし、非常にブラーのかかったオブジェクトをレンダリングした場合、通常なら細かなディテールが失なわれます。 そういった場合、高速に移動するオブジェクトに対してシェーディング品質を下げることで、モーションブラー内のディテールの損失が減るので、そのような最適化は役立ちます。

Motion Factorを上げると、モーションの速さに基づいてオブジェクトのシェーディング品質が動的に下がります。 この最適化は、主にサブディビジョンサーフェスやディスプレイスメントベースシェーディングのオブジェクトのように、レンダリング時に洗練化されるオブジェクトに対して役立ちます。

上図の例では、Motion Factorが最終レンダリングの品質に大きく影響を与えていないことがわかります。

しかし、場合によってはディテールがたくさん失なわれてしまう可能性があります。特に、表面のディテールがシェーダによって生成されている場合です。 例えば、大きなディスプレイスメントによって形状を定義しているオブジェクトがそれです。

このような場合、表面のディテール量が期待したように維持できるようにMotion Factorの値を注意して調整しなければなりません。

Note

実際に使用されるMotion Factorは、シーン内のモーションの度合いに依存しています。 詳細は、MantraレンダリングプロパティページのMotion Factorを参照してください。

大きくブラーするオブジェクトに対して自動的にシェーディング品質を調整します。オブジェクトのモーション係数を上げると、モーションの速さに応じて動的にシェーディング品質を下げます。これは高速に移動するオブジェクトのレンダリングを飛躍的に高速化することができます。また、被写界深度に影響を与え、深い焦点深度のシーンの速度を改善します。

モーション係数は以下の式を使ってシェーディング品質を下げています:

new shading quality = shading quality / max(pixels of motion * (1/16)、1)

フレームで16ピクセル以上動くオブジェクトのシェーディング品質は上記の係数で下がります。例えば、1のシェーディング品質を持つ32ピクセル以上ブラーするオブジェクトは、0.5の品質に下がります。このパラメータには非常に大きな値を使わないでください。0から1の間の値が合理的です。

Ray TracingまたはPhysically Based Renderingのレンダリングエンジンを使用すると、モーション係数はサブディビジョンサーフェス、NURBS/Bezier、ディスプレイスメントの形状の細分化にのみ影響があり、シェーディングの量は変わりません。

Geometry Measuring

プリミティブをMantraでレンダリングする時、プリミティブが大きすぎてレンダリングできない時は、プリミティブをより小さいプリミティブに分割します。それらのプリミティブは、メジャーを使用して大きすぎないかどうか測定されます。

利用可能な色々なメジャーがいくつかあり、各メジャーは、いくつかのオプションの引数を受け取ります。

Non-Raster Measuring (nonraster [-z importance])

これは3D空間でジオメトリを測定します。 Z-Importance はサーフェスのZ成分をバイアスするのに使用します。 Z-Importance が0なら、オブジェクトのXとY成分がオブジェクトのサイズを決める唯一の寸法であることを意味します。これはRaster Space Measuringとほぼ同じです。

Z-Importance を1に上げることで、Zの測定に意味が出てきます。 Z-Importance を1よりも大きくすることが可能です。

XY平面でのグリッドを考える場合、Z-Importanceは何の効果もありません。しかし、グリッドがほぼXZ平面にあるなら、Z-Importanceはdicingに大きな影響があります。 Z-Importance が0なら、投影した測定のみが使われます。その結果、細長い帯が作成されます。 Z-Importance が1なら、グリッドはもっと均一に細分化されます。値が1より大きい場合、Z方向にもっと分割が実行されます。

これはディスプレイスメントマップを実行するときに重要です。 Z-Importance を上げればディスプレイスメントシェーディングされた地面の品質を良くします(例)。デフォルト値の1は通常では、すべての入射角に対してシェーディング品質が1の鮮明で高品質なディスプレイスメントになります。

これはMantraではprmanのraster-orientフラグと同等です。

Raster Space Measuring (raster)

スクリーン空間でジオメトリを測定します。これは"nonraster -z 0"の測定とほぼ同じなので、そちらを推奨し、これは廃止予定です。

Uniform Measuring (uniform)

均一な分割を生成します。分割のサイズは、マイクロポリゴンレンダーの Geometry Quality または Shading Quality で制御します。

Z-Importance

このパラメータはNon-Raster MeasuringのZ-Importanceを制御します。上記のvm_measureを参照してください。

Offscreen Quality

このパラメータは、カメラから直接見えないジオメトリに対するシェーディング品質スケール係数を制御します。 視界の範囲外にあるジオメトリ(つまり、副光線からのみ見えるジオメトリ)に対して、Mantraは、そのジオメトリとフラスタム(視野角錐台)の境界との角度に基づいて、シェーディング品質を滑らかに下げます。 値が小さいほど、特に、カメラが近くのジオメトリのディスプレイスメント境界の範囲内にあるシーン、直接見えているプリミティブよりも隠れているプリミティブの方をもっと粗くDicingすることが可能なシーンでは、パフォーマンスが良くなります。

Objects

このタブのパラメータは、IFDに含めるオブジェクトとライトを決めます。

Mantraは、これらのパラメータを以下の順序で処理します:

  1. Candidate Objects/Lightsパラメータに一致するオブジェクト/ライトを追加します。

  2. Forced Objects/Lightsパラメータに一致するオブジェクト/ライトを追加します。

  3. Exclude Objects/Lightsパラメータに一致するオブジェクト/ライトを削除します。

Candidate Objects

このパラメータ内のジオメトリオブジェクトの内、ディスプレイフラグがオンでディスプレイチャンネルが有効なものがIFDに含まれます。

Force Objects

このパラメータ内のオブジェクトが、ディスプレイの状態に関係なくIFDに追加されます。オブジェクトを一度だけIFDに追加することができます。

Forced Matte

Matteオブジェクトとして強制的に出力されるオブジェクト。

Forced Phantom

Phantomオブジェクトとして強制的に出力されるオブジェクト。

Exclude Objects

このパラメータ内のオブジェクトが、 Candidate ObjectsForce Objects で選択したオブジェクトに関係なくシーンから排除されます。

Solo Light

このパラメータ内のライトのみがIFDに含まれます。これは、シャドウマップとイルミネーションを含みます。このパラメータを設定すれば、Candidate、Force、Excludeのパラメータが無視されます。

render_viewcameraプロパティと一緒にこのパラメータを使えば、選択したライトのシャドウマップを迅速に生成することができます。

Candidate Lights

このパラメータ内のライトの内、ライトのDimmerチャンネルが0でないものがIFDに追加されます。標準のライトを無効にする時、Dimmerチャンネルが0に設定されます。

Force Lights

このパラメータ内のライトが、Dimmerチャンネルの値に関係なくIFDに追加されます。

Exclude Lights

これらのライトが、Candidate LightsForce Lights で選択したライトに関係なくシーンから排除されます。

Headlight Creation

シーン内にライトがなければ、ヘッドライトがデフォルトで作成されます。無効にするには、このチェックボックスをオフにします。

Visible Fog

このパラメータ内のfog/atmosphereのオブジェクトの内、ディスプレイフラグがオンでディスプレイチャンネルが有効なものがIFDに含まれます。

Scripts

各スクリプトコマンドは、パラメータで選択したエクスプレッション言語に関係なく、実行されるHScriptコマンドを参照します。その結果の文字列がHScriptコマンドとして実行されます。

Note

HScriptコマンドのpythonunixsourceコマンドを使って、複雑な処理を実行することが可能です。

これらのコマンドはレンダリングする時に常に実行されます。コマンドは、フレーム範囲をレンダリングまたは出力をコマンドに送信している時に、出力ドライバのパラメータをチェックします。

レンダリングする前に、Houdiniは自動的に現在のHScriptディレクトリを出力ドライバの場所に設定します。

Pre-Render Script

このコマンドは、任意のIDFが生成される前に実行されます。レンダリング毎に1度だけ実行されます。

Pre-Frame Script

このコマンドは、IFD毎にそれが生成される前に実行されます。

Post-Frame Script

このコマンドは、IFD毎にそれが生成された後に実行されます。

Note

IFDが生成されても、これは、このコマンドが実行された時にMantraが画像のレンダリングを終了したことを意味しているわけではありません。

Post-Render Script

このコマンドは、すべてのIFDが生成された後に1度だけ実行されます。

Note

IFDが生成されても、これは、このコマンドが実行された時にMantraが画像のレンダリングを終了したことを意味しているわけではありません。

Driver

Command

IFDファイルの送信先のコマンド(つまり、Mantra)。IFDファイルをディスクに保存するなら、これは無効になります。

Note

Mantra ROPは、.ifdファイルの拡張子に基づいて自動的にgzipを実行しません。.ifd.gzファイルには、未圧縮データを含んでいます。しかし、レンダーコマンドを gzip > foo$F4.ifd.gzのように設定することで、ファイルを圧縮することができます。

Disk File

IFDファイルをディスクに保存する場所。このパラメータを有効にするには、Disk Fileチェックボックスをオンにしなければなりません。

Block Until Render Complete

出力をコマンドに送信する時、通常ではHoudiniは、IFDの書き出しが完了した後にコントロールを返します。これは、レンダリング処理をバックグラウンドで完了させることができます。このパラメータをオンにすれば、Mantraがフレームのレンダリングを完了するまで、強制的にHoudiniがその出力をブロックするようにすることができます。

フレーム範囲をレンダリングする時、このオプションが自動的にオンになります。しかし、HScriptまたはPythonのループ構文でレンダリングする時は、このオプションは自動的にオンになりません。そのため注意してください。そうしないと、結果的に複数のバックグラウンドレンダーを起動してしまうことになります。

Note

HScriptコマンドのrpsrkillを使えば、バックグラウンドレンダーを検索またはKillすることができます。

詳細は、トラブルシューティングの章を参照してください。

Initialize Simulation OPs

このオプションをオンにすると、POPとDOPのシミュレーションがレンダリング前に初期化されます。

Show In Viewport

このチェックボックスを有効にすれば、ドライバがビューポートメニューに表示されます。デフォルトでは、SOHO出力ドライバをビューポートメニューに表示しません。

Save Binary Geometry

IFDにバイナリジオメトリを保存します。このオプションをオフにすれば、ASCIIジオメトリがIFDに保存されます。バイナリは非常に効率的ですが、ASCIIは可読性があります。

Examples

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カラーも調整しています。

The following examples include this node.

PortalBox Example for Environment Light object node

このサンプルでは、窓の形状を使って、ポータルライトを作成する方法を説明しています。 ボックスをモデリングして、窓と壁の2つのSOPに分割しています。 環境光のPortal Geometryパラメータに窓を指定して、壁をレンダリングします。 Portal Geometryパラメータをオン・オフして、Render Viewでのレンダリング品質の違いを確認してみてください。

RainbowGeometryLight

このサンプルで注目すべき特徴は以下の通りです:

  • ジオメトリエリアライト

  • 減衰ランプ制御

  • サーフェスモデルのスペキュラーレイヤー

サンプルでは、NURBSカーブに基づいたジオメトリライトを構成しています。 ライトの減衰には、カラーキーを使うことで、異なるライトの色をライトからの距離に応じて生成することができます。 ground plane shaderは、2つのスペキュラーコンポーネント(広いコンポーネントと狭い光沢コンポーネント)でサーフェスモデルを使って、複数レイヤーの外観を生成します。

TransparentShadows Example for Light object node

このサンプルでは、ディープシャドウマップを使って透明シャドウを設定する方法を説明しています。 シーンには、影を落とす透明なグリッドを配置しています。 レンダラーには、マイクロポリゴンレンダリングを使用しています。

IndirectLightBox Example for Indirect Light object node

このサンプルでは、間接Diffuse照明用の間接光オブジェクトをセットアップする方法を説明しています。 シーンは、何回も押し出して作成したボックスと、光源とカメラで構成されています。 カメラの範囲に入るすべてのライトが、カメラに到達する前にシーン内で2度以上跳ね返るようにライトを配置しています。 間接光オブジェクトは、100万個のフォトンを生成するように設定されています。 フォトンマップを可視化するには、ライトのレンダリングモードを"Direct Global Photon Map"に変更します。 サンプリング品質を調整するには、Mantra ROPのPixel SamplesまたはRay Samplesを修正します。 このサンプルで使用するレンダリングエンジンは、PBRです。

TubeCaustic Example for Indirect Light object node

このサンプルでは、コースティクスのフォトンマップ生成用の間接光オブジェクトをセットアップする方法と、ライトマスクとフォトンターゲットの使い方を説明しています。 シーンは、反射するチューブとポイントライトと環境ライトで構成されています。 各ライトには、コースティクスを生成する間接光があり、ライトマスクによって指定したライトからのみフォトンを生成しています。 フォトンターゲットを使って、フォトンを反射するチューブに向かってのみ送信しています。 Mantra ROPは、ライト単位でdirect_diffuseコンポーネント用のディープラスター平面を生成し、2つのライトからのDiffuse照明とコースティクスを別々の平面に分けます。

環境ライト

ポイントライト

switchcamera Example for Switcher object node

このサンプルでは、2つのカメラ間でビューを切り替え、Renderノードで出力するシーンを切り替える方法を説明しています。

FetchROP Example for Fetch render node

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

MotionVector Example for Mantra render node

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

RampReference

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

ShutterShape

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

Down Hill Lava Flow Example for Material shader node

このファイルでは、傾斜が低い箇所にCrust(地殻)が集まって硬化する溶岩の流れを作成しています。このアニメーションは、シェーダで作成していて、ジオメトリそのものはアニメーションしていません。

Note

Lava(溶岩)マテリアルのパラメータのほとんどを、サーフェスノードで作成したPointアトリビュートで上書きしています。

FirePit Example for Material shader node

Note

このファイルでは、ジオメトリはアニメーションしていません。 テクスチャをアニメーションさせることで、すべてのアニメーションを表現しています。

炎は、UVテクスチャを簡単に適用できるようにグリッドで作成し、Magnet SOPを使ってメタボール周辺を歪ませています。 炎には、黄色または青のFlameテクスチャのどれかを割り当てています。 Flamesのopacity mask wrapをDecalに設定することで、テクスチャがFlameジオメトリの上部で単一ピクセルリングを繰り返して表示するのを回避しています。 また、flameOpacMap.jpgというマスクファイルを使って、上部にFlameの形状を調整しています。 noise offsetを$TでY軸を強くアニメーションさせることで、Flameが上昇しているように見せています。これは、Noise jitterもY軸に対して大きくなります。

炭は、変形させたグリッドにCopy Stampを適用した球で表現しています。 Attribute CreateSOPを使えば、SOPレベルでLava(溶岩)のテクスチャのパラメータを上書きしてCopy Stampすれば、$BBYなどのローカル変数を使ってテクスチャをアニメーションさせることができます。 そうすれば、テクスチャのCrust(地殻)とその値だけを使って、炭の上部の形状を修正することができます。 これは、炭の下部で使用するテクスチャのLava(溶岩)のアスペクト比を保持します。熱を発する炭の下部の残り火を表現するために、Lava(溶岩)の強度(Kdアトリビュート)をスタンプしてアニメーションしています。

VolumeNoiseIso Example for Mantra: VEX Volume Procedural shader node

このサンプルでは、Mantraのボリュームレンダリング機能を使って、CVEXシェーダで定義したアイソサーフェスをレンダリングする方法を説明しています。 noiseフィールドをCVEXシェーダで生成し、それをVEX Volume Proceduralに接続しています。 密度が0のサーフェスを見つけて、法線を表示するSimple Surfaceシェーダを使ってシェーディングすることで、ボリュームをシェーディングします。

FurBallWorkflow Example for Fur geometry node

このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。

Brickify Example for IsoOffset geometry node

このサンプルでは、IsoOffset SOPを使ってオブジェクトをブロック化する方法を説明しています。

UnpackWithStyle Example for Unpack geometry node

このサンプルでは、アンパックと同時にスタイルシート情報を評価することができるUnpack SOPの機能について説明しています。 Nested Packed Primitiveでは、スタイル情報を維持しつつも部分的にアンパックできることを説明しています。 このサンプルでは、Python SOPを使って、プリミティブ単位でスタイルシートから情報を抽出する方法も説明しています。

example_top_renderifd Example for Render IFD TOP node

このサンプルでは、Render Ifdノードを使ってIFDファイルを書き出す方法について説明しています。

WornMetal Example for Curvature VOP node

このサンプルでは、Curvature VOPをシェーダネットワークに追加して、マテリアルに剥げやアンティーク調の見た目を追加する方法を説明しています。

PointCloudWrite Example for Point Cloud Write VOP node

このサンプルでは、pcwrite VOPを使って、ポイントクラウドファイルにポイントを書き出す方法を説明しています。 mantra1 ROPをレンダリングして、ポイントクラウドを生成し、gplayコマンドでポイントクラウドを閲覧してください。 ポイントの分布は、Mantraシェーダを実行した場所に依存します。 この場合では、Mantra ROPは、非表示にしたサーフェスをシェーディングして、球のバックフェースからポイントを生成できるように設定しています。

See also

レンダーノード

  • Agent

    エージェント定義ファイルを書き出します。

  • Alembic

    Alembic ROPはシーンをAlembicアーカイブとしてエクスポートすることができます。

  • Archive Generator

    Mantra/RIBレンダラーで使えるディスクベースのアーカイブを生成します。

  • Bake Animation

    オブジェクトトランスフォームやCHOPオーバーライドのアニメーションをベイクします。

  • Bake Texture

    1つ以上のオブジェクトのレンダリングされた外観からテクスチャマップを生成します。

  • Batch

    単一バッチジョブで入力ROPをレンダリングします。

  • Brick Map Generator

    HoudiniボリュームプリミティブをPixar brickmapファイルに変換します。

  • Channel

    チャンネルの出力オペレータが特定のCHOPからクリップファイルを生成します。

  • Composite

    コンポジット出力オペレータがコンポジットエディタで生成される画像をレンダリングします。

  • DSM Merge

    2つ以上のディープシャドウ/カメラマップファイルを結合します。

  • Dynamics

    DOP Networkシミュレーションの状態をファイルに保存します。

  • Fetch

    異なるネットワークにあるROPに依存リンクを作成します。

  • Filmbox FBX

    全体のシーンをFBXファイルにエクスポートします。

  • Frame Container

    格納されたノードの中のフレーム依存の変更がその入力に影響を与えないようにします。

  • Frame Depedency

    出力フレームを1つ以上の入力フレームに依存させることができます。

  • Geometry

    SOP/DOP Networkからジオメトリファイルを生成します。

  • HQueue Render

    HQueue/Houdini Queueは分散ジョブスケジューリングシステムです。

  • HQueue Simulation

    HQueue/Houdini Queueは分散ジョブスケジューリングシステムです。

  • Hair Card Texture

    ヘアーカードで使用するヘアーテクスチャをレンダリングします。

  • MDD Point Cache

    この出力オペレータはMDDアニメーションファイルを書き出すために使用します。

  • Mantra

    Houdini標準のMantraレンダラーを使ってシーンをレンダリングし、IFDファイルを生成します。

  • Mantra Archive

    Mantraで使用可能なディスクベースのアーカイブを生成します。

  • Merge

    いくつかのレンダー依存を1つに結合します。

  • Net Barrier

    同期化が起こるまでROPネットワークをブロックします。

  • Null

    何もしません。

  • OpenGL

    ハードウェアアクセラレート3Dビューポートレンダラーを使って画像をレンダリングします。

  • Pre Post

    メインジョブの前と後にROPをレンダリングします。

  • RenderMan

    PixarのRenderManレンダラーを使ってシーンをレンダリングします。

  • RenderMan Archive

    RenderManで使用可能なディスクベースのアーカイブを生成します。

  • RenderMan RIS

    Pixar社のRenderMan RISレンダラーを使用してシーンをレンダリングします。

  • Shell

    外部コマンドを実行します。

  • Subnetwork

    サブネットワーク出力オペレータが膨大な出力オペレータを管理する簡単な方法を提供します。

  • Switch

    複数入力の1つをレンダリングします。

  • Tractor

    TractorはPixarのRenderManと合わせて出荷されるプログラムです。

  • Wedge

    異なる設定で同じROPを複数回にわたって再レンダリングします。

  • Wren

    この出力オペレータはWrenレンダリングプログラムで使われます。

  • glTF

  • glTF