よく訊かれる Houdini Engine のライセンス周りについて説明する。
ここにあった Houdini Core の話はこちらに移動。1. Houdini Engine 概要
Houdini Engine は大きく分けて二つの 2つの機能を提供する。
- GUI 無し Houdini としてのバッチ処理。主にシミュレーションやファイル出力など。
- 別ホストアプリケーションで、Houdini Engine プラグインを介した HDA の利用。これにより Houdini のプロシージャル機能を他のアプリケーションで利用できる。
- Houdini Engine for Unreal (2024-09-21 現在 日本語)
- Houdini Engine for Unity (日本語)
- Houdini Engine for Maya (日本語)
- Houdini Engine for 3DS Max (日本語)
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 は一切使えない。
- 各製品へのライセンス文字列のまとめはこちら。
2. Houdini Engine ライセンスの挙動
- Houdini Engine のプラグインは、HDA をロードし、最初にクックした時にライセンスをチェックアウトしに行く。プラグインがホストアプリケーションにロードされた時ではない。
- Houdini Engine のプラグインは、ネットワークライセンスの場合、まず Houdini Engine ライセンスを見に行く。無ければ次に Houdini Core のライセンスを見に行き、あれば Core ライセンスを消費して Houdini Engine を実行する。Core も無ければ Houdini FX のライセンスを見に行き、あればそれを使う。それも無ければ起動できない。
- よって、Houdini Core|FX のライセンスで Houdini Engine を起動することも可能だが、非常に高くつくことになる。この挙動を制限するために HAPI_LICENSE_MODE という環境変数が使用可能。以下のように設定することで、チェックアウトするライセンスを制限できる。
HAPI_LICENSE_MODE Engine Core FX default または未定義 1 2 3 engine_only 1 0 0 houdini_escape_only 0 1 0 houdini_fx_only 0 0 1 - ワークステーションライセンスの場合、Houdini Core または FX のライセンスだけで Houdini Engine の機能を同一PC 上で実行可能。よって、Houdini Core または FX のライセンスがあれば、Maya 等のプラグインも同時に実行可能。
- よって、Houdini Core|FX のライセンスで Houdini Engine を起動することも可能だが、非常に高くつくことになる。この挙動を制限するために HAPI_LICENSE_MODE という環境変数が使用可能。以下のように設定することで、チェックアウトするライセンスを制限できる。
- HOUDINI_PLUGIN_LIC_OPT を
--check-licenses=Houdini-Engine-PlugIn-Free,Houdini-Engine --skip-licenses=Houdini-Escape,Houdini-Master
とすれば、Houdini Engine プラグインは 無償のプラグインライセンスまたは Houdini Engine (有償) のみをチェックアウトし、これらのライセンスが存在しない場合には起動しない。 - ライセンスがチェックアウトされた後は、(In Process の場合)、ホストアプリケーションを終了するまでライセンスが保持される。
- また、H19 のライセンスシステムでは、さらに便利な追加機能が増えた。
3. Houdini Engine セッションに関して
ホストアプリケーションで Houdini Engine を実行することをセッションと呼ぶ。セッションには、ホストアプリケーションのプロセスで実行する In Process という方法と、ホストアプリケーションと Houdini Engine をそれぞれ独立したプロセスで実行する方法の二つが考えられ、後者の方法を Thin Client (シンクライアント)と呼んでいる。Thin Client には、ソケットを使う方法と パイプを使う方法の2通りがあり、実際に Maya プラグインの Preferences にはこの3つの選択肢が存在する。
- In Process: ホストアプリケーションのプロセスを親プロセスとし、その子プロセスとして Houdini Engine が実行されるもっとも初期の Houdini Engine の実装方法。ライブラリの衝突などの問題が潜在し、Houdini 17以降ではサポートしていない。H17 のMaya プラグインで設定が In Process となっている場合 Named Pipe が使われる。
- ソケット: ホストアプリケーションと Engine のプロセスを TCP 経由で接続する。Engine のプロセスととホストアプリケーションを別のコンピュータ上でも実行可能で、またライブラリの衝突などの問題から回避できる。
- パイプ (Named Pipe): 同一ホスト上で ホストアプリケーションと Houdini Engine を別プロセスで実行する、H17 からのデフォルト設定。
4. Houdini Engine の自社製エンジンへの組み込み
ゲーム開発において Houdini Engine を導入する上で、前提として:
- 自社製ゲームエディタなど自社製ツールに Houdini Engine を統合するには、Houdini Engine の API (HAPI) を使って自社製ツール向けにプラグインを書くことになる。
- Houdini Engine の実行には Houdini のフルインストールが必須。プラグインだけあれば、ということではない。
- Houdini Engine は、ランタイムソリューションではないので、自社製エディタに組み込むことはできるが、出荷ゲームに組み込むことはできない。
- プラグインを書く上で、参考になるものとして以下のものがある:
- Houdini Engine Getting Started 自社製エンジンへの統合のためのサンプルプロジェクト
- CAPCOMオープンカンファレンスRE:2019
- Houdini Engine ドキュメント (英語のみ)
- Houdini Engine プラグインソースコード
- $HFS/toolkit/include/HAPI/HAI_API.h
- Houdini インストールディレクトリ以下にある HAPI のヘッダファイル
- Houdini Engine 2 Master Class チュートリアル (2016年、日英字幕つき)
- Houdini Engine API 入門 (@jyouryuusui)
リンク
- Houdini Core について
- H19 のライセンスシステム変更点
- H17 での Houdini Engine の変更点
- Houdini Engine用環境変数 (インディゾーンHoudini情報日本語ブログ)
- Unity/UE4 での Houdini Engine ライセンス処理 (Born Digital サポート)
最終更新: 2024-12-23
0 件のコメント:
コメントを投稿