Houdini19.0 Solaris(USD) 変更点紹介 Part3
はじめに
Youtubeにて動画を公開しておりますので、併せてご覧ください。
動画内と同じシーンファイルを配布いたします。
URLは下記になります。
https://drive.google.com/file/d/1JnAV536xEBjLWDScMMYsSu8p2xlW8DBe/view?usp=sharing
-------------------------------------------------------
USDのアセット
Houdini19.0より新しく追加されたノードで、Houdni19.0で追加された「Layout Asset Galleryタブ」(以降:Asset Galleryタブ)と合わせ使用することで、読み込んだUSDアセットを任意のサイズや位置に対して配置することや、ランダムな配置が可能な機能です。
さらに、モデルを配置した後に、指定範囲を移動させたり、向きの調整するといった処理が可能です。
こちらの機能により。Houdini18.5までとは全く異なる方法でLOP階層のレイアウトが可能になりました。
また、こちらの機能は前回解説した「Component Builder」と組み合わせ、
サムネイル付きのUSDアセットを「Asset Galleryタブ」に読み込ませることで、視覚的に配置する対象をわかりやすくできるほか、効率よくUSDアセットを読み込ませ、レイアウトを行うことが可能となります。
プラスマークをクリックし、
New Pane Tab Type > Solaris > Layout Asset Gallery
を選択します。
すると、新しく「Asset Galleryタブ」を開きます。
このタブ内にUSDアセットを(サムネイル付きで)読み込むことでLayoutの機能で読み込んだアセットを使用することが可能になります。
では、このタブ内にUSDアセットを読み込みます。
USDアセットを読み込む方法は
・読み込む際の名前やアセット、サムネイルを手動で設定する方法
・指定したディレクトリ内にあるサムネイルを含むアセットデータを自動で読み込む方法の2種類があります。
では、その各設定方法を紹介していきます。
読み込む際の名前やアセット、サムネイルを手動で設定する方法
サムネイル付きのUSDアセットを手動で読み込む場合は、「Asset Galleryタブ」の左上にある「クマのマーク」をクリックします。
すると下の画像のように、新しいウィンドウが開かれます。
こちらのウィンドウでは、
・「Asset Galleryタブ」内で表示される表示名を決める「Name」
・ 読み込むUSDデータを指定する「File」
・「Asset Galleryタブ」内で表示するサムネイルを指定する「Thumbnail」
の項目があります。
この各項目に対して、
任意の名前をデータを設定します。
すると下の画像のように、読み込んだサムネイルの画像がウィンドウの右側に表示されます。
ここで読み込んでいるデータは、配布しているファイルの
Houdini19_USDPart3 > layout_scene_files > date_palms_usd > palm_short
のディレクトリ内にある
・palm_short.usd(USDアセット)
・thumbnail.png(サムネイル用の画像)
です。
また、「Name」は「Palm_short」に設定してあります。
このように、表示名と、USDデータ、サムネイルの画像が選択できたら、「OK」のボタンをクリックします。
すると、「Asset Galleryタブ」内に、設定したサムネイル付きでUSDデータが読み込まれます。
こちらが、読み込む際の名前やアセット、サムネイルを手動で設定する方法です。
・指定したディレクトリ内にあるサムネイルを含むアセットデータを自動で読み込む方法
読み込むUSDアセットのデータとサムネイル画像が別々のディレクトリなどにあり、パスを正確に設定しなければならない場合は、さきほど紹介した読み込み方法が有効ですが、Component Builderなどを使用してUSDアセットとサムネイルを書き出している場合は、基本的にUSDアセットと、サムネイルが同一ディレクトリ内に存在するため、ここから説明する、指定してたディレクトリ内にあるサムネイルを含むアセットデータを自動で読み込む方法を実行することをお勧めします。
また、先ほどまでの方法では、1つずつのUSDアセットのみしか読み込むことができませんでしたが、ここで説明するアセットデータの自動読み込みを行うことで、USDデータを一括で読み込むことができるようになります。
では、実際に、使用方法をご紹介します。
まず初めに、先ほどUSDアセットを読み込む際に使用した「クマのマーク」の横にあるフォルダのマークを選択します。
すると、先ほどとは異なり、指定のディレクトリのみを選択するためのウィンドウが開きます。
こちらのウィンドウで、USDアセットが格納されているディレクトリの最上層を指定します。
ここでは、配布しているファイルの
Houdini19_USDPart3 > layout_scene_files
を指定しています。
このように読み込むディレクトリの設定が完了したら、「OK」をクリックします。
すると、指定したディレクトリ内に存在するUSDアセットをすべてサムネイル付きで「Asset Galleryタブ」内に読み込むことができます。
補足ですが、ここで読み込まれている各USDアセットはすべて、自動的に名前が設定されています。
これらの名前は、各USDアセットが格納されているディレクトリの名前とUSDアセットの名前に依存します。
ディレクトリ名と「.usd」の拡張子を持つUSDアセット(データ)がそれぞれ同じ名前を持っている(大文字 / 小文字の区別なし)場合、ディレクトリの名前を継承して「Asset Galleryタブ」内にサムネイル付きでデータを読み込みます。
また、読み込む際のサムネイルに関しても、サムネイルの画像名が「thumbnail.png」でない場合は、うまくサムネイルが読み込めない場合がありますので、基本的に、出力されたサムネイル画像の名前はデフォルトで設定されている「thumbnail.png」から変更しないことをお勧めします。
なお、外部で作成したサムネイルを使用する場合は、USDアセットと同じディレクトリ内に画像を移動させ、ファイル名を「thumbnail.png」に変更して使用することもできます。
以上が、「Asset Galleryタブ」に対して、サムネイル付きでUSDアセットを読み込む方法です。
・Asset Galleryタブ内でのUSDアセットへのタグ付け
さらに、このAsset Galleryタブでは、読み込んだUSDアセットに対して、タグをつけ、管理することができます。
ここでは、読み込んだアセットを全体を確認できるように、「Asset Galleryタブ」をフローティングウィンドウとして表示しています。
アセットに対してタグを設定する際には、タグを設定したい対象のアセットを選択し、選択したアセット上で右クリックします。
すると下の画像のように、設定するタグなどを選択するメニューが表示されます。
このメニュー内で、任意の色を選択することで、選択されたアセットに対して、タグをつけることができます。
今回は、例として「Blue」のタグをつけています。
このように、青色のタグをつけることで、選択されたアセットのアイコン上部に青色のタグが表示されます。
このタグ付けによって膨大なアセットを読み込んだ際に、タグのついたもののみを呼び出すことができるようになり、使用したいアセットに即座にアクセスできるようになります。
今回は例として、以下のようにカテゴリごとにタグ付けを行いました。
このようにつけたタグはAsset Galleryタブの左上にある「漏斗とギアのアイコン」をクリックすることで操作が可能です。
アイコンをクリックするとウィンドウ(タブ)の右側に、タグで設定可能な色が一覧で表示されます。
この中から任意のタグの色を選択することで選択されたタグのついたアセットのみを表示できるようになります。
その際に、下の画像のように「All of the following」の項目を「Any of the following」に変更することをお勧めします。
「Any of the following」を選択した状態で、任意のタグ(今回は青)を選択すると、選択されたタグがついているアセットのみを表示することができます。
また、「All of the following」の項目を「Any of the following」に変更することで、選択されているタグを1つでも含むものを表示することができるようになります。
こちらを「All of the following」から変更しなかった場合は、選択されているタグをすべて含む物が表示されます。
「All of the following」の設定はアセットに対して「スター」(お気に入り)をつける場合に、「スターがついており、かつ〇〇色のタグのついたアセット」というような設定を行う際に、使用することをお勧めします。
それ以外は、基本的に、「Any of the following」を選択することをお勧めします。
以上がAsset Galleryタブに関する説明です。
Houdini内でのLayout
では、実際に、Houdni19.0より追加された「Layout LOP」の使用方法をご紹介します。
まずは、Layout LOPを作成します。
ノードが作成できたら、使用するUSDアセットを「Asset Galleryタブ」より選択します。
「Asset Galleryタブ」より、Layoutに使用する物をすべて選択し、パラメータ下側にスペースに対してドラッグアンドドロップします。
すると下の画像のように、ドラッグアンドドロップしたスペースに対して、「Asset Galleryタブ」表示されていた物が挿入されます。
これで、Layoutを行う準備は完了です。
補足ですが、ここで読み込んだアセットには「Asset Galleryタブ」内でタグをつけていませんが、タグをつけた状態のアセットを「Layout LOP」に読み込んだ場合は、アセットに対しタグを設定した状態で読み込むことも可能です。
また、「Layout LOP」のパラメータに内にある「クマのマーク」をクリックすることで、「Asset Galleryタブ」のフローティングウィンドウを開くことができ、アセトの読み込みやタグ付けを行うことも可能です。
では、次に、実際に、読み込んだアセットを使用した「Layout LOP」によるレイアウトの方法をご紹介します。
ノードを使用してレイアウトを行う際には、ノードのパラメータ内から任意のブラシを選択し、レイアウトを行います。
ノードがデフォルトで持つブラシは、以下の画像で表示されている6種類です。
このブラシは、「Delete」「Fill」「Nudge」「Orient」「Place」「Scale」の6種類があり、それぞれの機能は、
「Delete」:指定した(ブラシによってなぞった)範囲のアセットを削除します
「Fill」:指定した範囲内に、ランダムに選択されているアセットを複製します
「Nudge」:指定した範囲のアセットの位置をドラッグアンドドロップによって移動します
「Orient」:指定した範囲内のアセットの回転角を変更します
「Place」:指定した位置に、選択したアセットをサイズ、角度を設定して配置します
「Scale」:選択した範囲のアセットのスケールを変更します
となります。
こちらのブラシを使用して、シーンビュー上にて、レイアウトを行います。
基本的に
モデルを配置する際には、「Fill」と「Place」のブラシを使用し、その後の調整として「Delete」「Nudge」「Orient」「Scale」を使用します。
では、まずこの各ブラシの使用方法をご説明します。
配置用ブラシの説明
「Place」
この「Layout LOP」はデフォルトでは「Place」が選択されています。
「Prace」の機能は先ほども解説したように、指定した位置に、選択したアセットをサイズ、角度を設定して配置することができます。
Houdiniのシーンビュー上では、以下のように、マウスカーソルがある場所に任意のモデルを配置することができます。
モデルを配置する場所が決まったら、マウス左ボタンを長押しします。
その状態で、マウスを動かすことで、モデルのサイズと回転角を調整することができます。
そして、向きとサイズが決定したら、ボタンを放します。
するとサイズ向きを任意に設定したモデルを配置することができます。
ここでモデルを配置する際には、デフォルトの状態(アセットを何も選択していな状態)では、読み込んでいるアセットの一番上の列の一番左のアセットを配置することができます。
使用するモデルを変更する場合は、使用するアセットの左上にあるトグルを有効にすることで変更が可能です。
このトグルが有効になっている状態で、シーンビュー上にカーソルを移動すると、配置するアセットが変更されます。
さらに、使用するアセットは、複数選択することができます。
そのために、使用するすべてのアセットのトグルを有効にし、複数のセットを選択します。
この状態で、シーンビューにマウスカーソルを移動してみると表示されるセットは1つですが、シーンビュー上で「マウスホイールをスクロール」することで、選択されているアセットを切り替えることができ、任意のアセットを配置することができます。
※使用するアセットにチェックが入っていない場合にシーンビュー上でマウスホイールをスクロールすると、ノードに読み込まれているすべてのアセットに切り替えることができます。
また、「Place」のブラシは、パラメータを変更することで、Up方向の変更や、配置時にランダムな回転、リサイズを加えることも可能です。
以上が「Place」のブラシの使用方法です。
「Fill」
次にもう1つの配置用のブラシである「Fill」の使用方法をご紹介します。
「Fill」のブラシは、指定した任意の範囲に対して、選択されているアセットをランダムに配置することができます。
デフォルトでは、Grid(四角形)の範囲指定が可能で、選択範囲内に対してランダムにアセットを配置します。
※この際に使用されるアセットは、何も選択されていない場合は、すべてのアセットを使用し、任意のアセットが選択されている場合は、選択されたアセットをランダムに配置します。
「Fill」を使用してモデルを配置する際の範囲選択方法には、デフォルトの「Grid」以外に「Circle」と「Lasso」があり、円形での範囲選択と投げ輪での範囲選択方法に変更が可能です。
範囲選択方法を変更する場合は、「Brush Mode」のパラメータを変更することで、切り替えが可能です。
下の画像は「Lasso」(投げ輪選択)に変更したのちに、配置を行った際の様子です。
このように、先ほどの四角形での範囲選択ではなく、投げ輪によって、任意の範囲に対してモデルを配置することができます。
ここまでは、何もない空間上に「Layout LOP」のみを使用して配置を行っていたため、作成されるモデルはXZ平面に上に作成されていましたが、レイアウトを行う際には、上流から入力されたモデル上などに対してレイアウトを行うのがメインになると思います。
この「Layout LOP」はデフォルトで入力されている(新しくレイアウトを行う前に作成されている)モデルの形状に合わせてモデル上にアセットを配置する機能が実装されています。
以下の画像のような高低差のある地面のモデル上にアセットを配置します。
すると下の画像のように、地面の起伏に合わせてモデルが配置されます。
このように、モデル形状に合わせた配置が可能になります。
また、「Fill」のブラシには、入力された(上流より接続された)データに対してスナップするようにモデルを配置する機能が実装されています。
そちらを有効にする場合は、パラメータ内の「Snap To Input」のトグルを有効にする必要があります。
こちらのトグルを無効にした状態と有効にした状態で先ほども使用した以下の画像の地面に対してアセットの配置を行います。
まずは、トグルを無効にした状態で、この地面のモデルよりも広い範囲でモデルの配置範囲を設定します。
この状態でモデル配置を行うと下の画像のように、指定された範囲内に対してランダムにアセットが配置されます。
では、「Snap To Input」のトグルを有効にした状態でアセットの配置を行います。
先ほどと同様に、地面のモデルよりも広い範囲でアセットの配置範囲を指定します。
すると、トグルが無効になっている際とは異なり、入力される地面のモデルに対してスナップするように、はみ出している部分が地面のモデルのエッジ部分に集まり、配置されます。
このように、「Snap To Input」の機能を使用して、入力されているモデルが存在している範囲のみにアセットを配置することも可能です。
さらに、「Fill」のブラシは、配置する際の密度や、アセットのサイズ、回転が設定できます。
これらの設定は、パラメータ内の「Scatter」タブから変更可能です。
このパラメータ内の
「Coverage」の値を大きくすることで、指定範囲に対して配置するアセットの多さ(密度)を変更することができます。
下の画像は「Coverage」の数値が「1」の際と「5」の際の比較です。
ここからわかるように「Coverage」の数値を変更することで、アセット配置の際の密度を変更することができます。
また、アセットを配置する際のサイズはデフォルトではすべて同じサイズになります。
このサイズを変更する場合は、「Scale」の項目内の「Min Radius」と「Max Radius」の値を変更することで、「Min Radius」から「Max Radius」の値の間のランダムなサイズのアセットを作成できます。
今回は例として、
「Min Radius」:1
「Max Radius」:10
に設定した状態でモデルの配置を行います。
すると下の画像のように、モデルのサイズがランダム(1~10の間)に作成されます。
さらに、ここで作成されるモデルに対してランダムに回転を加える場合は、パラメータ下側にある「Orientationタブ」内の「Rotation Around Normal」にある「Min Angle」と「Max Angle」の数値を変更することで、作成されるアセットごとにランダムな回転を加えることが可能です。
こちらも例として、
「Min Angle」:0
「Max Angle」:360
と設定し、0°~360°の間でランダムな値をアセットに対して与えます。
その状態で配置を行った結果が下の画像です。
モデル形状の問題で、少しわかりづらいですが、アセットごとにランダムな回転を加え配置を行うことができます。
そのほかにも、配置に際して、全体サイズの調整やアセットを散布する際の位置のランダム性の設定など様々な設定が可能です。
以上が「Fill」のブラシの解説です。
ここで説明した「Place」と「Fill」の2種類の配置用ブラシを用いてアセットのレイアウトを行います。
次に、配置を行ったアセットを調整、編集するブラシを解説します。
上の説明と一部重複しますが、調整用のブラシには
「Delete」:指定した(ブラシによってなぞった)範囲のアセットを削除します
「Nudge」:指定した範囲のアセットの位置をドラッグアンドドロップによって移動します
「Orient」:指定した範囲内のアセットの回転角を変更します
「Scale」:選択した範囲のアセットのスケールを変更します
の4種類があります。
この中で、「Delete」は作成されたアセットを削除し、そのほかの3つの「Nudge」「Orient」「Scale」でモデルの位置、角度、サイズを調整します。
では、各ブラシについて説明していきます。
「Delete」
「Delete」のブラシは選択した後にシーンビュー上にマウスカーソルを移動すると「ピンクのサークル」が表示されます。
こちらのサークルが表示されている状態で、配置されたアセット上をドラッグアンドドロップすることで、ピンクのサークルが通過した部分のアセットを削除することができます。
このサークルのサイズは、マウスホイールをスクロールすることで変更可能です。
このように、配置したアセットの削除が行えます。
「Nudge」
「Nudge」のブラシも「Delete」のブラシと同様に、選択後にシービュー上にカーソルを移動すると「青色のサークル」が表示されます。
この青色のサークル内に入っているアセットをドラッグアンドドロップすることで任意の場所に移動することができます。
こちらには、「Fill」のブラシにもあった「Snap To Geome」の機能が実装されているため、アセットの位置を移動しても、入力されているモデルの外側には移動ができないように制限を加えることも可能です。
「Orient」
「Orient」のブラシは、すでに配置されているアセットに対して回転を加えることができます。
加える回転の量は「Transformタブ」内の「Local Rotateion」と「World Rotation」の項目で設定できます。
ここに設定されている数値をアセットに対してオーバーライドします。
こちらのブラシは、先ほどまでのブラシとは少しことなり、ブラシ選択後にシーンビュー上にカーソルを移動すると、「大きい紫色のリングの内側に水色のリング」というように2種類のリングが表示されます。
これは、ブラシが与える影響範囲を示しており、内側の小さい水色のリング内はブラシの強度が高く、任意の数値の100パーセントの数値をオーバーライドしますが、外側の紫色のリングはソフトとなっており、影響力が水色のリング内に比べて弱くなります。
この各リングは、「Blushタブ」内の「Radius」と「Soft Radius」のパラメータで制御されており、「Soft Radius」の値を「1」に変更することで、ソフト部分の影響をなくすことも可能です。
また、デフォルトではブラシを適用しても位置がずれると戻ってしまい大きな変更を一度で加えることが少し難しいのですが、「Transformタブ」内の「Apply Once」のトグルを有効にすることで、変更結果を固定し、ブラシを適用した部分に対して、設定している数値をオーバーライドすることができます。
こちらが「Orient」のブラシの使用方法です。
「Scale」
「Scale」は「Orient」と同じで、シーンビュー上にカーソルを移動すると「大きい緑色のリングと小さい水色のリング」が表示されます。
この2つのリングの機能は、「Orient」と同じものになります。
そして、使用方法も基本的に「Orient」と同じで、「Transformタブ」内の「Scale」や「Uniform Scale」の項目を使用し、モデルのサイズ変更を行います。
そして、同様にアセット上をドラッグアンドドロップし、変更を加えたい対象をなぞります。
それによりアセットのサイズに変更を加えることができます。
以上が「Scale」の使用方法です。
このように、複数のブラシを使用し、USDアセットのレイアウトを行うことが可能です。
----------------------------------------------------------------
今回の記事はここまでとなります。
閲覧していただきありがとうございました。