On this page |
Houdini Engine SessionSync機能は、Houdini内部で起動中のHoudini Engineのセッションにプラグインを接続できるようにします。 機能面では、通常の(ヘッドレスな)Houdini Engineワークフローのすべての機能に加え、SessionSync固有の追加機能をサポートしています。
SessionSyncの利点は、Unityでプラグインを操作しつつHoudiniでHoudini Engineの状態を確認できることです。 さらに、プラグインを介してUnityで加えた変更も、様々なインターフェースを介してHoudiniで加えた変更も同期されるため、 どちらのアプリケーションで変更を加えても同じ結果を得ることができます。
SessionSyncは以下のワークフローで有効になることでしょう:
-
ロードしたアセットやHIPファイルのトラブルシューティング
-
Houdiniでアセットを構築しつつ、その結果をUnityで確認する時のリアルタイムなフィードバック
-
Houdini Engineの機能や制限事項の理解を深める
-
将来的にはノード以外のデータのタイプ(カメラや選択など)も同期可能
Note
Houdini Engine SessionSyncは、Houdini 18.0以前のHoudini Engine Debuggerに置き換わる機能です。
SessionSyncを開始する ¶
SessionSyncは、プラグインをHoudiniに接続する前にHoudiniで実行されている必要があります。 プラグインからSessionSyncに接続する方法が2つあります:
-
SessionSyncを使用してHoudiniを起動する
-
Houdiniに接続する
SessionSyncを使用してHoudiniを起動する ¶
Unityから、SessionSyncが開始された状態の新しいHoudiniインスタンスを起動することができます。その後、プラグインは自動的にそのSessionSyncに接続します。
-
それをするには、Unityの HoudiniEngine ▸ SessionSync メニューからSessionSyncパネルを開きます。
-
次に Start Houdini ボタンを押します。数秒後、SessionSyncが開始された状態でHoudiniが起動され、プラグインがそのSessionSyncに接続します。
Note
既に別のHoudini Engineセッションが実行中の場合は、 Disconnect ボタンを使用してそのセッションを停止する必要があります。
接続されたら、SessionSyncはプラグインからいつでも停止して再接続することができます。 また、HoudiniでSessionSyncを停止したり、いつも通りにHoudiniを使用し続けることもできます。
Houdiniに接続する ¶
Houdiniが既に実行されている場合は、一度SessionSyncが有効になると、プラグインはそのSessionSyncに接続することができます。 SessionSyncを有効にして接続するには、以下の手順を実行します:
まず最初にHoudiniで、 New Pane Tab Type ▸ Misc ▸ Houdini Engine SessionSync に移動して、 Houdini Engine SessionSync ペインを開きます。 Connection にある Start を押し、SessionSyncが有効なHoudini Engineセッションを開始します。 TCP PortやNamed Pipeなどの設定はデフォルトのままにしておきます。
次にUnityで、 HoudiniEngine ▸ SessionSync を開きます。 既に実行中のHoudini Engineセッションがある場合は、 Disconnect を押して停止します。 次に(Houdiniで設定した接続方法に基づいて)ソケットポートまたはパイプ名のどちらかを選択し、 Connect to Houdini を押します。 すぐに接続するはずです。
接続されたら、SessionSyncはプラグインからいつでも停止して再接続することができます。 HoudiniでSessionSyncを停止したり、いつも通りにHoudiniを使用し続けることもできます。
設定 ¶
SessionSyncの動作は以下の設定で変更することができます:
-
Sync With Houdini Cook
これを有効にすると、プラグイン側のアセットとHoudini側のクックの変更が同期されます。 どちらかのアプリケーションの変更が双方向に反映されます。
-
Cook Using Houdini Time
これを有効にすると、Houdiniタイムラインの時間を使用してアセットをクックします。 通常、Houdini Engineは、プラグインを介して設定された独自の時間を使用してアセットをクックします。 SessionSyncでは、HoudiniのビューポートはHoudiniタイムラインの時間を使用してクックするため、アセットが同期されない可能性があります。 これを有効にすると、この問題が修復されます。
データの同期 ¶
SessionSyncは以下のデータタイプの同期に対応しています:
-
HDA
-
カーブ
-
入力
-
NodeSync
HDA、カーブ、入力ノードは、非SessionSyncワークフローと同じように機能します。 SessionSyncでの違いは、Houdiniでのこれらのアセットに対する変更(パラメータ、ノード、またはネットワークの変更)がプラグインに自動的に反映されることです。
HDAの場合、プロモートされたパラメータの追加や削除は、HDAがロック解除され再保存されない限り同期されません。
NodeSync ¶
Note
これは実験的な機能です。
NodeSyncは、SessionSyncの新機能です。HDAを使用することなく、動的にノードを作成して、同期を保つことができます。 ジオメトリタイプがHoudini Engineでサポートされている場合、出力ジオメトリはUnityで自動的に生成されます。 ノードとそのすべてのコンテンツをファイルに保存し、Houdini Engineセッションにリロードすることもできます。
現在のところ、以下のタイプのコンテナノードに対応しています:
-
出力SOPを含むオブジェクト
-
オブジェクトサブネットワーク
-
SOPサブネットワーク
ルートGameObjectは出力オブジェクト毎に作成されます。 生成されるジオメトリは、Displayフラグを設定したノードからのものです。 オブジェクトサブネットワークでは、その中の各オブジェクトがルートGameObjectに親子化された子GameObjectを生成します。
これらは、UnityのSessionSyncパネルの New Node セクションから作成できます。 作成されると、生成されたGameObjectにはHEU_NodeSyncコンポーネントが含まれ、Houdiniで作成されたそれに呼応するノードと同期されます。 このコンポーネントには Save Node 機能もあり、ノードとそのコンテンツをファイルにシリアライズ化することができます。
NodeSyncファイルをロードするには、UnityのSessionSyncパネルのNew Nodeセクションで Load NodeSync を選択します。
HEU_NodeSync
コンポーネントを含むGameObjectが作成され、それに呼応するノードがHoudiniに作成されます。