これはMardini2024のDay4 Layout Node の動画を視聴してまとめたものです。
Day3 Scatter And Align | Day4 Layout Node | Day5 Light Mixer
Layoutノードを使うと、あらかじめ用意したアセットライブラリからジオメトリをシーンに配置することができます。
要約
- LayoutノードはLOP Solarisコンテキスト(Stage)で動作する
- Layoutノードにはアセットライブラリが接続される
- アセットライブラリにはあらかじめ作成したジオメトリとマテリアルが登録されている
- Layoutノードの各ツールを使って、アセットをシーンに配置できる
- アセットはインスタンスとして配置され、パフォーマンスが優れている
- 自作のアセットもコンポーネントビルダーで作成し、ライブラリに登録できる
LOPについて
- LOPコンテキストのStageで作成しても、LOPネットワークをobj上で作成してもどちらでも可能です
- LOP内に入ると右上にはSolarisと表示されます
- Stageレベルとも呼ばれます
- DesktopをSolarisデスクトップに変更します、これでLOP関連の作業が容易になります
サンプルファイル
SOP
GEOMETRY には3つのジオメトリ、VASE・BOX・SHELL の3つのモデルです。
LOP(Stage)
grid上でレイアウト操作に慣れる用のノード、GEOMETTRYから持ってきた3つのレイアウトが含まれています
操作手順
レイアウト
-
新しいlop networkを作成し、その中にGridノードとLayoutノードを作成します
-
Layoutノードの入力にシーンのジオメトリ(Gridなど)を接続します
-
LayoutノードのAsset Galleryをクリックし、デフォルトのアセットライブラリからアセットをドラッグ&ドロップします
-
「Place」ツールを選択し、シーン上でクリックするとアセットが配置されます
-
「Fill」ツールのScatterオプションを使えば、範囲を指定してアセットをランダムに配置できます。設定を調整することで密度やスケールを変更できます
- ここのパラメータはScatter and alignのパラメータに似ています
- ブラシ形状はBrushタブのBrush Modeで選択します
自作のアセットを作成する
- まず、最初にAsset GalleryのギアマークからCreate New Asset Database File..を選択します
Component Builder
-
では実際に適切なロードができるアセット生成を、どのように行うのかというと「Component Builder」を使用します
-
ComponentGeometryノードのSourceをExternal SOP Networkに変更します
-
ComponentMaterialの左側にジオメトリ、右側にマテリアルが指定されているので、次は右側のマテリアルを設定します
-
作成したままのノード名だと、GeometrySpreadsheet上でこれがなんのオブジェクトなのかがわかりません
-
最後のノードを目的のアセット名に変更できたら、ComponentOutputノードで「Save to Disk」と「Generate Thumbnail」を実行します。うまく実行できれば、Locationで指定した場所にファイルが出力されています。デフォルトでは
$HIP/usd/assets/`chs("name")`/`chs("filename")`
-
Layoutノードの「Asset Gallery」から「Add Asset」を選び、作成したアセットのUSDファイルとサムネイル画像を指定して登録します
積み重ね
- スタックツールを使えば、アセットを積み重ねて配置できます
- 物理ベースドな配置をしたい場合は、LayoutノードのOptionsタブ。MethodをInstanciable Referenceにします
- 次にEditノードを追加し、Use Physicsを適用。Add Physicsボタンを押します。その状態で、反映させたいオブジェクトを選択した状態でギズモを下に下げます。すると重力落下させることができます
まとめ
Layoutノードを使ってあらかじめ用意したアセットをシーンにスムーズに配置できます。自作のアセットも追加登録が可能です。