LoginSignup
1
1

Layout Node [Mardini2024]

Last updated at Posted at 2024-03-17

これはMardini2024のDay4 Layout Node の動画を視聴してまとめたものです。

動画

image.png

公式のサンプルファイル

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関連の作業が容易になります
    • image.png
    • image.png

サンプルファイル

SOP

GEOMETRY には3つのジオメトリ、VASE・BOX・SHELL の3つのモデルです。

image.png

LOP(Stage)

grid上でレイアウト操作に慣れる用のノード、GEOMETTRYから持ってきた3つのレイアウトが含まれています

image.png

操作手順

レイアウト

image.png

  • 新しいlop networkを作成し、その中にGridノードとLayoutノードを作成します

  • Layoutノードの入力にシーンのジオメトリ(Gridなど)を接続します

    • image.png
  • LayoutノードのAsset Galleryをクリックし、デフォルトのアセットライブラリからアセットをドラッグ&ドロップします

    • テディベアのアイコンをクリックします
    • image.png
    • 今回はバレルのモデルを選びます
    • image.png
  • 「Place」ツールを選択し、シーン上でクリックするとアセットが配置されます

    • image.png

    • ドラッグすると、スケールと向きを変更できます。マウスホイールの移動で別のオブジェクトに変更できます

    • image.png

  • 「Fill」ツールのScatterオプションを使えば、範囲を指定してアセットをランダムに配置できます。設定を調整することで密度やスケールを変更できます

    • image.png
    • ここのパラメータはScatter and alignのパラメータに似ています
    • ブラシ形状はBrushタブのBrush Modeで選択します
      • image.png

      • image.png

自作のアセットを作成する

  • まず、最初にAsset GalleryのギアマークからCreate New Asset Database File..を選択します
    • image.png
    • 自分の好みのデータベース名をつけます
    • image.png
    • 新しい空のデータベースができました
    • image.png
    • テディベアアイコンを押すとAdd New Assetウインドウが表示されます
    • image.png

Component Builder

  • では実際に適切なロードができるアセット生成を、どのように行うのかというと「Component Builder」を使用します

    • image.png
    • image.png
  • ComponentGeometryノードのSourceをExternal SOP Networkに変更します

    • image.png
    • GEOMETRY内のBOXを参照します。Component GeometryのDefault/RenderにSOPのパスを指定します
    • /obj/GEOMETRY/BOX
  • ComponentMaterialの左側にジオメトリ、右側にマテリアルが指定されているので、次は右側のマテリアルを設定します

    • MaterialLibrary(materiallibrary1)のネットワークの中に入ります
    • Karma Material Builderを作成します(名前はkarmamaterialからBOXにします)
    • image.png
  • 作成したままのノード名だと、GeometrySpreadsheet上でこれがなんのオブジェクトなのかがわかりません

    • image.png
    • そこで、ComponentOutputノードの名前をわかりやすい名前に変えます。今回はbox_assetにします
    • image.png
  • 最後のノードを目的のアセット名に変更できたら、ComponentOutputノードで「Save to Disk」と「Generate Thumbnail」を実行します。うまく実行できれば、Locationで指定した場所にファイルが出力されています。デフォルトでは
    $HIP/usd/assets/`chs("name")`/`chs("filename")` 

    • image.png
  • Layoutノードの「Asset Gallery」から「Add Asset」を選び、作成したアセットのUSDファイルとサムネイル画像を指定して登録します

    • image.png
    • image.png
      image.png

積み重ね

image.png

  • スタックツールを使えば、アセットを積み重ねて配置できます
  • 物理ベースドな配置をしたい場合は、LayoutノードのOptionsタブ。MethodをInstanciable Referenceにします
    • image.png
  • 次にEditノードを追加し、Use Physicsを適用。Add Physicsボタンを押します。その状態で、反映させたいオブジェクトを選択した状態でギズモを下に下げます。すると重力落下させることができます
  • image.png

image.png

まとめ

Layoutノードを使ってあらかじめ用意したアセットをシーンにスムーズに配置できます。自作のアセットも追加登録が可能です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1