すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

Solaris - シーン構築とSublayerの自分メモ

正直整理の仕方はあまり賢いとは言えないと思う。

USD自体はパイプラインや分業ありきだが、一人で使っていても便利な部分があるので

なんとなくこういう感じなのねーというのを把握するためのメモ

はじめに

Sublayerって実際どういう感じなの?とかどう運用するのか?の一例として。

今回は各工程ごとに1つのUSDファイルだが

Light、Camera、Geoをそれぞれ別のUSDファイルにしたりしてもっと小分けにしたほうがそれぞれ個別に処理できていいと思う。

ざっくりデータを作っての紹介

HIPファイル

sublayer_gd.hiplc - Google ドライブ

※岩のアセットは含まれていません。

USDの拡張子について

  • usd:ASCIIまたはバイナリのどっちでもOK(自動判定)
  • usda:ASCII
  • usdc:バイナリ
  • usdz:USDファイルとテクスチャなどをzipでまとめたもの

通常の運用であれば、ジオメトリ等のキャッシュは.usdcで運用し

シーンの構築データやレンダーシーンのUSDファイルは.usdaの運用が良さそう。

.usdは中身がどちらかわからなくなるので明示的にするためにも使用を控えるのが良さそう。

作例

Asset

素晴らしい先人に感謝

Layout LOP & Layout Asset Gallery | Fianna Wong | Houdini 19 HIVE - YouTube

Building Assets for the Asset Gallery | Houdini 19 - YouTube

Getting Started with the Asset Gallery | Houdini 19 - YouTube

Layout

f:id:godofsuama:20220326134920p:plain

先程のAssetをAsset Galaryに登録してLayoutで適当に配置

Animation

アニメーションとしているがベースのレイアウトとショットごとのレイアウトのほうが近いかも。

f:id:godofsuama:20220326135539p:plain

LayoutのUSDを受け取り作業開始。

一度分岐して最後にまたSublayerで結合している。

画像の右側がこの工程での編集・追加項目になり、

Layer Break〜Configure Layerまでがこの工程の処理としてUSDに書き出される。

f:id:godofsuama:20220326135735p:plain

f:id:godofsuama:20220326135934p:plain
Layoutを読み込んだだけの状態

f:id:godofsuama:20220326140010p:plain
編集後

Effect

前工程のUSDを読み込んで作業を始める。

それぞれのUSDファイルが各工程の編集・追加項目だけはいっているのでいらない工程などをオフにしたりもできる。

f:id:godofsuama:20220326140151p:plain

前工程と同様にLayer Break〜Configure Layer内がEffectの工程として書き出される。

炎を追加して更に不要な背景を削除している。

f:id:godofsuama:20220326140541p:plain

Lighting

前工程を読み込んでKey Lightを足した想定

f:id:godofsuama:20220326140808p:plain

前処理が複雑でいろいろなデータを内包していたとしてもシンプルな構成で処理できる。

覚えておくと良さそうなノード

データ整理・読み込みなど

Layer Break

このノードより上流をUSD書き出し時に含めない

https://www.sidefx.com/ja/docs/houdini/nodes/lop/layerbreak.html

Configure Layer

レイヤーのメタデータを編集する〜

Layer BreakやDefault Prim等、接続部分のレイヤーの定義を設定して整理できる。

コメントなどもつけられるので後工程に渡すときとかにも。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/configurelayer.html

Graft Stage

整理に使いやすいので例で多用しているが使用には気をつけたほうが良いんじゃないかと思っているノード

第二入力を第一入力の子供にすることができる。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/graftstages.html

https://www.sidefx.com/ja/docs/houdini/nodes/lop/graftbranches.html

Primitive

空っぽの階層を作れる。

階層構造や整理の起点となる部分を作りたいときに便利。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/primitive.html

Sublayer

Sublayer Typeの設定次第で、第二入力もしくはファイルから第一入力を上書きすることができる。

階層が同じものを上書きし、第一入力にないものはマージされる。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/sublayer.html

Reference

Reference Typeの設定次第で、Reference/PayloadとしてUSDファイルや第二入力から読み込める。

Payloadに設定すると指示しない限りデータを読み込まないようにも設定することができる。

Prune

SOPでいうBlastノードに近い。ただし削除しているのではなく表示・非表示を切り替えている。

単に不要な場合以外にも特定のレンダーに含めたくないものがあるときなどにも使える。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/prune.html

Merge

SOPのものよりも入力の順番が重要になるので注意

油断しているとエラーや途中の処理がUSDファイルとして書き出されてしまう。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/merge.html

Collection

Houdiniで言うBundle Listを作成できる。

作成したCollectionはマテリアルアサインなどのPrim選択処理に使用することができる。

表記の方法が2種類あり画像のどちらの方法でも指定できる。

「/collections.collection:コレクション名」

が基本の指定方法。


その他、ルートのcollections直下の階層にある場合に限り、

「%コレクション名」

で指定することができる。

どんなCollectionがあるかはScene Graph Treeの下の方で確認できる。

f:id:godofsuama:20220326192942p:plain

https://www.sidefx.com/ja/docs/houdini/nodes/lop/collection.html

Light

Light Linker

独特のUIでLightの影響を受ける・受けないを一括で管理できる。

f:id:godofsuama:20220326145211p:plain

https://www.sidefx.com/ja/docs/houdini/nodes/lop/lightlinker.html

Light Mixer

Lightの複数アトリビュートの一括管理ができる。

Lighting工程向けか?

f:id:godofsuama:20220326145532p:plain

https://www.sidefx.com/ja/docs/houdini/nodes/lop/lightmixer.html

インスタンスや複製

Modify Point Instance

Point Instanceを個別に編集できる。(Point Instanceのまま移動回転表示非表示等)

Point Instancesで「Instanceのパス[Instance番号]」で選択し

デフォルトだと内部のSOPでTransformなどを使用して編集ができる。

Pruneの項目で表示非表示なども設定可能。

f:id:godofsuama:20220326143911p:plain

https://www.sidefx.com/ja/docs/houdini/nodes/lop/modifypointinstances.html

Extract Insatnce

インスタンスを実体化して実際に編集可能にする。

https://www.sidefx.com/ja/docs/houdini/nodes/lop/extractinstances.html

Duplicate

複製する。デフォルトで何故か2個複製するのでオリジナルと合わせて3個になるので注意。

f:id:godofsuama:20220326144424p:plain

https://www.sidefx.com/ja/docs/houdini/nodes/lop/duplicate.html

Add Variant / Set Variant

Variant、要はインスタンス用のパターンやバリエーションを作る際に。

cgwikiの偉大なチュートリアルを見るのが早い。

https://www.tokeru.com/cgwiki/index.php?title=HoudiniLops#Instancing_and_variants