Houdini 17 より、Houdini Engine for Maya プラグインのデフォルト挙動に変更があり、"Within Maya Process" がサポートされなくなった。
https://www.sidefx.com/docs/maya/_maya__session.html
この記事は、Houdini Advent Calendar 2018 の 6日目の記事になりました :)
使用したビルド: Houdini 17.0.430
変更点:
今までのデフォルトである Back End の "Within Maya Process" がサポートされなくなり、Maya のメニューで Houdini Engine -> Preferences 以下の Back End がこの設定の場合、自動的に Named Pipe が使われるようになった。
この変更の理由は、Within Maya Process (インプロセス式) が、従来よりライブラリのコンフリクトを引き起こすことが潜在的にあり、例えば Houdini (Engine) と Maya で同じライブラリの異なるバージョンをロードしようとするとクラッシュするということが今までもあった訳だが、今後もコンフリクトは減らないという結論になったということ。この背景に関しては、こちらのチュートリアルで説明されている。今後は、ソケット方式または Named Pipe を使った方法 (シンクライアント式) に切り替えることになる。これらも、同チュートリアルで説明されている。
TCP Socket 式
Named Pipe 式の設定に関しては上記のチュートリアルビデオで紹介されているので、ここでは、TCP Socket 式の設定方法について紹介する。
TCP Socket は、いわゆるサーバ・クライアント式になり、Houdini Engine の演算がサーバ側で行われ、Maya プラグインは、サーバの結果を受け取って表示するだけになる。つまり、サーバは Maya が稼動しているのと同一のPC でも良いし、別のPCでも良く、別 PC の場合、Maya が稼動しているよりもはるかに強力なPC、より多くの CPU コアやメモリの多いPCで行った演算結果を簡単に Maya 上で確認することを可能にする。
- サーバの起動
- このサーバは、HARS と呼ばれている。起動するには、
- Command Line Tool を実行。
- 以下のコマンドを実行。
$ hars -s 9090
9090 は Maya プラグインで指定されいているデフォルトポート番号。 - Maya を起動。もしすでに起動している場合、プラグインを一度アンロードして、もう一度リロードする。
- HARS サーバと接続できた場合、
// Connected to Houdini Engine server using TCP socket at localhost:9090.
と Maya のスクリプトエディタに表示される。 - 残りの操作は同じ。
- シンクライアント使用時の注意点
- ライセンスの消費: TCP にせよ Named Pipe にせよ、シンクライアントで Houdini Engine を実行した場合、ライセンスを消費するのは HARS サーバ。プラグインではない。よって、HARS とプラグインがそれぞれ別のPCで稼動している場合、ライセンスを消費するのはサーバ側。
- HARS は、一度 HDA がロードされたあとは、Maya が終了しても終了していなくとも、Houdini Engine のライセンスを保持している。よってライセンスをリリースするには、HARS を終了する。
- 現状、プラグインと HARS の接続は常に 1:1。一つの HARS プロセスで、複数の プラグインセッションを実行することは現状出来ない。
まとめ
- H17 では "Within Maya Process" は機能しない。
- Preferences ウィンドウで "Within Maya Process" に設定されいている場合、Named Pipe が使われる。
- 今後は TCP Socket または Named Pipe を使うのが望ましい。
- HARS を使った場合の注意点は、一つ上の項を参照。
- リンク
最終更新: 2019-05-14
0 件のコメント:
コメントを投稿