On this page |
多大な労力をかけて、リアルなフェザーや洗練されたグルームを生成しました。
次は、その傑作をレンダリングしたいことでしょう。
Houdiniのフェザーシステムは、Solaris、Karma CPUおよびXPUレンダーエンジンと密接に連携しています。
レンダリングワークフローの肝は、Houdini Procedural: Feather LOPです。
Houdini Proceduralsは、レンダリング時にステージ上にプリミティブを作成したり変更するためのレンダラーに依存しない仕組みです。
プロシージャルはアニメーションや完全なグルームには最適ですが、静止画や何本かの個々のフェザーだけをレンダリングしたい場合もあります。 この場合、Uncondensed(具現化)されたバージョンのフェザーをSolarisにインポートし、Houdini Procedural:Feather LOPを 使用せずに レンダリングを行ないます。
Tip
レンダリングネットワークを作成し始める前に、Houdiniのデスクトップを変更することを推奨します。 メインメニューバーから、最初のドロップダウンメニュー(デフォルトでは Build に設定されています)を開き、 Solaris または Solaris LookDev を選択します。 重要なのは、シーンのプリミティブや階層が表示されるScene Graph Treeにアクセスできるようにすることです。
Component Builder ¶
Component Builderは、次のLOPネットワークの肝になります。 もちろん別のセットアップを使用しても構いませんが、このComponent Builderは非常に使い勝手が良く、強力で便利なツールです。 マウスカーソルをネットワークエディタ上に置いて⇥ Tabを押して開くTabメニューからこのツールを見つけることができます。 そこから、 Component Builder を選択します。 このツールは、4個のノードで構成されたネットワークを作成しますが、プロシージャルを実現するには、いくつかの他のノードも必要になります。
Component Builderは、Scene Graph Tree内に特定の階層を確立します。 Solaris デスクトップで作業している場合、UIの左下コーナーにScene Graph Treeを見つけることができます。 Component Builderのデフォルトの階層と名前は、グルームとComponent Builderを接続する際に重要な役割を果たすので、それらを使用することを推奨します。
Note
Component Builderのマテリアル関連のノードは、以下の考察では重要でないので、このページの最後の別セクションで説明します。
以下のスクリーンショットには、そのネットワークの関連ノードを表示しています。 赤 のオペレータは、Component Builderの元々のノードです。 青 のノードは、セットアップを動作させるために追加する必要があるノードです。

-
ここでは、SOPネットワークからのデータが必要なので、
Component Geometry LOPの Source メニューから External SOP Network を選択します。
-
Default/Render パラメータには、レンダリングセットアップからの
RENDER_GROOM
のパスを指す必要があります。そのパスを取得するために、ボタンをクリックして、その
RENDER_GROOM
NULL SOPを選択します。 Accept をクリックして選択を確定します。これで/ASSET/geo/groom
エントリーが入ります。このgroom
はレンダリングセットアップ内のName SOPによって定義した名前です。
プリミティブの作成 ¶
この工程の背後にある考え方は、基本的に既存のカーブのコピーの作成なので、いますぐにこれが何のためにあるのか分からないかもしれませんが、 このコピーによって、プロシージャルで必要とされる最も基本的なアトリビュートのみが用意できるようになります。 そのため、よりリソースに優しいバージョンが得られます。
-
Primitive LOPを追加し、それをComponent Geometry LOPと
Component Material LOPの間に配置して接続します。
-
Primitive Path パラメータに
ASSET/geo/procdural
と入力します。すると、その新しいプリミティブがScene Graph treeに表示されます。 -
Primitive Type ドロップダウンメニューから BasicCurves を選択します。
静止状態とアニメーション状態 ¶
後で追加するHoudini Procedural:Feather LOPには Deformer Rest パラメータと Deformer Anim パラメータが用意されています。
レンダリングセットアップで既にRENDER_DEFORMER_REST
とRENDER_DEFORMER_ANIMATION
のSOPネットワークブランチを作成済みであり、それらのパラメータには、まさにそれらのネットワークブランチが必要であることを忘れないでください。
-
SOP Import LOPを追加し、それを Primitive LOPとComponent Material LOPの間に配置して接続します。
-
そのSOP Import LOPの SOP Path パラメータで、
ボタンをクリックして
RENDER_DEFORMER_REST
Null SOPを選択します。 Accept をクリックします。 -
Sublayer Style ドロップダウンメニューから Copy SOP Layer Into New Active Layer を選択してパフォーマンスを上げます。
-
Import Path Prefix パラメータは、このノードが取り込んだデータをScene Graph Treeの正しいブランチに追加します。Component Builderのデフォルトパスを変更しなかった場合、このエントリーは
ASSET/geo
です。 -
Primitive Definition セクションには、別のパフォーマンストグルが用意されています。そこでは、 Define Only Leaf Primitives の 2個 のトグルを有効にします。
-
最後に、 Kind Authoring パラメータを有効にして、そのドロップダウンメニューから None を選択します。
⌃ Ctrl + Cと⌃ Ctrl + Vを使用して、そのSOP Import LOPをコピー・アンド・ペーストします。
それをコピー元のSOP Import LOPの直下に接続します。
唯一変更する必要があるのは、 SOP Path です。
再び、ボタンをクリックしますが、今回は
RENDER_DEFORMER_ANIMATION
Nnull SOPを選択します。
これで、それら2つの状態がScene Graph Treeの一部になっていることが分かります。
Feather Procedural ¶
これから追加するHoudini Procedural:Feather LOPにもいくつかの準備が必要です。 Houdini Procedural:Feather LOPは、すべてが集まる場所となるノードです。 Scene Graph Treeからそれらのエントリーをそのプロシージャルのパラメータにドラッグするか、または、それらのパスを手動で入力します。
-
Houdini Procedural:Feather LOPを配置し、それを最後のSOP Import LOPとComponent Material LOPの間に配置して接続します。
-
Procedural Prim パラメータに、
ASSET/geo/procedural
と入力します。 -
Groom Rest パラメータには、
/ASSET/geo/groom
と入力します。このパスは、既にComponent Geometry LOPで作成したものなので、これが何なのかお分かりだと思います。 -
Deformer Rest パラメータには、
/ASSET/geo/deformer_rest
を設定します。 -
最後に、 Deformer Anim パラメータに
/ASSET/geo/deformer_anim
を設定します。 -
モーションブラーを得たいのであれば、 Transfer Velocity を有効にして、フェザーサーフェスから
v
とw
のアトリビュートを読み込みます。
Scene Graph Treeを見ると、procedural
エントリーが変わったのが確認できます。
リファレンス ¶
Component Output LOPの出力をリファレンスに変換するのは必須ではありませんが、よく行なわれる処理です。
このセットアップでは、
Asset Reference LOPが関連するシーンエレメントを収集し、わかりやすく配置された新しいツリー構造を作成します。
-
Asset Reference LOPを追加し、その 2番目 (!)の入力をそのComponent Output LOPの出力に接続します。
-
Destination Primitive パラメータに、
/world/toucan
または他のカスタムパスを入力します。しかし、/world
はUSDワールド内で既定されている接頭辞です。ライトやカメラなどの追加エレメントも/world
下に存在していることに注意してください。
最終工程 ¶
現時点では、3つのSOPストリーム(groom, rest, animation)すべてがまだ表示されたままになっており、その結果が正しくありません。 ビューポートでは、フェザーがSOPネットワークのものと異なっているのが分かります。 そのため、Houdini Procedural: Featherの出力のみを維持するためにSOPストリームを削除する必要があります。
-
Configure Primitive LOPを配置し、その入力をAsset Reference LOPの出力に接続します。
-
Primitives パラメータには、そのSOPネットワークで生成されたすべてのジオメトリプリミティブを含めなければなりません。新しいリファレンスパスを使用しなければならないことに注意してください。
*
などのワイルドカードを使用することで、共通の接頭辞または接尾辞を持つプリミティブを取得することができます。このセットアップのエントリーの例は以下のとおりです。/world/bird/geo/deformer_* /world/bird/geo/groom
-
Visibility トグルを有効にし、そのドロップダウンメニューから Invisible を選択して、それらのオブジェクトを非表示にします。
-
最後に、
Houdini Preview Procedurals LOPを追加して、レンダリング時のフェザーのみをビューポートに表示します。その入力をそのConfigure Primitive LOPの出力に接続します。
マテリアル ¶
フェザーを表示するには基本マテリアルが必要で、まず最初にシェーダが必要です。 シェーダーは個人の好みやプロダクション要件に大きく依存します。 したがって、シェーダの接続方法のみを学習します。 シェーダの構築の詳細については、Karmaユーザガイドを参照してください。
-
Material Library LOPをダブルクリックして、その中に入ります。そこでTabメニューを開き、 Karma Material Builder ツールを選択します。そのノードの名前を
feather
に変更します。 -
その新しい
feather
ノードをダブルクリックして、その中に入ります。 -
Karma Hair VOP または
Karma Fur VOPを配置し、シェーダの
surface
出力をSubnet Output VOPの
surface
入力に接続します。 -
調整を行ない、
MtlX Image VOPを通してテクスチャをロードし、シェーダを完成させます。その後、 stage レベルに戻ります。
-
Material Library LOPを再度選択し、 Material Path Prefix に移動します。
/ASSET/mtl
と入力します。これはComponent Material LOPによって作成されたパスで、シェーダがあるはずの場所です。
ライト、カメラ、レンダリング設定 ¶
適切に動作させるには、レンダリング設定に加え、光源とカメラも必要です。
-
光源を追加し(
Environment Light LOPなど)、その入力をHoudini Preview Procedurals LOPの出力に接続します。環境光(Environment Lightノード)では、HDRテクスチャをロードし、イメージベースドライティングを設定できます。
-
ビューポートで、Alt +
、Alt +
、Alt +
の組み合わせを使用して、回転、パン、ズームします。適切な視点が見つかったら、Viewport Optionsメニューに移動し、 No Cam を New Camera に変更します。
これにより、新しい
Camera LOPが作成され、それが光源に接続されます。
-
最後にTabメニューを開き、 Karma ツールを選択します。このツールによって、
Karma Render Settings LOPと
USD Render OUTが追加されます。そのKarma Render Settings LOPの 1番目 の入力をカメラの出力に接続します。
Karma Render Settings LOPは、画像解像度、モーションブラー、ノイズ除去などの調整を行なうことができます。 USD Render OUTは、フレーム範囲を定義します。 Render to … ボタンのいずれかを押してレンダリング処理を開始します。
ビューポートレンダリング ¶
ビューポートをレンダリングして、ルックデブ用などに最終シーンをプレビューしたり、シェーダやテクスチャの全体的な印象を確認することができます。
ビューポートの右上に小さいドロップダウンがあり、デフォルトで Persp になっています。 そのメニューを開き、例えばビューポートのレンダリングに Karma CPU を選択します。 その他のレンダーデリゲートもここに表示されます。 Karma XPU を使用すると、Optix GPUエンジンが作動するまでに時間がかかる場合がありますが、それは、すべてのシェーダを最初にコンパイルする必要があるからです。 また、フェザーのレンダリングには大量のメモリが必要な場合があることも考慮してください。 もちろん、他の利用可能なレンダーデリゲートを選択することもできます。
ビューポートレンダリングは、下図のように表示されるはずです。