2025年8月22日(金)に新御茶ノ水のワテラスコモンホールで「Houdiniで始めるUSD-Solarisワークフロー実践セミナー-」が開催された。
デジタル・フロンティアの柄木田 丞氏が登壇し、Houdiniユーザーを対象に、「Solaris × USD」導入の第一歩をわかりやすく解説。大規模プロジェクトでの豊富な経験から、初心者にもわかりやすい実践的な知見や用語を用いて、USDの基礎や効率的なワークフローを解説した。本稿では、2時間を超える豊富な講演内容を、前後篇にわたって紹介する。
※本セミナーはHoudini 20時点の情報の講演です。Houdini 21ではアイコンや機能が変わった部分がありますのでご注意ください。
Information
「Houdiniで始めるUSD -Solarisワークフロー実践セミナー –」
開催日:2025年8月22日(金)
時間:17:00~20:00
会場:ワテラスコモンホール
〒101-0063 東京都千代田区神田淡路町2丁目101番地
参加費:無料
www.borndigital.co.jp/seminar/usd_with_houdini
柄木田 丞氏
デジタル・フロンティア
CG制作部 エフェクト室 シニアデザイナー
講演者ブログ
godofsuama.hatenablog.com
USDとSolarisの導入について
同セミナーは、まだHoudiniに触ったことのない人や、触り始めの初心者向けに、USD導入のハードルを下げるために行われた。解説はUSDとSolarisのメリットの話から始まった。
まず、USDは汎用性の高い中間ファイルの形式だが、そのメリットは、各DCCツールの間の「互換性」、ファイルサイズや軽さによる「速度」、各作業で可能な「並行作業」の3点だという。
また、Solarisは、Houdiniに搭載されているUSDを扱うためのツールセットで、主にライティング、最終レンダリングなどに関わる作業を一元的に行い、大規模なプロジェクトでの効率的なワークフローを実現できる。
Solarisのメリットはノードで処理結果を確認できる「視認性」と、自分で処理をコントロールしやすい「操作性」、Houdiniから引き継がれる「拡張性」の3点だ。豊富なノードが用意されているのでデザイナーでも使いやすく、初めてUSDを使うならSolarisがオススメだという。USDは進化を続けているため次々と新しい用語が増えているが、そうした用語を覚えずとも、Solarisを使えば感覚的にノードを組んでいくことができる。
Solarisの習得ステップは3段階。まず、SideFXが用意しているノードを検証しながら使ってみるのが第1段階。次にHoudiniのVEXやHDAなどを使い社内でカスタム化する第2段階、最後はPythonやASCIIで直接記述してつくるという第3段階だ。ただし、3段階目はデザイナーにとってややハードルが高いので、無理して行う必要はないかもしれないとのことだ。
Solarisでつまずきやすいポイントは、専門用語が多くとっつきにくい点だ。とは言え、デザイナーにとってはUSDを直接書くよりノードの方がわかりやすく、ASCIIで書き出すことでUSDの記述方法を学べるため、USDを学ぶには最適ともいえる。
Houdini自体が初めての人は、まずSideFXの簡単なチュートリアルを触ってみるのが良い。ただし、SolarisのLOPはHoudiniの中でも少々使い勝手が異なるので、経験者も気を付けたほうが良いとのこと。「Houdiniの中にUSDに寄せた別ツールがある」、というイメージだという。
Solarisの操作のコツ
SolarisのUIでは、Geometry Spread Sheet(Scene Graph Tree、Scene Graph Details)とNetwork Viewを表示するのは必須で、特に20.5あたりから確認しやすさが向上した。
USDのレイヤー構成について
USDはMayaでいうリファレンスのようなもので、基本的には外部レイヤー扱いとなる。Solarisは収集したデータを開くという点でAfter EffectsやNukeと同じだが、外部ファイル全てを読み込む必要がなく、上手く階層構造などでコントロールすることが必要となる。
USDはレイヤー構造となっており、その構造は下記の図のようにレイヤー化されている。
Scene Graph Layersについて
[Scene Graph Layers]は、各レイヤーの状態を確認できるパネルだ。Layerの種類には[Root Layers]と[Session Layers]がある。操作時の動作の重さや、書き出し時のトラブルの多くは、この[Scene Graph Layers]に起因しているケースが多いため、問題を感じた際にはまず確認してみると良い。
ネットワーク上で、ノードが同じ色で表示されている部分は、同じレイヤーに書き込まれていることを意味する。しかし、レイヤーをひとつにまとめると、操作のたびに処理が走ってしまい動作が重くなりやすい。そのため、意図的にレイヤーを分割して処理負荷を軽減する必要がある。
レイヤーの属性とエクスポート時の挙動
レイヤーの種類には[Implicit]と[Explicit]があり、エクスポート時の挙動に注意する必要がある。
[Implicit]:データが結合されて一体化した状態で出力される
[Explicit]:個別の外部ファイルとして書き出される
そのため、[Explicit]で運用していると、意図しないかたちで大量のファイルが生成されてしまうトラブルが発生することがある。これを防ぐには、Configure Layer LOPノードを使用して書き出し用パスを[Save Path]に設定すると管理がしやすくなる。
Configure Layerノードによるレイヤー制御
Configure Layerノードで[Start New Layer]を有効にすると、そこから上が新たなレイヤーとして切り離され、下層の処理を参照しなくなるため、処理が軽量化される。また、この際に[Set Input Active Layer to Explicit]のチェックを入れておくと、レイヤーを分けつつも、最終的にはUSDとして1ファイルに統合できるようになる。
このしくみにより、作業中は軽く、書き出しはまとめるという両立が可能となる。デザイナーにとって非常に有用な手法だ。
また、Mergeノードの[Merge Style]を[Separate Layers]に設定することで、それぞれを別レイヤーとして扱うことができる。これも処理負荷の分散に活用できるテクニックだ。
[SOP Import]の注意点と対処法
[SOP Import]でレイヤーを[Implicit]として扱うには、以下の2通りの方法がある。
①事前にCacheしておく
②[Sublayer Style]を[Copy SOP Layer Into New Active Layer]に設定する
後者の場合、Lopレイヤーとして取り込まれ、[Implicit]として扱われるが、SOP全体を取り込むため、データ量によっては非常に重くなる可能性がある。
なお、SOP Createノードでは、デフォルトで[Copy SOP Layer Into New Active Layer]が有効になっている。このため、SOP Importの代わりにこちらを使うのも有効な手段だ。
LOPノードでできること
LOPノードの扱いでは、「できること」よりも「できないこと」の方が重要だ。実際に試してみたところ、アクティブレイヤー以外の編集や、セッションレイヤーの編集はできなかった。
アクティブレイヤーとは、[Scene Graph Layers]パネルにおいて緑色で表示されている[Root Layer]のことで、ここに処理を追加するとノードが結合されていく。つまり、一度レイヤーを分断してしまうと元に戻すことができないため、注意が必要なポイントだ。
本記事の前半では、SolarisおよびUSDの導入とその概要について解説した。後半では、用語解説を軸にしながら、サンプルデータを用いて、より詳細かつ実践的なテクニックを紹介していく。
後篇に続く。
TEXT_石井勇夫(ねぎデ)
EDIT_海老原朱里 / Akari Ebihara(CGWORLD)、山田桃子 / Momoko Yamada