Houdini 21.0 SolarisとKarma

Solarisのライブレンダリング

Render Galleryにリアルタイムでレンダリングの更新内容を取得することができます。

On this page

Render Galleryは、ビューポートの現在の内容からスナップショットを作成できる画像カタログです。 その保存された状態を活用することで、シーン全体または特定の部分がどのように変化したのかを比較・記録することができます。

このガイドの最初の章では、Render Galleryから実行できる色々なレンダリングモードとその長所と短所について簡潔に説明します。 これにより、ライブレンダリングが他のレンダリングモードと比べてどのような位置付けにあるのか理解することができます。 たいていの場合、決め手となるレンダリングモードはありませんが、あなたの必要に合った最適なレンダリングモードを選択できるように、複数の選択肢が用意されています。 どのレンダリングモードも並列で動作可能ですが、これはコンピュータリソースの問題にもなります。

Note

この章でのすべてのUI関連の説明は、Houdiniの Solaris デスクトップに基づいています。 このデスクトップを適用するには、メインメニューバーに進み、最初のドロップダウンメニュー(デフォルトでは Build に設定されています)を開き、 Solaris または Solaris LookDev を選択します。

スナップショット

スナップショットでは、Karmaモードは必要ではなく、VulkanやStormから画像を生成することも可能です。 Render Galleryから直接スナップショットを取得することができます。 ビューポートの1対1の表現が得られるだけでなく、LOPネットワークの現在の状態も保存されます。 特定のネットワーク状態に戻すには、Render Gallery内のスナップショットをクリックして、 Revert Network to this Snapshot を選択します。

スナップショットはビューポートのアスペクト比と表示モードを考慮します。

バックグラウンドレンダリング

バックグラウンドレンダリングは、アクティブなKarmaモードが必要で、Render Galleryから起動することができます。 レンダリング中もHoudiniは応答性を維持しますが、ビューポートの変更には反応しません。 バックグラウンドレンダリングは、In-Processモードなのでクラッシュすると、Houdiniが落ちます。

Note

このモードはLOPの現在の状態を保存します。

クローンレンダリング

クローンレンダリングはClone Control Panelから開始することができますが、その結果はRender Galleryに表示されます。 クローンレンダリングは、レンダリングしたいシーンの1対1のコピーを作成し、ビューポート変更に反応します。 この手法はより多くのシステムリソースを必要とし、Houdiniでのシーン準備に10分かかる場合、クローン処理にも同様に10分かかります。 独立したプロセスであるため、クローンレンダリングがクラッシュしてもHoudini本体には影響しません。

ライブレンダリング

ライブレンダリングは、スナップショット、バックグラウンドレンダリング、クローンレンダリングの中間的な位置付けとなります。 このモードは、ビューポートの変更に直接反応します。 ライブレンダリングは、メモリ使用量が少なく、シーンを再び処理する必要がないので、クローンレンダリングよりも少ないリソースで済みます。 Houdiniがクラッシュすると、ライブレンダリングプロセスも終了します。逆も同様です。 本当のレンダリング結果を得るために、ライブレンダリングにはアクティブなKarmaレンダリングエンジンが必要になります。

他のレンダリングモードとは異なり、ライブレンダリングは独立したノードのLive Render LOPに紐付けられています。 このLive Render LOPからレンダリング処理を開始すると、その結果がRender Galleryに表示されます。 このLive Render LOPとそのネットワーク上での位置によってレンダリング対象が決まります。 つまり、複数のLive Render LOPを追加することで、シーンの異なる部分のスナップショットを取得することができます。

Live Render LOP

Live Render LOPは、ライブレンダリングモードのいわば司令塔です。 このLive Render LOPは、上流ノードからのレンダリング設定とカメラデータを利用します。 なお、Render Settings LOPCamera LOPは必須ですが、このLive Render LOP上またはその中に入って直接ローカルオーバーライドを定義することもできます。 他にも、Live Render LOPの中にSOP Create LOPなどを使用して、レンダリングしたいオブジェクトを追加することができます。 下記の図は、Live Render LOPの最小構成を示しています。

画像をクリックするとズームします。

ネットワークを作成したら、Live Render LOPにシーンの Render Settings の場所を指定します。 デフォルトのパスは/Render/rendersettingsです。 また、Scene Graph TreeからrendersettingsPrimをLive Render LOPのパラメータにドラッグすることもできます。

次に、 Render Delegate を選択します。 ライブレンダリングを行なうために、ビューポート内でそのデリゲートを有効にする必要はありません。 Houdiniはどのデリゲートであろうとライブレンダリングを実行し、ビューポートが変わる度に画像を更新します。 ただし、最終レンダリングに使用するデリゲートを選択することを推奨します。

Start Render ボタンをクリックします。 これで、Live Render LOPに直接緑色のバッジが表示され、Render Galleryにそのレンダリングされたサムネイルが表示されます。 この緑色のアイコンによって、スナップショットやバックグラウンドレンダリングと区別することができます。 画像一覧ビューア内のサムネイルがどのようにビューポートの変更に反応するのか確認することができます。

Stop Render ボタンをクリックすると、レンダリング処理が中断され、Render Galleryのサムネイルはビューポートの変更に反応しなくなります。 最終的にRender Galleryに画像を表示するには、そのサムネイルをダブルクリックします。 各スナップショットではクリックメニューも利用可能です。 詳細は、Render Galleryのヘルプを参照してください。 再び Start Render をクリックすると、新しくギャラリーエントリが作成されます。

Tip

Stop Render ボタンは、ギャラリーサムネイルのクリックメニューからも利用することができます。

画像一覧ビューア内のサムネイル名は変更可能です。 デフォルト名(例えば、liverender1)をクリックするだけで、その名前を編集することができます。 そして、新しい名前を入力します。

オーバーライド

オーバーライドは、元のネットワークやそのパラメータを変更することなく、ライブレンダリングに変更を加えることができます。 これは、異なるカメラ視点を試行錯誤したり、画像解像度を変更するのに便利な方法です。

Override Camera パラメータは、別のカメラパスを受け入れることができます。 ここでも、Scene Graph TreeからどれかのカメラPrimを入力フィールドにドラッグすると、そのパスが自動的に追加されます。 上流の設定に関係なく解像度を変更する必要がある場合は、 Override Resolution ドロップダウンを開きます。 元の解像度に対するパーセンテージ値を使用するか、または、特定の数値を入力することができます。

内部LOPネットワーク

オーバーライドを作成するための非常に面白いワークフローをLive Render LOPの中で組むことができます。 このおかげで、Live Render LOPをコピー/ペーストしたり、ネットワーク内の別の部分に移動させたりすると、そのLive Render LOP内の内容も一緒に移動します。 そのため、オーバーライドを再接続したり、個別にオーバーライドをコピー&ペーストする必要がありません。 また、 Run Internal LOP Network オプションのオン/オフを切り替えることで、オーバーライドの有無による差異を確認することができます。

Live Render LOPをダブルクリックすると、USER_AREAサブネットワークに入ります。 内部オーバーライドの典型的な使用例を挙げると、マテリアルやシーンのライティングの変更があります。 例えば、気に入ったライティングセットアップを保持しつつ、いくつかの調整を試したい場合を考えてみましょう。 元のノードを直接編集するのではなく、代わりに⌃ Ctrl + Cでそのライティングセットアップをコピーします。 次に、Live Render LOPの中に入って、⌃ Ctrl + Vでそのセットアップをペーストします。 これで、変更を加えて様々な値、カラー、HDRを自由に試すことが可能になります。 レンダリング処理を停止すると、そのLive Render LOPはそのノード内部の様々なライティングセットアップからスナップショットを生成し、バージョンを直接比較することができます。

また、新しくMaterial Library LOPを追加し、特定のPrimに別のシェーダを適用することもできます。

左側が元の画像、右側がマテリアル/ライティング/カメラの設定を上書きしたバージョンです。

複数のLOPs

ネットワークには、1個のLive Render LOPだけを配置するように制限されていなくて、理論上は必要な数だけLive Render LOPを配置することができます。 そして、複数のLive Render LOPを同時にレンダリングすることもできます。 ただし、これはリソースが問題となります。 より現実的な場面としては、ネットワーク内の異なるポイントにLive Render LOPを配置してシーンを分ける方法になります。 現在作業中の部分がアクティブなライブレンダリングセッションとなります。

そのため、オブジェクトと背景を分けたり、背景そのものをレンダリングしたり、シーンのライティング部分で作業することができます。 後で、Copernicusですべてを取り込むことができます。 複数のLive Render LOPを作成して、別々のオーバーライドを定義することもできます。

Copernicus

ライブレンダリングセッションの開始/停止は、File COPから直接行なうことができます。 Source ドロップダウンメニューから Live Render を選択して、 Live Render LOP パラメータにLive Render LOPノードを指定します。 最も便利な方法は、 Open floating operator chooser ボタンをクリックして表示されるパネルからLOPを選択することです。 なお、Live Render LOPの選択が必須で、上流または下流のノードを選択することはできません。

Start ボタンをクリックすると、レンダープロセスを“リモート制御”することができます。 その後、Solarisに戻って、シーン/ビューポートに変更を加えることができます。 Copernicusに戻ると、そのFile COPの内容が自動更新されます。 レンダリングに時間がかかる場合、Copernicus内で直接そのレンダープロセスを監視することもできます。 それを行なうには、Alt + ⇧ Shift + Wで新しくフローティングパネルを開いて、ボタンをクリックして新規タブを追加します。 ドロップダウンメニューから New Pane Tab Type ▸ Viewers ▸ Composite View を選択します。 このビューアの機能はHoudiniのMPlayに非常に似ています。

Solarisと同様に、 Stop ボタンをクリックすると、レンダリングが終了します。 新しい画像を取得するには、再び Start ボタンをクリックします。

また、レンダリングタスクが実行中でも、Live Render LOPから出力された画像を他のCopernicusノードで処理することができます。 最終結果へのアクセス方法については、出力の閲覧の章で説明しています。

画像の保存

Render Galleryの画像をディスクに書き込む方法が2通りあります。 1つ目の方法は、MPlayのほとんどの機能に対応したRender Galleryの画像ビューアから画像を保存することです。

  1. 画像一覧ビューア内のライブレンダリングサムネイルをダブルクリックすると、それが画像ビューアに表示されます。

  2. 画像ビューア内の任意の場所をクリックして Save Frame を選択すると、 Save As ダイアログが開きます。そこで、 Filename を入力して、 Format を選択し、重要な設定を行ないます。

  3. Save をクリックすると、その画像がディスクに書き込まれます。

2つ目の方法では、画像一覧ビューア内のサムネイルをクリックして Snapshot Render を選択します。 これによって、ライブレンダリングの現在の進行状況を“フリーズ”させて、それをEXRファイルとしてディスクに保存します。 次に、その新規スナップショットのサムネイルをクリックします。 Load in File Browser を選択すると、お使いのオペレーティングシステムのファイルブラウザが開いて、その保存されたEXRファイルに直接アクセスすることができます。

SolarisとKarma

SolarisとUSD

  • USDの基本

    いくつかUSDの概念について取り上げ、それらの概念とHoudini USD対応との関係性について説明します。

  • LOPの挙動

    Solaris LOP(Lighting Operator)がUSDを生成/変更する際の挙動について説明します。

  • Solarisユーザインターフェース

    LOPネットワークとUSDデータを操作するためのユーザインターフェースの使い方を案内します。

  • プリミティブマッチングパターン

    USDプリミティブマッチング構文の使い方。

  • LOPとUSDの用語集

    USDわかりますか?

  • Solarisシーンビューア

    Houdiniオブジェクト/SOPビューアと比較したSolarisビューアの違い/拡張について説明します。

  • USDでのVEXの使い方

    スクリプトによってSolaris/USDをカスタマイズする。

  • USDへ書き出す方法

    USDデータをディスクに保存します。

  • SOP Geometry I/O

    HoudiniがSOPジオメトリをUSDに変換する方法、その工程を制御する方法の詳細。

  • Component Builder

    Component Builderツールは、マテリアル、バリアント、ペイロード、レイヤをサポートし、SOPからUSDモデルを作成するためのネットワークスニペットを配置します。

  • パフォーマンスTips

    Solarisのインタラクティブなワークフローを向上させます。

  • サンプルシーン

    SolarisとUSDを学習するのに役立つシーンとアセットを紹介します。

Karma

  • Karma

    Houdiniの物理ベースのUSDレンダラー。

  • Karma XPU

    Houdiniの高速でモダンなXPUレンダーエンジン。

  • カラーマネージメント

    OCIO、カラー空間、ガンマ、トーンマッピングについて詳しく学習します。

  • レンダリング統計

    進行中のレンダリングやレンダリング画像のレンダリングプロセスに関して、様々な統計情報を表示する方法。

Karmaユーザガイド

ルック開発

  • MaterialX

    HoudiniにはMaterialXシェーダノードに呼応させたVOPノードが用意されています。これらのノードを使用してシェーダネットワークを構築したり、既存のMaterialXベースのシェーダをインポートすることで、(HoudiniのUSDレンダラーの)KarmaでMaterialXシェーダノードを利用することができます。

  • UDIMパス

    テクスチャ空間の異なるタイルを、それぞれ別の解像度で、異なるテクスチャファイルにエンコードすることができます。その後、kaiju.exrといったテクスチャファイル名を指定すると、Houdiniがロード時にそのトークンを特定のタイルアドレスに置き換えてくれます。

  • シェーダ変換

    シェーダノードのUSDプリミティブへの変換を含む、Solarisシェーディングフレームについて説明しています。

  • Shotbuilderツール

    マルチショットパイプライン用便利ツール。

プロシージャル

補足ドキュメント