コンテンツにスキップ

LayoutAssetGalleryとLayout

ComponentBuilderでUSDアセットの作り方を紹介しましたが、
Houdini19では、作ったアセットを配置する(レイアウトする)きのうも大幅に強化されていたので
そのあたりを紹介しようと思います。

Layout

18.5では、USDアセットのレイアウトを使用とした場合
Stageに対してオブジェクトを1つずつ読み込んで配置するしかありませんでした。
PointInstancerなども以前こちらに書きましたが、SOPでPointを作成してからSOLARIS上で
ノードを作るなど、なかなか直感的ではありませんでした。

ですが、Houdini19で新しく追加されたLayoutノードと、LayoutAssetGalleryを使用すると
かなり直感的にインスタンスの配置ができるようになっています。

使ってみる

まず、SOLARISのStageで、Layoutノードを作成します。

Layoutノードを作ると、PointInstancerノードが作成できました。
次に、Layoutノードにインスタンス配置したいアセットを読み込みます。

NewPaneTabTypeからSolaris>LayoutAssetGalleryを開きます。
デフォルトだと何も入っていないので、

フォルダマークから、アセットのディレクトリを指定して
USDアセットを登録します。
今回は、Kitchen_setの assetsフォルダを指定します。

OKを押すと、サムネが自動で作成されます(そこそこ時間がかかる)

終わると、このようにアセットの登録ができました。

メモ
Kitchen_setはZupだけど、SOLARISはYupのようなのでサムネがおかしなことになった...

TabをBrushにして、
登録したアセットから、レイアウトしたいアセットをDrag&Dropで移動します。

Drag&Dropすると、PointInstancerにオブジェクトが登録されます。

Brushで配置する

これで配置する準備ができました。
配置するには、Brushを「Place1」に変更します。

使い方は、Viewportに表示されているので
それを参考にポチポチ置いてきます。
置いたところにPointが配置され、インスタンスオブジェクトが置かれます。

Place Up/Forwardを、配置するアセットに応じて変更し(Kitchen_setはZup)
配置するアセットを選択します。

あとは、ビューポート上をポチポチすると、インスタンスオブジェクトの配置ができます。

アセットを配置するときは、自動できちんと設置をしてくれます。

指定の範囲に配置する

次に、指定範囲内にばらまきたい場合。
この場合はFill1を使用して、矩形を指定します。
この場合もオブジェクトに沿った形で(机の上のようなところに)配置できます。

配置したPointを削除するにはDeleteBrushを使用します。

このあたりの操作は非常に直感的でわかりやすいです。

アセットの追加

Layout用のアセットを登録したい場合は、ComponentBuilderを使用すれば簡単に追加することができます。
https://fereria.github.io/reincarnation_tech/10_Houdini/11_SOLARIS/16_component_builder/#layoutassetgallery
追加方法やComponentBuilderの使い方は、↑のページにまとめましたので参考にしてください。

出力する・確認する

配置したあとは、USDROPで出力が可能です。

アセットは、PointInstancer以下のPrototypes以下にReferenceで読み込まれ配置されています。
もちろん出力したファイルもUSDなので、このファイルをどこかのShotにリファレンスして使うことも可能です。

まとめ

以上、Houdini19で追加されたLayoutノードをざっくり触ってみました。
https://fereria.github.io/reincarnation_tech/10_Houdini/11_SOLARIS/05_point_instancer/
PointInstancerに関しては以前も調べていましたが、その時に比べて
Brushを使ったレイアウトになっていて、非常に扱いやすく強力でした。

アセットの管理も、Layout Asset Gallery を使用すれば

カラータグや

お気に入り(★)を追加して、

細かくフィルタ表示もできるようになっているので、
USDベースで作成したアセットライブリが簡単に扱えるようになっているので
ComponentBuilderと合わせれば、USDでのレイアウト環境が整ったと思います。

LayoutBrushは自作もできるようなので、カスタマイズしていけば
さらに効率的にレイアウトができそうです。


最終更新日: 2022-07-12 01:36:00