【Houdini16.5基礎編】12.レンダリング


 今回の記事はHoudiniのレンダリングについての紹介になります。

 ショットをレンダリングするときは、基本的にカメラとライトを使用して3Dオブジェクトを撮影し、画像または連番画像として保存します。 ゲームアーティストはレンダリングを使用してゲームの映画をレンダリングしたり、高解像度から低解像度のオブジェクトにテクスチャをベイクすることもあります。

カメラ

カメラはLights and Camerasシェルフから、またはビューポートの左上のメニューからNew Cameraを選択し、作成することもできます。 カメラは、シーン内のオブジェクトとして配置され、そのパラメータを調整するための特別なハンドルを備えています。

 ディスプレイオプションバーには、ビューツールを使用してカメラの位置を変えることができるLock Cameraボタンがあります。カメラカットを設定する場合は、複数のカメラノードをSwitcherノードに接続し、Switch Cameraパラメータにキーフレームを打ちます。

通常の映画用カメラに加えて、Houdiniにはさまざまなプロジェクト用の特別なカメラもあります。

ステレオカメラ – このカメラは、左右のカメラでステレオリグを提供し、視差と軸間距離をコントロールします。

VRカメラ – レンダリングされた画像をVRプロジェクトで利用する場合、VRカメラは必要なオプションを提供します。

ゲームパッドカメラ – 外部ゲームパッドコントローラを使用してパースペクティブビューをウォークスルーすることができるインタラクティブカメラです。

 

ライト

 シェルフからライトにアクセスしたり、同様のハンドルを使用することでライトの位置を確認することもできます。 Light Lockを利用するとビューツールを使用してライトからの視点でライトを配置することもできます。

Houdiniでは、さまざまな種類のライトを選ぶことができます。

Environment ライト – 周囲の半球や球からの光をシーンに投射します。

ポイントライト – ポイントからの光をあらゆる方向に放射します。

スポットライト – 特定の方向の点座標から円錐形の光線を放射します。

ディスタントライト – 太陽の光線に似た平行光線を放射します。

エリアライト – 指定されたエリアに複数の光源を自動的に放射します。 ライン、チューブ、グリッド、ディスク、スフィアの5種類のエリアライトシェイプがあります。

スカイライト – このツールは、スカイ環境マップを有効にした環境ライトノードを作成します。

ジオメトリライト – ジオメトリから放射された光の色に対してジオメトリオブジェクトのサーフェスシェーダを使用してシーンに光を放射します。

ポータルライト – 環境ライトを作成し、ポータルジオメトリパラメータを選択したジオメトリオブジェクトに設定します。

 

Mantra

Mantraは、SideFX社によって開発されたレンダラで、スキャンライン、レイトレーシング、および物理ベースのレンダリングを実装しています。 物理ベースのレンダリングエンジンは最も高度なものであり、基本的には物理ベースでのレンダリングを推奨します。 Mantraは、ジオメトリ、インスタンス、およびボリュームを非常に効率的にレンダリングすることができ、またHoudiniに深く統合されています。

 一般に、Houdiniのレンダリングでは、レンダリングする視点を定義するカメラ、シーンの照明となるライト、レンダラを表すレンダーノード、および使用するレンダー設定が適用されます。 また、現在のビュー、ヘッドライト、およびデフォルトのレンダー設定を使用してプレビューレンダリングを行うこともできます。

プレビューレンダリング

 Houdiniでの作業中は、Houdiniインターフェイスで作業内容のプレビューが必要になります。 レンダリングを開始して結果を確認する方法を紹介します。

レンダーリージョン – このツールを使用すると、ビューポートにバウンディングボックスを描画し、選択したエリアをレンダリングできます。 このツールはツールバーにあります。 パラメータを変更すると、設定した領域内が自動的に更新されます。

Render to MPlay – このボタンは、ツールバーの下にあります。起動すると、レンダリングされた画像を確認するための別のアプリケーションであるMplayにレンダリング結果を送信します。

レンダービュー – インタラクティブフォトリアリスティックレンダリング(IPR)を提供するレンダービューパネルを使用して、レンダリング時の作業を素早く確認することもできます。 このビューは、画像全体を素早く低品質でレンダリングし、より高品質の結果にレイヤーを適用します。

レンダリングアウトプットノード

 ショットをレンダリングするには、レンダリング出力ノードを作成する必要があります。 Render> Create Render Node> Mantra – PBRを選択すると、レンダリングを行うことができます。 このノードの名前を変更して使用することで、ディスクまたはMplayにレンダリングをすることができます。 このノードには、サンプリング、ノイズレベル、全体的な品質など、最終的な画像を制御するために必要な様々なパラメータが含まれています。

 オブジェクトまたはオブジェクトのグループごとに異なるROPを持つことができ、MattesおよびPhantomオブジェクトを選択するために使用できます。 異なるノードを一緒に配線することによって、ROP Dependencyを作成できます。 チェーンの最後のノードでレンダーボタンを押すと、他のすべてのノードが最初にレンダリングされます。

 Bake Texture ROPは、レンダリングされたモデルの外観からテクスチャを生成するために使用されます。 

レンダーレイヤーと合成

 ROPでは、直接光、間接光、影、奥行きなどのレンダーレイヤーを作成するためのイメージプレーンの設定用のコントロールがあります。これらのチャンネルは、Houdiniの合成コンテキストまたはNukeなどの外部コンポジターにロードできます。

3RDパーティレンダリング

 HoudiniはRenderMan、Arnold、OctaneRender、Redshift、Maxwellなどのサードパーティレンダラーをサポートしています。 マテリアルを割り当てることで、適切なサードパーティROPにレンダリングすることや、ROPを設定してサードパーティレンダラでオブジェクトをレンダリングし、別のROPをMantraで設定してレンダリングすることもできます。

 

レンダービュー

レンダーボタン – クリックすると新たにIPRレンダリングを開始します。 一度開始されると、オブジェクトとシェーダーのパラメーターが変更された際は、自動でショットの再レンダリングが実行されます。

ROP /カメラメニュー – これらのメニューではROPまたはカメラを選択できます。何も選択しない場合は、デフォルト設定が適用されます。

Shift セレクト – [Shift]キーを押しながら、左ドラッグすることでRender View上にレンダリング範囲を作成し、その領域のみをレンダリングさせることができます。また、Render View上の 黒い領域を選択すると、選択領域を解除することができます。

プログレスHUD – レンダリングを開始すると、すぐに低画質でのレンダリング結果が表示されます。右上にはレンダリングを完了するのに必要な時間とメモリ量を示しています。

プログレスバー – 上部のバーを参照して進行状況を確認することができます。

スナップショット – ビューの一番下にスナップショットを保存し、レンダリング結果を簡単に比較することができます。

 

MPLAY

MPlayを使用すると、静止画や一連のフレームをアニメーションとして表示できます。

メインメニュー – このメニューを使用すると、画像または一連の画像を読み込んでプレビューすることができます。必要に応じて別の形式に保存することもできます。

レンダーレイヤ– このメニューでは、color、normal、diff、use_direct、またはreflect-directなどの異なるレンダーレイヤーを表示できます。

タイムライン – 一連の画像をロードした場合、このタイムラインを使用してシーケンスを再生し、確認することができます。

レンダリング時間 – レンダリングを完了するのに必要な時間とメモリ量を表しています。

表示オプション – 中ドラッグしてパン、右ドラッグでズームができます。

チャンネル – これらのボタンをクリックすると、赤、緑、青またはアルファチャンネルにフォーカスしたり、それらを組み合わせて表示できます。

ガンマ設定 – ビューポートの明るさ、コントラスト、ガンマを設定します。 デフォルトでは、リニアワークフローをサポートするために、ガンマ2.2が使用されます。