2018-11-27

houdini core engine licensing

よく訊かれる、Houdini Core と Houdini FX の併用、Houdini Engine のライセンス周りについて説明する。



1. Houdini Core|FX 製品比較

それぞれの製品概要はこちらにあり。

簡単に言ってしまえば、Houdini Core は、高価な Houdini FX からシミュレーション機能を取り去ったもので、それだけ安価になっている。両方を併用する上で知っておくと良いのは以下の通り。
  1. Houdini Core でも Houdini FX が扱えるすべてのジオメトリ形式 (ポリゴン、NURBS、Sub-D、ボリューム、OpenVDB など) が扱え、また、Houdini Core は Houdini FX が読むことが出来るファイルフォーマットすべてに対応している。
  2. Houdini Core は、Houdini FX で作成したシーンファイル (.hip) をエラーを出さずに開くことが出来る。
    • シーンファイルにシミュレーションノードがある場合、それらのノードは、Read-only となる。
    • Read-only となったノードは、編集は不可能だが、再生とレンダリングは Houdini Core からでも可能。
    • つまり、Houdini Core は、Houdini FX のライティングツールとなり得る。
  3. FX 内のシミュレーションを HDA (Houdini Digital Asset) にまとめれば、Houdini Core の中で、HDA のパラメータを元に編集可能。つまり、複雑なシミュレーションはともかく、簡単にまとめられたシミュレーションは、Houdini Core でも使うことが出来る。
      この流れは H17 で加速され、新機能 Vellum の Simple Cloth は Houdini Core で使える (Rigging シェルフにあり)。
  4. Houdini Core は、Houdini FX のライセンスを消費しない。よって、Houdini Core を起動することで、より高価な Houdini FX のライセンスが消費されることは、基本的にはない。
      Houdini FX ライセンスによる Houdini Core の強制起動方法はこちら

2. Houdini Core から Houdini FX へのアップグレード

アップグレードは以下の通りに可能。

下から右へ Core WS Core LAL FX WS FX LAL
Core WS --
Core LAL -- -- --
FX WS -- -- --
  • LAL から WS に(ダウングレード)は出来ない。
  • 製品タイプアップグレード (Core->FX) の場合、使用しているライセンスの返却が必要 (2020年1月以降不要)。
  • ライセンスタイプアップグレード (WS->LAL) に対しては、新しいサブネットマスクが発行される。既存ライセンスの返却は (2017年以降) 不要。
  • 価格は代理店に問い合わせ。




3. Houdini Engine 概要

Houdini Engine は大きく分けて二つの 2つの機能を提供する。

  1. GUI 無し Houdini としてのバッチ処理。主にシミュレーションやファイル出力など。
  2. 別ホストアプリケーションで、Houdini Engine プラグインを介した HDA の利用。これにより Houdini のプロシージャル機能を他のアプリケーションで利用できる。

Houdini Engine インストールに関して

  • Houdini (本体) と Houdini Engine のインストーラは同一。同じコンピュータで使う場合には二度のインストールは不要。
    • しかし Houdini Engine プラグインだけを使う場合でも Houdini のフルインストールが必須。
    • Houdini Engine for [Maya|Unity|Unreal|3DS Max] のプラグインを使いたい場合には、インストーラでそれぞれのコンポーネントをオンにする。
  • Engine プラグインを使うにはライセンスが必要。
    • 商用版の場合、有償の Houdini Engine ライセンス、または Unity および Unreal プラグインに対してのみ、無償の Houdini Engine for Unity/Unreal のライセンスが使える。無償ライセンスはここから入手可能。
    • Indie 版の場合、無償の Houdini Engine for Indie ライセンスが必要。ここから入手。Houdini Engine for Unity/Unreal は互換性がないが、Houdini Engine for Indie ライセンスで同じことができる。
    • Education (学生版含む) の場合、Houdini Engine Education ライセンスが購入時に同時に発行されている。なお、 Houdini Engine for Unity/Unreal または Indie 版の Houdini Engine ライセンスは扱うファイルフォーマットが異なるために使えないが、同梱の Houdini Engine Education で同じことができる。
    • Houdini Apprentice の場合、Houdini Engine は一切使えない。
  • 各製品へのライセンス文字列のまとめはこちら

4. Houdini Engine ライセンスの挙動

  1. Houdini Engine のプラグインは、HDA をロードし、最初にクックした時にライセンスをチェックアウトしに行く。プラグインがホストアプリケーションにロードされた時ではない。
  2. Houdini Engine のプラグインは、ネットワークライセンスの場合、まず Houdini Engine ライセンスを見に行く。無ければ次に Houdini Core のライセンスを見に行き、あれば Core ライセンスを消費して Houdini Engine を実行する。Core も無ければ Houdini FX のライセンスを見に行き、あればそれを使う。それも無ければ起動できない。
    • よって、Houdini Core|FX のライセンスで Houdini Engine を起動することも可能だが、非常に高くつくことになる。この挙動を制限するために HAPI_LICENSE_MODE という環境変数が使用可能。以下のように設定することで、チェックアウトするライセンスを制限できる。
      HAPI_LICENSE_MODEEngineCoreFX
      default または未定義123
      engine_only100
      houdini_escape_only010
      houdini_fx_only001
      つまり、未定義または default としてした場合には、Engine -> Core -> FX の順でライセンスを見に行くが、 _only のついた値を環境変数に定義すれば該当製品のライセンスのみをチェックアウトしようとし、それが見つかれらなければ起動しない。詳細はこちら
    • ワークステーションライセンスの場合、Houdini Core または FX のライセンスだけで Houdini Engine の機能を同一PC 上で実行可能。よって、Houdini Core または FX のライセンスがあれば、Maya 等のプラグインも同時に実行可能。
  3. ライセンスがチェックアウトされた後は、(In Process の場合)、ホストアプリケーションを終了するまでライセンスが保持される。
  4. また、H19 のライセンスシステムでは、さらに便利な追加機能が増えた。

5. Houdini Engine セッションに関して

ホストアプリケーションで Houdini Engine を実行することをセッションと呼ぶ。セッションには、ホストアプリケーションのプロセスで実行する In Process という方法と、ホストアプリケーションと Houdini Engine をそれぞれ独立したプロセスで実行する方法の二つが考えられ、後者の方法を Thin Client (シンクライアント)と呼んでいる。Thin Client には、ソケットを使う方法と パイプを使う方法の2通りがあり、実際に Maya プラグインの Preferences にはこの3つの選択肢が存在する。

  1. In Process: ホストアプリケーションのプロセスを親プロセスとし、その子プロセスとして Houdini Engine が実行されるもっとも初期の Houdini Engine の実装方法。ライブラリの衝突などの問題が潜在し、Houdini 17以降ではサポートしていない。H17 のMaya プラグインで設定が In Process となっている場合 Named Pipe が使われる。
  2. ソケット: ホストアプリケーションと Engine のプロセスを TCP 経由で接続する。Engine のプロセスととホストアプリケーションを別のコンピュータ上でも実行可能で、またライブラリの衝突などの問題から回避できる。
  3. パイプ (Named Pipe): 同一ホスト上で ホストアプリケーションと Houdini Engine を別プロセスで実行する、H17 からのデフォルト設定。
この設計の詳細は、このチュートリアルを見るとよくわかる。なお、ソケット接続の場合、サーバプロセスを再起動すれば、(次にアセットがクックされるまで、) ライセンスがリリースされる。

5. Houdini Engine の自社製エンジンへの組み込み

ゲーム開発において Houdini Engine を導入する上で、前提として:

  1. 自社製ゲームエディタなど自社製ツールに Houdini Engine を統合するには、Houdini Engine の API (HAPI) を使って自社製ツール向けにプラグインを書くことになる。
    • Houdini Engine の実行には Houdini のフルインストールが必須。プラグインだけあれば、ということではない。
    • Houdini Engine は、ランタイムソリューションではないので、自社製エディタに組み込むことはできるが、出荷ゲームに組み込むことはできない。
  2. プラグインを書く上で、参考になるものとして以下のものがある:

リンク


最終更新: 2024-02-19

0 件のコメント:

コメントを投稿