HoudiniのOmniverseをまずは触ってみる
SideFX Houdini Omniverse Connector をインストールします。
追加すると、コネクタに SideFX Houdini が追加されますので これで準備が完了です。
Omniverse の環境を作る
!!! info
すでにOmniverseの設定がされている場合はスキップしてOKです
Nucleus サーバーの設定
Houdini 側で Omniverse を使用するには、Nucleus サーバーと呼ばれる 共同作業をする USD を置くためのサーバーを設定する必要があります。 別 PC にサーバーを立てる方法もありますが、まずは自分の PC にローカルのサーバーを 立てるのが良いです。
Omniverse の「NUCLEUS」タブを選び、 ローカル Nucleus サービスを追加する を選びます。
サービスの追加でデータ置き場の指定をして次へを押し、
管理用アカウントを作成します。 これは、あくまで自分のローカルサーバーの管理アカウントなので ログイン情報とは別です。 (あとで、自分のサーバーを公開して別の人と作業するときに アカウントを追加したりといったことをするときのアカウントです)
必要な情報を入力して、「セットアップを完了する」を押すと サーバーの準備は完了です。
Houdini で使用する
準備ができたので、Omniverse に登録されているサンプルデータを呼び出します。
Omniverse Loader ノードを作成し、
Add Server を押します。
そして、Server を指定(上に書いたローカルのサーバーの場合は localhost を入れる)し、「Connect」を押します。
すると、先ほどの Set Server のタブに「localhost」があるのでこれを選びます。
最後に、このアイコンを選び、
ファイルダイアログで、開くファイルを選択します。
インストールされていると、 このように omniverse://localhost という URI がついかされています。 この下が Omniverse のサーバー上に置かれているデータになります。
今回は、NVIDIA/Samples/OldAttic を選び Attic_NVIDIA.usd を開きます。
これで開くことができました。
現状できること
最後に、現状のドキュメントをざっくり読んで、できることをメモしておこうと思います。
読み込み
Nucleus のファイルパス(omniverse://localhost/~)から直接 USD を Houdini ロードできるというのがあります。 これは上に書いたように USD を LOP 上に読むだけではなく、bgeo などでも利用することができ、
SOP などで、 bgeo を Omniverse のサーバー上に保存し、
保存したファイルを、 File ノードでロードするときにも Geometry File を Omniverse のサーバーのパスで記述できます。
保存
HoudiniSOLARIS 上で作成したモデルを、Omniverse 上に保存ができます。 Export 時はは、Omniverse USD ROP という、専用の USD ROP を使用します。
material は、 MDL の material が追加されているので、 MaterialNetwork 上で material を作成します。
試しに PigHead のテクスチャを貼り付けておきます。
MaterialLibrary ノードでアサインします。
USD ROP で Output FIle を、Omniverse のサーバー上に保存します。
しかし、このままだと opdef:/sop という Houdini 上でのみ使用できる URI のパスが 使用されているので、テクスチャがロードできないので Omniverse Texture Export を ON にしておきます。
Create 上で表示した例。 テクスチャもちゃんと Export され、表示されました。
いわゆる LiveLink 的なことはまだできませんが、Omniverse 上にあるアセットを Houdini で簡単にロードしたり、作成したアセットを Omniverse で使用できる material 付きのアセットとして保存できるので Houdini の便利なプロシージャルでのレイアウトを使いつつ Omniverse と連携といったことも簡単にできそうです。
Loader の Checkpoint など、Omniverse 的な情報がわからず 深堀できていない点も多いので 引き続き検証していければとおもいます。