Houdini Engine用環境変数

Houdini Engine用の環境変数について説明します。Houdini Engineのドキュメントから抜粋したテキストの和訳を載せます。

Houdini Engineは、起動時に以下の環境変数を検索します:

  • HAPI_LICENSE_MODE:
    • この環境変数を未設定または”default“に設定すると、Houdini Engineはまず最初にHoudini Engineライセンスの有無を調べ、なければ、Houdiniライセンスを、それでもなければHoudini FXライセンスの取得を試みます。つまり、一般的にライセンスサーバー上でそれらのライセンスを共有する時に、単一マシン(同一マシン)はHoudini FXライセンスとHoudini Engineライセンスのどちらも使用することができます。もちろんHoudini Engineは、同じHoudini FXライセンスを技術的に使用することができます。
    • この環境変数を”engine_only“に設定すると、Houdini EngineはHoudini Engineライセンスしか受け入れなくなるので、HoudiniライセンスまたはHoudini FXライセンスしか見つからなかった場合にはライセンスチェックに失敗します。
    • この環境変数を”interactive_only“に設定すると、Houdini EngineはHoudiniライセンスまたはHoudini FXライセンスしか受け入れなくなるので、Houdini Engineライセンスしか見つからなかった場合にはライセンスチェックに失敗します。
    • この環境変数を”houdini_escape_only“に設定すると、Houdini EngineはHoudiniライセンスしか受け入れなくなるので、Houdini FXライセンスやHoudini Engineライセンスなどの他のライセンスしか見つからなかった場合にはライセンスチェックに失敗します。
    • この環境変数を”houdini_fx_only“に設定すると、Houdini EngineはHoudini FXライセンスしか受け入れなくなるので、HoudiniライセンスやHoudini Engineライセンスなどの他のライセンスしか見つからなかった場合にはライセンスチェックに失敗します。
  • HAPI_PYTHON_VERSION:
    ‘2.6’または’2.7’に設定すると、使用されるPythonのバージョンを強制的に指定することができます。これは、ホストのPythonバージョンとHoudiniのPythonバージョン間での衝突が起こるWindowsで役に立つことが多いです。ホストのPythonバージョンとは別のバージョンをHoudiniに使用させることで、ライブラリの衝突問題などを修復できることがあります。

Houdini Engineライセンスは、以前はHoudini Batchライセンスという名称でした。
このライセンスの用途は、

  • Houdini Engine for MAYA,UnityなどでHoudiniデジタルアセット(otl,hda)を実行する
  • 分散シミュレーションを実行する
  • HIPからIFD(Instantaneous Frame Description、要はMantraレンダリング記述ファイル)を生成する

です。
Houdini Engineライセンスにはレンダリングの機能は含まれておりません。
レンダリングはRenderライセンスを消費します。これは商用版Houdiniを購入されているユーザー様には無償で必要な分だけライセンスが発行されます。

Houdini IndieはRenderライセンスは1本しか付きません。
尚Houdini Engine IndieではRenderライセンスが1本付いてきます。

Houdiniライセンス、Houdini FXライセンスには、Houdini Engineライセンスの機能が包含されています。
Houdini Indieも同様にHoudini Engine Indieライセンスの機能が包含されています。

上記のHAPI_LICENSE_MODEの利用例を説明します。
例えば、HoudiniFXとHoudini Engineのライセンスがフローティングライセンスだった場合に、1台のマシン上でHoudiniとMAYA(Houdini Engine)の両方を起動させるとします。
デフォルトでは、
HoudiniはHoudini FXライセンス、
MAYAはHoudini Engineライセンス
を取得します。
そもそも、Houdini FXはHoudini Engineのライセンスを包含しているので、これではHoudini Enginライセンスがもったいないです。
そこで、Houdini環境設定フォルダ直下のHoudini.envファイルに
HAPI_LICENSE_MODE=”interactive_only”
と記述することで、MAYAがHoudini FXライセンスを使用するようになります。

HQueueインストール

Houdiniには標準でHQueueと呼ばれるジョブマネージャーが用意されています。
ここでは、そのインストール方法を説明します。
トラブルシューティングに関しては、HQueue日本語ドキュメント(メンバー限定)を参照してください。
尚、HQueueに投入するHIPファイルの場所は、UNCパス(//マシン名/共有フォルダ/***といったパス)またはHQueueサーバーで指定したネットワークドライブにある必要があります。

HQueueNetwork

各マシンの役割について

ジョブ投入マシン
ジョブを投入します。Houdini上でHQueue Render/Simulationレンダーノードを使用してHQueueサーバーにジョブを投入します。
HQueue
サーバー
ジョブを管理し、Webベースのジョブマネージャーを立ち上げます。
HQueue Serverをインストールする必要があります。
HQueueクライアント
ジョブを実行します。
HQueue Clientをインストールする必要があります。
共有フォルダにインストールされたHoudiniを実行することができるので、クライアントにHoudiniがインストールされている必要はありません。ただし、ライセンスを取得する必要があるためLicense Administratorがインストールされていて、Houdini Engine(旧HBatch)ライセンスやRenderライセンスがつかめる必要があります。
共有フォルダ
バッチ処理するHIPファイルを格納する場所です。またクライアントが実行するHoudiniの実行ファイルの場所に指定することもできます。
ライセンスサーバー
クライアントが使用するライセンスサーバー。
ジョブの内容によって使用されるライセンスが異なります。

  • HIPファイルからIFD(Mantra用レンダリング記述ファイル)を生成する→Houdini Engine(旧HBatch)ライセンスを消費します。なければHoudini/Houdini FXライセンスを消費します。
  • IFD(Mantra用レンダリング記述ファイル)からレンダリングをする→Renderライセンスを消費します。
  • HIPファイルからシミュレーションを実行する→Houdini Engine(旧HBatch)ライセンスを消費します。なければHoudini/Houdini FXライセンスを消費します。

ネットワーク環境について

  1. 上記のマシン間でネットワークの通信を妨げる環境、例えばファイアーウォールは無効にしてください。
  2. HQueue Serverサービスのアカウント権限が、共有フォルダで許可されていなければなりません。
  3. HQueue Clientサービスのアカウント権限が、共有フォルダで許可されていなければなりません。
  4. HQueue Clientサービスがライセンスサーバーからライセンスを取得できなければなりません。

HQueue Serverのインストール

通常のHoudiniインストーラーを実行します。
インストーラーの”Choose Components“の項目まで進みます。
HQueue Serverにチェックを付けます。
HQueue ServerをHQueue Clientと兼用したい場合はHQueue Clientにもチェックを付けます。
ここではHQueue Serverだけにチェックを付けた場合で説明します。HQueueServerOptionHQueue Serverのインストール先を指定します。
HQueueServerFolderHQueue Serverサービスの名前を指定します。これはそのままで良いでしょう。
HQueueServerServiceName
共有フォルダの場所を指定します。後で共有フォルダやドライブの割り当てを変更することができますので、初めての方はこの設定のまま【Next】をクリックします。
“I would like to create a shared folder with the following properties“の方を選択すると、その共有フォルダの中に、クライアントで実行するHoudiniの実行ファイルが自動的にコピーされるので便利です。
HQueueServerSharedこれで設定項目が終わりですので、【Install】をクリックしてインストールを完了します。
HQueueServerInstallHQueue Serverのインストールが完了すると、サービス(コントロールパネル>システムとセキュリティ>管理ツール)にHQueueServerサービスが作成されます。
HQueueServerService共有フォルダがHQueueServerとは別のマシンの場合には、HQueueServerサービスのログオンの設定を変更する必要があります。
HQueueServerサービスを選択して右クリックからプロパティを実行します。
HQueueServerPro1“HQueueServerのプロパティ”から、【ログオン】タブをクリックして、【アカウント】で共有フォルダにアクセスできるユーザーアカウントとパスワードを設定します。そしてHQueueServerサービスを再起動します。
HQueueServerPro2

HQueueServerのインストールディレクトリの内容

HQueueServerContentssharedフォルダ
デフォルトでの共有フォルダです。
sharedフォルダには、houdini_distrosフォルダとprojectsのフォルダが作成されています。
houdini_distrosフォルダには、クライアントに実行させるHoudiniの実行ファイルが格納されています。
projectsフォルダには、クライアントに実行させるHIPファイルを配置します。
HQueueServerContentsHoudinihqserver.iniファイル
HQueueServerの初期設定ファイルです。
共有フォルダの場所やその共有フォルダのマウントなどの変更することができます。
# The shared network.
hqserver.sharedNetwork.host = HQueueServer
hqserver.sharedNetwork.path.linux = %(here)s/shared
hqserver.sharedNetwork.path.windows = \\HQueueServer\hq
hqserver.sharedNetwork.path.macosx = %(here)s/HQShared
hqserver.sharedNetwork.mount.linux = /mnt/hq
hqserver.sharedNetwork.mount.windows = H:
hqserver.sharedNetwork.mount.macosx = /Volumes/HQShared
# Server port number.
hqserver.port = 5000

HQueue Clientのインストール

通常のHoudiniインストーラーを実行します。
インストーラーの”Choose Components“の項目まで進みます。
HQueue Clientにチェックを付けます。
HQueueClientOptionHQueue Clientのインストール先を指定します。
HQueueClientInstallFolderHQueueServerのホスト名とポート番号を指定します。
HQueueClientServerHostHQueueClientサービスが共有フォルダにアクセスできる権限を指定します。デフォルトはNetwork Serviceアカウントになっています。
ここでは、後で変更する方法を説明したいのでそのままの設定で【Install】をクリックします。
HQueueClientServiceHQueue Clientのインストールが完了すると、サービス(コントロールパネル>システムとセキュリティ>管理ツール)にHQueueClientサービスが作成されます。
HQueueClientServiceSetHQueueClientサービスのアカウントはデフォルトでは”Network Service”になっています。
ネットワーク環境がドメインではなくワークグループであるなら、この権限では共有フォルダにアクセスできないので必ずユーザーアカウントを設定する必要があります。
HQueueClientサービスを選択して右クリックからプロパティを実行します。
HQueueClientServicePro1“HQueueClientのプロパティ”から、【ログオン】タブをクリックして、【アカウント】で共有フォルダにアクセスできるユーザーアカウントとパスワードを設定します。そしてHQueueClientサービスを再起動します。

HQueueClientのインストールディレクトリの内容

HQueueClientInstallContentshqnode.iniファイル
HQueueClientの初期設定ファイルです。
HQueueServerのホスト名やポート番号を変更することができます。
[main]
server = HQueueServer
port = 5000
hqclientd.batファイル
HQueueClientサービスなしでHQueueClientプロセスを再起動させることができます。
hqclientd.batを実行すればHQueueClientプロセスがPythonプロセスとして実行されます。
hqnode.pidに記述されているプロセスIDでプロセスが起動します。
HQueueClientサービスで接続エラーがでる場合には、このバッチを試すと動くことがあります。

ジョブの投入

ジョブを投入するには、HoudiniでHQueue Render(ネットワークレンダリング用)またはHQueueSimulation(ネットワークシミュレーション)のレンダーノードを追加します。
ここではHQueue Renderレンダーノードを使用した例を説明します。
HQueue RenderのOutput DriverにレンダリングするMantraノードを、
HQueue ServerにはHQueueServer名:ポート番号を指定します。
Mantra OptionsのGenerate IFDsがデフォルトでチェックが付いています。これはHIPからIFDへの変換をクライアント側にさせるかどうかです。Houdini Engine(旧HBatch)ライセンスがないのであれば、このチェックをオフにします。
Submission

ジョブのモニタリング

ジョブの管理は、WebブラウザのURLにHQueueServer名:ポート番号を指定すると、ジョブをモニタリングすることができます。
HQueueWeb

Houdini Engine for Unreal Engine4.6.1のインストール

Houdini Engine for UE4.6.1のインストール方法

2015年2月26日、2015年4月にUnreal Engine向けのHoudini Engineのパブリックベータ版のリリースがアナウンスされました。
HE4UE_Announce
そのパブリックベータ版ではUE4.7の対応が予定されております。
現在、既に通常の64bit版Houdini14または64bit版Houdini Engine14をインストールしていれば、Houdini Engine for UE4.6.1プラグインも既にインストールされています。
このプラグインに限っては、現在のところ、フリーのHoudini Apprenticeでも利用できるようになっています。
MAYA版、Unity版のHoudini EngineはHoudini Engine以上のライセンスが必要です。
今回はWindows OSを例に説明します。

HoudiniまたはHoudini Engineインストールディレクトリ\engine\unrealの中にあるHoudiniEngineフォルダをコピーします。2015-03-13 18_22_42Unreal Engineインストールディレクトリ\4.6\Engine\Plugins\Runtimeフォルダに、そのHoudiniEngineフォルダをペーストします。
2015-03-13 18_26_48これでHoudini Engineプラグインのインストールが完了です。

Unreal Engine4.6.1を起動し、インポートをクリックします。
UE1
Houdiniのデジタルアセット(.otl、.hdaなど)が読み込めるようになります。
UE2今回はOrboltからUnity Staircaseのデジタルアセットを読み込んでみました。
UE3
Houdini14.0.279以降からは、HoudiniインストーラーでHoudini Engine for Unreal4のプラグインをインストールするかどうかのオプションが付きました。
HE14.0.279

Houdini Engine for Unity4.6のインストール

Houdini Engine for Unity4.6のインストール方法

Unity4は32bitアプリケーションであるため、Houdini Engineをインストールするには、32bit版のHoudiniまたはHoudini Engineのインストーラーを使用する必要があります。
今回はWindows OSを例に説明します。
Houdiniでデジタルアセットを作成し、Unity4.6でそれを利用するのであれば32bit版のHoudiniのインストーラーをダウンロードします。
Houdiniでデジタルアセットを作成せず、ただUnity4.6でそれを利用するだけであれば32bit版のHoudini Engineのインストーラーをダウンロードします。

1.Houdini本体のインストーラーを使う場合
Sidefxのダウンロードサイトから32bit版Houdini本体のインストーラーをダウンロードします。
HoudiniSetupダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
コンポーネント選択で必要なコンポーネントを選択し、[Next]をクリックします。
HoudiniInstallHoudini Engine for Unity 4.6 32-bitにチェックを付けて[Next]をクリックします。
2015-03-13 17_18_02後はインストール場所等を指定して、進めていけばインストールの完了です。
これで”Houdiniインストールディレクトリ\engine\unity“にhoudini-engine.scripts.unitypackageがインストールされました。

2.Houdini Engineのインストーラーを使う場合
Houdiniでデータを作成しないけれども、UnityでHoudiniのデジタルアセットを利用したい方ならHoudini Engineだけをインストールすることもできます。
Sidefxのダウンロードサイトの下側で32bit版Houdini Engineのインストーラーをダウンロードします。
HoudiniEngineDownloadダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
そして、インストール場所を指定して[Install]をクリックします。
これでHoudini Engineがインストールされます。

Unity4.6でHoudini Engineプラグインを読み込む

Unity4.6を起動して、AssetsメニューからImport Package/Custom Packageを実行します。
Unity1HoudiniまたはHoudini Engineインストールディレクトリ\engine\unityの中にあるhoudini-engine.scripts.unitypackageを開きます。
Unity2そして、Importをクリックします。
Unity3これでProjectのAssetsにHoudiniプラグインがインストールされ、Houdini Engineメニューが追加されました。
Unity4

Houdini EngineメニューのLoad Houdini AssetからHoudiniデジタルアセットを開きます。
HoudiniまたはHoudini Engineインストールディレクトリ\engine\unity\Assets\OTLs\Samplesの中にHoudiniデジタルアセットのサンプルがあります。
Unity5そのサンプルフォルダのEverGreenフォルダにあるEverGreen.otlを開くと、下図のようなプロップが読み込まれます。このプロップのパラメータをUnity側で変更することができます。
Unity6

Houdini Engine for MAYAインストールとトラブルシューティング

Houdini Engine for MAYAのインストール方法

インストールする方法には、
Houdini本体のインストーラーを使う方法とHoudini Engineのインストーラーを使う方法があります。
前者はHoudiniを使用し且つMAYAでHoudini Engineも利用する方
後者はHoudiniを使用せずMAYAでHoudiniのデジタルアセットを利用する方に向いています。
今回はWindows OSを例に説明します。

1.Houdini本体のインストーラーを使う場合
SidefxのダウンロードサイトからHoudini本体のインストーラーをダウンロードします。
インストーラーには32bitと64bit版がありますが、32bit版はUnity4向けにあり、Houdini Engine for Mayaに関しては64bit版のインストーラーをダウンロードしてください。
HoudiniSetupダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
コンポーネント選択で必要なコンポーネントを選択し、[Next]をクリックします。
HoudiniInstallHoudini Engine for Maya 64-bitにチェックを付けて[Next]をクリックします。
HoudiniInstallMaya後はインストール場所等を指定して、進めていけばインストールの完了です。
これで”Houdiniインストールディレクトリ\engine\maya“にHoudini Engineのモジュールがインストールされました。
Houdini Engineプラグインの設定は、事前にインストールされているMAYAに対して自動的に行なわれています。
“MAYAインストールディレクトリ\modules”の中にhoudiniEngineモジュールが入っていることを確認します。
module次に、MAYAを起動して、WindowメニューのSettings/PreferencesサブメニューからPlug-in Managerを実行します。
houdiniEngine.mllのLoadedにチェックを付けます。
MAYAPluginmanagerこれでMAYAのメニューにHoudini Engineの項目が追加されました。
MAYAEngineMenu2.Houdini Engineのインストーラーを使う場合
Houdiniでデータを作成しないけれども、MAYAでHoudiniのデジタルアセットを利用したい方ならHoudini Engineだけをインストールすることもできます。
Sidefxのダウンロードサイトの下側でHoudini Engineのインストーラーをダウンロードします。
HoudiniEngineDownloadダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
そして、インストール場所を指定して[Install]をクリックします。
これでHoudini Engineがインストールされます。
しかし、このインストーラーは1.Houdini本体のインストーラーを使う場合とは異なり、手動でプラグインの設定をする必要があります。
以下にその手順を載せます。
エクスプローラから”Houdini Engineインストールディレクトリ\engine\maya“に移動します。その場所にMAYAのバージョン別のフォルダがあるので、目的のバージョンのフォルダの中に進みます。
HEModuleDirhoudiniEngine-mayaバージョン名のファイルをコピーします。
HEModuleコピーしたファイルを”MAYAインストールディレクトリ\modules”の中にペーストします。
次に、MAYAを起動して、WindowメニューのSettings/PreferencesサブメニューからPlug-in Managerを実行します。
houdiniEngine.mllのLoadedにチェックを付けます。

トラブルシューティング

MAYAのPlug-in ManagerでhoudiniEngine.mllのLoadedにチェックを付けて以下のエラーが出た場合の対処方法を説明します。
HE4MAYAErrorMAYAのScript Editorで見ると、
// Error: file: C:/Program Files/Autodesk/Maya2015/scripts/startup/autoLoadPlugin.mel line 46: Unable to dynamically load : C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/engine/maya/maya2015/plug-ins/houdiniEngine.mll
指定されたプロシージャが見つかりません。
// Error: file: C:/Program Files/Autodesk/Maya2015/scripts/startup/autoLoadPlugin.mel line 46: 指定されたプロシージャが見つかりません。
 (houdiniEngine) //
// Error: line 1: Unable to dynamically load : C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/engine/maya/maya2015/plug-ins/houdiniEngine.mll
指定されたプロシージャが見つかりません。
 //
// Error: line 1: 指定されたプロシージャが見つかりません。
 (houdiniEngine) //
のメッセージが表示されている場合、MAYA側でHoudini Engineのパスが見えていないことが原因として考えられます。

対処その1.
MAYAインストールパス\modulesの中にあるhoudiniEngine-mayaバージョン名をテキストエディターで開き、そこに記述されているHoudini Engineのパスがあっているか確認してください。間違えていれば修正します。
対処その2.
システム環境変数Pathで指定されている文字列の文字数を確認してください。2015-03-10 14_20_02その文字列とHoudini(またはHoudini Engine)のインストールパス(例. C:/Program Files/Side Effects Software/Houdini Engine 14.0.65/bin)の長さの合計が
Windows OSの制限値である1023文字以内に収まっている必要があります。
この条件が満たされなかった場合には、上記のエラーが起こります。
この解決策は、MAYAのプリファレンスフォルダ(<ドライブ名>: \Documents and Settings\<ユーザ名>\My Documents\maya\<バージョン>の中にあるscriptsフォルダにuserSetup.pyという名前でテキストファイルを作成します。

そのテキストに
import os
os.environ[‘PATH’] = ‘C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/bin;’+ os.environ[‘PATH’]
のように記述します。
これで1023文字数を超えたPathでもMaya側で正しく取り込まれるため、このエラーを解決することができます。