Houdini 21.0 SolarisとKarma

サードパーティ製レンダーデリゲート用のレンダリング統計情報の実装

On this page

Tip

これは、サードパーティ製のHoudini用レンダラープラグインの開発者向けの情報です。 現在のところ、Karma用に表示される統計情報をカスタマイズすることはできません。

概要

Houdini21.0以降では、サードパーティ製レンダーデリゲートは、Statsパネル(Render GalleryやMPlay内の統計情報サイドバー)内にレンダリング統計情報を表示することができます。

Note

サードパーティ製レンダーデリゲートは、GetRenderStats()デリゲートメソッドを実装しなければなりません。 このパネルは、そのメソッドの出力に含まれている統計情報だけを表示することができます。

サードパーティ製レンダラーから統計情報を表示するには、2通りの方法があります。

汎用テンプレートが非常に簡単な方法です。この主な欠点は、すべてのデリゲートに共通する統計情報の“スキーマ”しか表示できないことです。

QMLテンプレートを記述することで、何をどのように表示するかを完全に制御することができますが、QMLの知識が必要になります。

Warning

この機能はまだ実験段階です。 レンダーデリゲートの統計情報が表示されない問題に遭遇した場合は、バグを報告してください。

汎用テンプレート

UsdRenderers.jsonファイルにカスタムQMLファイル(下記参照)が指定されていない場合、Houdiniは汎用テンプレートを使用して、特定の名前の統計情報を差し込みます。 Houdiniのビューポート統計情報と同様に、UsdRenderers.json内にstatsdatapathsキーを使用することで、既存の統計情報を“正規”の名前にマッピングすることができます。

現在のところ、汎用テンプレートは、以下の統計情報のみを表示しますが、簡単に追加することができます:

  • fractionDoneまたはpercentDone(float)

  • totalClockTime(float。秒数) (これとpercentDone/fractionDoneの両方を公開した場合、汎用テンプレートは残り推定時間も表示します)

  • rendererName (string)

  • rendererStage (string)

  • totalMemory (int)

  • peakMemory (int)

カスタムQML

UsdRenderers.jsonfile内のデリゲートのセクションに、QMLファイルを指したqmlTemplateキーを追加します。例:

{
   "my_delegate": {
       "qmlTemplate": "/Users/matt/my_delegate.qml"
   }
}

文字列には、ファイルパス、file:http:URLを指定することができます。

QMLでは、stats変数を介してGetRenderStats()のデータにアクセスすることができます。 現在のHoudiniビューポートと同様に、UsdRenderers.json内にstatsdatapathsキーを使用して指定されたデータが含まれます。

例えば、percentDone値のみをテキストとして表示する非常に単純なQMLファイルを以下に載せます:

import QtQuick
import houdini.ui

Column {
    width: parent.width
    Text {
        width: parent.width
        text: `${stats.percentDone} % complete`
        font.pixelSize: 48
    }
}

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ツール

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

プロシージャル

補足ドキュメント