Houdini19.0 Solaris/Karma(USD) 新機能紹介
はじめに
Youtubeにて動画を公開しておりますので、併せてご覧ください。
動画内と同じシーンファイルを配布いたします。
演習ファイルは合計約2GBほどありますのダウンロードの際には空き容量などに注意してしてご活用ください。URLは下記になります。
Solaris (下に注意書きあり):
https://drive.google.com/file/d/10aTSAxeZ7VuIQ8F7OxwqknufaCRkGzH8/view?usp=sharing
Karma:
https://drive.google.com/file/d/1rTU5FfCSie09_5KzwkgsAoylloP_W79e/view?usp=sharing
Solarisの演習ファイルについての注意:
権利上、当記事では配布できないデータがあり、上記ファイルにはそのデータは含まれておりません。お手数ですが、利用する際は個別にDLサイトからデータをダウンロードしていただくようお願いいたします。
ダウンロード先リンク
https://www.cgtrader.com/
こちらで「Lowpoly PBR Rocks And Foliage Free low-poly 3D model」と
検索し、データをダウンロードください。
Solarisのフォルダ内のシーンを開く際は、cgtraderよりダウンロード可能な
・「Soi_Foliage_OBJ.zip」
・「Soi_Foliage_Textures_MetallicRoughness.zip」
のデータをダウンロード後展開し、
配布しているデータの「Solaris>data」のディレクトリ内に保存してください。
※SideFX社さまより特別な許可をいただきHoudini 19.0に対応したデータを配布させていただいております。
-------------------------------------------------------
Solaris
↓下のリンクから再生すると、該当箇所から再生されます↓
Houdini19.0ではSolarisを使用したレイアウトに対して大きな変更が加えられています。
Component Builder
新しく追加された「Component Builder」の機能により、SOPジオメトリからコンポーネントモデルを作成することが容易になりました。
ネットワークビュー上で「Component Builder」を作成すると、新しく4つのノードが作成されます。
左上の「Component Geometry」からSOPジオメトリを作成または読み込みます。
まずこのノード内では、作成、または読み込んだモデルを実際に出力(レンダリング)するための一番左側の「default」に接続します。
次にジーンビュー上で表示する際の解像度を下げたモデルを2番目 の「proxy」に接続します。
Edit等の物理ツールを使用する際のコリジョン用に設定したモデルを一番左の「simproxy」に接続します。
「Material Library」にてマテリアル(shader)を設定します。すると、「Component Material」によって、作成したSOPジオメトリに対して、マテリアルがアサインされます。
最後に、「Component Output」にて、作成したコンポーネントモデルをUSDデータとして書き出していきます。
書き出す際に、LOP上に読み込む際のサムネイルを出力することができる「Thumbnail」の項目があります。その中にある「Camera」の項目下側の「View Thumbnail Camera」のトグルを有効にします。
すると、シーンビューが変わり、「Component Builder」で作成したモデルが中心に表示された状態で正方形のエリアのカメラが作成されます。
この状態で、「Generate Thumbnail」をクリックすることで、サムネイルを出力することができます。
モデルの出力は、上側の「Save to Disk」をクリックすることで出力できます。
出力結果を確認すると、3つの.usdcのデータと.usdのデータ、サムネイルの画像が出力されます。
ここで出力されたデータはまとめてSolaris内に読み込むことができます。
Layout Asset Galley
Houdini19.0では新しく「Layout Asset Gallery」タブが追加されました。
ペイン上部のプラスマークをクリックし、
New Pane Tab Type>Solaris>Layout Asset Galleryを選択します。
そうすることで、新しく「Layout Asset Galleryタブ」を開くことができます。
この中に、先ほど出力したデータを読み込んでいきます。
タブ内の左上にある熊のマークをクリックします。
Fileに対して、前項で作成したUSDデータを選択、
Thumbnailに対して前項で出力した画像を選択、
Nameに任意の名前を入れてOKをクリックします。
すると、先ほど作成したUSDデータがサムネイル付きで読み込まれます。
読み込まれたこのモデルを使用してレイアウト行うことができます。
さらに、ここでは出力したコンポーネントモデルを一括で読み込むことも可能です。
複数のモデルを読み込むには熊の横にあるフォルダのマークをクリックし、「Directory」にてモデルが格納されているディレクトリを選択し、OKをクリックします。
すると、ディレクトリ内にあるすべてのモデルを一括で読み込むことができます。
また、読み込まれた対象を色によって分別することもできます。
こちらを行うことで使用するモデルを分別することができ、使いたいモデルを探すのが容易になります。
Layout LOP
前項のLayout Asset Galleryタブでモデルを読み込み、続いてレイアウトを行う際に使用する「Layout LOP」というものが新しく追加されました。
Layoutノードを作成し、パラメータビュー下側にある枠に対して先ほど読み込んだモデルをドラックアンドドロップします。
すると、「Layout LOP」内にモデルを読み込むことができ、ここで読み込んだモデルを使用して任意の範囲に対してモデルを配置(レイアウト)することができます。
パラメータ上側にあるアイコン中から「Fill」のアイコンを選択し、シーンビュー上でエンターキーをクリックします。
そして、任意の範囲を指定することで範囲内に読み込まれたモデルをランダムに配置することができます。
また、こちらは読み込んだモデルの左上のトグルを有効にすることで、有効になったモデルのみを配置することもできます。
「Scatter」のタブ内にあるScaleのMin RadiusとMax Radiusや、
Rotation Around NomalのMin AngleとMax Angleを変更し、サイズ、回転の最小値と最大値を決定することで、作成するモデルのサイズと、角度を範囲内でランダムで作成することもできます。
さらに、デフォルトでは、「Brush」のタブ内の「Brush Mode」が「Grid」になっているため、範囲はGridにて指定されますが、こちらは「Lasso」などに変更することで別の範囲指定方法でモデルを作成することもできます。
また、ここで配置されたものは、ブラシのタイプを「Delete」に変更し、指定範囲を消すことも可能です。
「Plase」を選択すると、任意の位置に、任意のサイズのモデルを作成することもできます。
さらに、「Snap To Import」のトグルを有効にすることで、起伏のある地面などに対して接地するようにモデルを配置することができます。
このように、Layout LOPを使用することで、Houdini18.5とは全く異なる方法でレイアウトをより直感的に行うことができるようになりました。
また、このレイアウト方法以外にも、「Restructure Scene Graph」を使用して入力されているシーングラフのプリム名やツリーの接ぎ木される場所を変更することも可能になりました。
そのほかにも「Scene Import LOP」が強化され、オブジェクトレベルのシーンをUSDに変換できるようになった他、USDのバージョンが「バージョン21.08」に更新されています。
またシーンビューにて選択されたプリムが全体に対して色がつくのではなく、アウトラインに対してのみ色がつくようになり、モデルが見やすくなりました。
ほかにも、シーンビューの更新を一時的に停止し、シーンビューレンダリング中にシーンビューが動かないようにするボタンが追加されました。
ここまで紹介したものが、主なSolarisの変更点となります。
Karma
↓下のリンクから再生すると、該当箇所から再生されます↓
まず最初の変更点として、Houdini19.0のKarmaレンダラーでは、
Karma CPUレンダリングがベータから、プロダクションレンダラーとして
正式にリリースされました。
また新たにレンダリングモードとして、XPUエンジンがアルファ版として
リリースされました。
現在Karmaレンダラーには、2つのレンダリングエンジンが搭載されています。
CPU上のソフトウェアで実行されるKarmaCPUと、CPUとGPUのハードウェアアクセラレーションを利用する、KarmaXPUエンジンの2つです。
上の画像は、XPUエンジンによってビューポートレンダリングを行った例になります。
またレンダリング時に、シーンビュー上の「Open Display Options」を押すか、シーンビュー上でキーボードのDキーを押してDisplay Optionsを開き、Guideタブから「Addtional Information」内の「Render Stats」オプションを有効にします。
そうすることで、シーン内のリアルタイムのレンダリング統計を確認することができます。
Back Ground Plate LOP
Houdini19で新機能として追加された、Back Ground Plate LOPノードを使用することで、ホールドアウトもしくはマットオブジェクトを作成することができます。
Back Ground Plate LOPノードを追加します。
ネットワーク内に、Karma Render Properties LOPノードが追加されていない場合は、Back Ground Plate LOPノードの下に追加する必要があります。
Back Ground Plate LOPノードは、背景画像を読み込み、光の寄与をモデルに対して与えることで、映り込みなどを計算する機能になります。
光の寄与に使用したい背景画像をBack Ground Plate LOPノードのPlateパラメータの、Choose Imageから読み込みます。
この読み込んだ画像に関するデータは、Back Ground Plate LOPノードの2つ目のアウトプット、「Output Render Variables」から出力をされます。
そのため、Karma Render Properties LOPノード1の2番目の入力に接続をする必要があります。
続いて、Karma Render Properties LOPノードの「Image Out」タブの中の、「AOVs(Render Vars)」タブを開きます。
その中にある、「Import Render Vars From Second Input 」という
オプションにチェックを付け有効にします。
最後に、影を落として、かつファントムとして設定する床面のプリムを、Back Ground Plate LOPノードのPrimitivesパラメータに指定する必要があります。
これで、シャドウと背景のプレートからの拡散反射をシーン内のオブジェクトに対して反映させることができます。
また、シェーダー周りについて、MaterialXシェーダを用いてレンダリングが行えるようになりました。
MaterialXはオープンソースのシェーディング言語になります。
Karmaレンダラーに搭載されたXPUは、VEXベースのシェーダをサポートしておらず、将来的には、MaterialXでKarmaレンダラーで動作するシェーダーでを作成することになる予定です。
Houdini19では、バージョンアップに伴い、フル機能のPhysical Lens VOPが搭載されました。
ここまで紹介したものが、主なKarmaに関する変更点となります。
----------------------------------------------------------------
今回の記事はここまでとなります。
閲覧していただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?