Houdini 19.5 リファレンス スタンドアローンのユーティリティ

hserver

Houdiniは、このプロキシサーバーを介してsesinetdライセンスデーモンと通信します。

On this page

Warning

バージョン18.5の HoudiniServer では、接続されているすべてのライセンスサーバーがバージョン 18.0.287 以降である必要があります。

hserverは、同じコンピュータ上でHoudini,Engine,Mantra,Karma,その他の製品の起動を走らせるサービスです。 これは、sesinetdサーバーのプロキシとして機能し、コンピュータ上で起動されている同一プロダクトの複数コピーがsesintedからそのタイプのライセンスを1本だけチェックアウトされるように保証します。

常にバックグラウンドで実行されるsesinetdとは違い、Linux/OSXだと最初にHoudiniを起動した時に“必要に応じて”hserverが実行され、Windowsだとhserverがサービスとして実行されます。 このhserverプロセスは、実行された後はバックグラウンドで実行を継続することができます(Houdiniを再起動する時にhserverを停止して起動する必要がありません)。 異なるバージョンのHoudiniを起動させたいのであれば、どれかのアプリケーションを起動する前に、その起動させたい一番新しいバージョンのHoudiniを使用してhserverを開始させることを推奨します。 Windowsでは、hserverが完全にサービスになっているので、手動でhserverを起動する必要はありません。

Houdiniコマンドライン環境からHoudiniを立ち上げている場合、hserverはそのコマンドパス上にあります。 新しいコマンドラインオプションを使って手動でhserverを再起動することができます。 または、hserverインスタンスが既に実行されている時にhserverを実行すると、既存のインスタンスと通信されます(以下のコマンドラインからhserverを制御する方法を参照してください)。

New

hserverは新しいコマンドラインと構成ファイルシステムを使用しています。 この新しいコマンドラインでは、(以前のバージョンと同じ)短い文字キーだけでなく、よりわかりやすい英語システム(例えば、–user-group=“Beta”)も使用できるようになりました。 新しい構成ファイルは適切なiniファイルになり、これによりすべて従来の構文が適用されるようになりました。 つまり、どのオプションも必ずname=valueで指定しなければならなくなりました。 一部の古いオプションファイルはこの構文に準拠できていない場合があるので、hserverはそのようなオプションを取得しなくなることに注意してください。

Windows: Houdini19以降のhserverは、Linux/OSXのhserverと同様に非サービスアプリケーションとして実行することができます。 この機能はオプトイン(任意選択)で、サービスがインストールされているかどうか、hserverをサービスとして実行するように設定されているかどうかで判断されます。

  • Houdiniからhserverを再起動させるのは、HTTP(S)でのみ対応しています。

  • .sesi_licenses.prefファイルはC:\Windows\<username>\AppData\Localにあります。

  • ログファイルの場所は、Houdiniアプリケーションが使用するHOUDINI_TEMPフォルダと同じ場所になります。

用途に合わせたライセンスセットアップの方法の詳細は、インストールとライセンス設定のガイドを参照してください。

オプションファイル

オプションファイルhserverオプションを指定することができます。 このファイルは、オペレーティングシステム別にファイル名やファイルの場所が異なります。

Mac

Houdiniパス内のどこにでもhserver.optオプションファイルを配置することができます。 このパスには、デフォルトでユーザープリファレンスディレクトリ($HOUDINI_USER_PREF_DIR)が含まれているので、そのディレクトリが使用可能です。

Windows

C:\Program Files\Side Effects Software\Houdini Server\内にhserver.iniオプションファイルを配置してください。

Linux

Houdiniパス内のどこにでもhserver.optオプションファイルを配置することができます。 このパスには、デフォルトでユーザープリファレンスディレクトリ($HOUDINI_USER_PREF_DIR)が含まれているので、そのディレクトリが使用可能です。

オプションファイルには以下の行を記述することができます。#で始まる行がコメント扱いになって無視されます。

ログオプション

logfile=path

ログの書き込み先となるファイルパス。

enableConsole=0|1

hserverがコンソールにログを書き出すかどうかを指定します。 Windowsでは、このオプションに対応しておらず、すべてのログがログファイルに書き出されます。

disableColor=0|1

コンソールにログを書き出す際にhserverがカラーを使用しないようにするかどうかを指定します。

minLogLevel=level

このオプションはコマンドラインの-uオプションと同じです。 ログレベルの値のリストは-uを参照してください。

minConsoleLogLevel=level

このオプションはコマンドラインの-Uオプションと同じです。 ログレベルの値のリストは-Uを参照してください。

logToSystem=0|1

システムログファイルにログを書き出します。 hseverログへの書き出しは、このオプションの影響を受けません。

サーバーオプション

maxThreads=max

このサーバーが内部で使用するスレッドの最大数。 ここには、同時にhserverと通信させたいプロセスの最大数よりも多い数を指定してください。 デフォルトは6です。6未満の値は無視されます。

readIPMask=ip_mask

このマスクに合致したIP4アドレスを持つクライアントのみがhseverから情報を要求することができます。 デフォルトでは、すべてのクライアントがhseverに接続できるように空っぽになっています。

writeIPMask=ip_mask

このマスクに合致したIP4アドレスを持つクライアントのみが、hseverの起動、hserverのシャットダウン、レンダリングの一時停止/再開/強制終了、ライセンスサーバーの変更をすることができます。 デフォルトでは、すべてのクライアントがhseverに接続できるように空っぽになっています。

debugMode=0|1

hserverをデバッグモードにするかどうかを指定します。 これは、SideFX開発者がバグの原因を絞り込むのに役立ちます。

useExperimental=0|1

ライセンスを要求する時に、一度に1ライセンスだけ送信するのではなくて、試行してチェックアウトしたいプロダクトのリストを送信します。

これには、18.5以降のライセンスサーバーへの接続が必要です。

disableFastFDSet=0|1

遅いレガシーのサーバー実装を使用します。

このオプションは次のリリースで削除される予定です。

storageLocation=file location

hserverで使用される永続的な情報が格納されるカスタムファイルの場所。

ネットワークレンダー

maxRenders=max

使用可能なレンダラープロセスの最大数。 デフォルトは、マシンのプロセッサ数です。マシンに搭載されている物理プロセッサよりも多いレンダラープロセッサの数を指定すると、パフォーマンスに影響が出ます。

maxUsage=pct

CPUの最大使用率(パーセント記号を含めないでください)。 ホストマシンに対するサーバープロセスの平均負荷がこの使用率を超えると、サーバーはレンダリングの受け入れを停止します。 100より大きい値を指定すると、このチェックが無効になります。デフォルトは101(無効)です。

このオプションの使用には注意してください。 これは 負荷を時間で割った平均 に基づいているので、この平均が閾値以内に収まる前にサーバーが複数のレンダリングの受け入れを拒否することがあります。

renderOnly=0|1

これを1に設定すると、非グラフィカルライセンスのみが使用可能になります(これとgraphicsOnlyの両方を1に設定すると、両方とも無視されます)。 これによって、“グラフィカル”アプリケーション(インターフェースを持ったアプリケーションのことで、例えばHoudini)がこのホストを使用しないように制限することができます。

graphicsOnly=0|1

これを1に設定すると、グラフィカルライセンスのみが使用可能になります(これとrenderOnlyの両方を1に設定すると、両方とも無視されます)。 これによって、コマンドラインアプリケーション(例えばhbatch)がこのホストを使用しないように制限することができます。

relaxNonGraphics=0|1

これを1に設定すると、たとえrenderOnly1でも、非グラフィカルアプリケーションがグラフィカルライセンスを使用することができます。 ただし、非グラフィカルアプリケーション(hbatch)はグラフィカルライセンスを使用することはできません。

hold=license secs

hserverがアプリケーションのライセンスをチェックアウトする時に、使用後にそのライセンスを返却せずに“保持”するように指定することができます。 これにより、同じマシンでのライセンスの再取得が非常に高速になりますが、ライセンスが縛られます。

この2つの引数は、ライセンスタイプとそのタイプの各ライセンスを保持する秒数です。 この秒数に-1を指定すると、サーバーはそのタイプのライセンスを無期限に保持します。デフォルトは次のようになっています:

hold Houdini-Master 3600
hold Render -1

(つまり、FXライセンスを1時間保持し、Renderライセンスを無期限に保持します。Renderライセンスは無料なので、今後ずっと使用するために無期限に保持するのが妥当です。)

mantra=version=X.X command="command"

特定のバージョンのMantraレンダラーでリモートレンダーを開始する時にレンダーコマンドを指定します。 これによって、同じホスト上で複数バージョンのレンダラーに対応することができます。

vmantra=version=X.X command="command"

上記のmantraオプションと同じです。

APIオプション

readTimeoutMs=milliseconds

このサーバーがsesinetdライセンスサーバーからの応答を待つ最大時間(ミリ秒)。 デフォルトは5分です。 この時間を過ぎるとAPIコールが行なわれなくなります。 この値を変更しないことを推奨します。

(hserverが複数のライセンスサーバーを使用するように設定されている場合、これは、リスト内の1つのサーバーからの応答を諦めて次のサーバーに移動するまでの時間です。)

connectTimeoutMs=milliseconds

接続タイムアウトを指定します。 これは、hserverが接続を諦めるまでエンドポイントへの接続を試みるミリ秒数です。 デフォルトは30秒です。

ClientID=value

APIキーを用意するのに必要となるクライアントID。 ClientSecretも用意する必要があります。

ClientSecret=value

APIキーを用意するのに必要となるクライアントシークレット。 ClientIDも用意する必要があります。

enableIPv6=value

IPv6対応を有効にします。

APIKey=client id client secret

APIキー情報のクライアントIDとクライアントシークレットを指定します。 詳細は、APIキーによるライセンス認証を参照してください。

APIKeyFile=file location

hserverで使用するAPIキー情報を指定したファイルの場所。 詳細は、hkeyを参照してください。

ライセンスのパーティション化

userGroup=group_name

ライセンスサーバーにライセンスを要求する時に使用するユーザグループ。

コマンドラインからhserverを制御する方法

情報

--help

このヘルプを表示します。

--ini-help

iniヘルプを表示します。

--version

hserverバージョン文字列をプリントします。

ログオプション

-u/--min-logfile-level

ログファイルの最低エラーログレベルを指定します。

  • 0: なし

  • 1: メッセージ(デフォルト)

  • 2: プロンプト

  • 3: 警告

  • 4: エラー

  • 5: 致命

-U/--min-console-log-level

コンソールの最低エラーログレベルを指定します。

  • 0: なし

  • 1: メッセージ

  • 2: プロンプト(デフォルト)

  • 3: 警告

  • 4: エラー

  • 5: 致命

-B/--enable-console

コンソールのログを有効にします。

-b/--disable-console-colors

デバッグコンソールカラーを無効にします。

-Y/--log-to-system

オプションファイル内のlogToSystemと同じです。

サーバーオプション

-L/--logfile file

logfileオプションを設定します。 詳細は、ログセクションを参照してください。

-D/--debug-mode

サーバーをデバッグモードにします。

-d/--run-in-foreground

hserverをバックグラウンドで実行しないようにします。 このオプションは、Linux/OSXで利用可能で、WindowsではhserverがWindowsサービスとして実行されていない時にのみ利用可能です。

-t/--max-threads count

maxThreadsオプションを設定します。 デフォルトは6です。

-m/--read-mask ip_mask

readIPMaskオプションを設定します。 デフォルトは+.+.+.*です。

-M/--write-mask ip_mask

writeIPMaskオプションを設定します。 デフォルトは+.+.+.*です。

-E/--enable-experimental

これは、オプションファイル内のuseExperimentalと同じです。

-C/--force-http

接続URLに関係なくhttp通信を使用し、レガシーの通信プロトコルを代用しません。

ネットワークレンダーオプション

-n/--render-only

renderOnlyオプションを有効にします(非グラフィカルレンダリングのみを許可します)。これと-Gの両方を設定すると、両方とも無視されます。

-G/--graphics-only

graphicsOnlyオプションを有効にします(グラフィカルレンダリングのみを許可します)。これと-nの両方を設定すると、両方とも無視されます。

-g/--relax-non-graphical

relaxNonGraphicsオプションを有効にします。

-r/--max-renders max

maxRendersオプションを設定します。

-a/--max-usage pct

maxUsageオプションを設定します。

クライアントオプション

-h/--host host

オプションで、照会/制御するリモートホストを指定することができます。

-l/--info

起動中のhserverの情報を取得します。

-V/--mantra-commands

すべてのバージョン固有のMantraコマンドをリストします。

-q/--quit

起動中のhserverを閉じます。

-Q/--blocking-quit

起動中のhserverを閉じます。 クライアントに応答する前に、サーバーはすべてのライセンスと実行中のタスクを放棄します。 これは、Dockerなどの物理的にシャットダウンができないシステムのためだけに設計された事実上の阻止型のシャットダウンです。

-p/--reload-options

起動中のhserverにオプションファイルをリロードさせます。

-P/--pause-pid pid

pidで指定されたhserverのタスクを一時停止します。

-R/--resume-pid pid

pidで指定されたhserverのタスクを再開します。

-S/--server servers

使用するライセンスサーバーをサーバー名で選択します。

-K/--kill-pid pid

Killするhserverのタスクをpidで指定します。

-H/--hold-license license time

プロセスで不要になった後でも保持したいライセンスとその時間を指定します。

APIオプション

-T/--read-timeout-ms millis

readTimeoutオプションを設定します。 デフォルトは15秒です。

--connect-timeout-ms millis

サーバーへの接続を試みる最大ミリ秒数。

--clientid value

APIキーを用意するのに必要となるクライアントID。 ClientSecretも用意する必要があります。

--clientsecret value

APIキーを用意するのに必要となるクライアントシークレット。 ClientIDも用意する必要があります。

ライセンスのパーティション化

--user-group group name

ライセンスサーバーにライセンスを要求する時に使用するユーザグループ。

サーバーのリストを変更する

クライアントマシンのライセンスセットアップを設定する時、サーバーリストがリモートのライセンスサーバーを指すように変更する必要があることが多いです。 ライセンスサーバーの変更は、 Hkey ▸ File ▸ Change License Server またはhserver -S <hostname>から行なうことができます。 どちらの方法でも、普段スタジオ環境のセットアップに関わっていない人の介入が必要になります。 スタジオ環境のセットアップの観点においてHoudiniインストールの自動化の望ましい方法は、DNS SRVエントリーを使用することです。 DNS SRVエントリーを使用するメリットは、IT部署がスクリプトを更新したり、手動で各クライアントマシンを更新することなく、サーバーリストを更新することができるという点です。 さらに、DNS SRVを使用することで、スタジオ環境で冗長サーバーのセットアップを上手く統合することができます。

アプリケーションがサーバーリストを決める順番は以下のとおりです:

  1. アプリケーションがhserver でない 場合、hserverからサーバーリストを照会します。

  2. アプリケーションがhserverでWindowsサービスとして適切に起動している場合、レジストリキーがチェックされます。このレジストリキーはhklm\software\Side Effects Software\Houdini内にあるLicenseServerという変数です。

  3. アプリケーションがLinux/OSX上で起動している場合、または、Windowsサービスとして適切に 起動していない 場合、SESI_LMHOSTという名前の環境変数がチェックされます。

    Windows

    hserverはシステムアカウントで実行されるので、この環境変数はユーザーアカウントだけでなくシステムアカウントからもアクセスできる必要があります。

  4. アプリケーションがLinux/OSX上で起動している場合、または、Windowsサービスとして適切に 起動していない 場合、.sesi_licenses.prefが使用されます。

    Windows

    このファイルの場所は%USERPROFILE%/AppData/Local/.sesi_licenses.prefです。 hserverはシステムアカウントで実行されるので、hserverが適切なサービスとして起動されている場合には、このファイルの場所は異なります。 そのため、このファイルを手動で調整することは推奨しません。ライセンス管理ソフトウェアがこれを自動で調整してくれます。

    Linux

    このファイルの場所は$HOME/.sesi_licenses.prefです。

    Mac

    このファイルの場所は$HOME/.sesi_licenses.prefです。

  5. DNS SRVエントリーがチェックされます。アプリケーションは_sesi-lmを検索します。

  6. mDNSエントリーがチェックされます。sesinetdは、それができるようにこのエントリーをセットアップします。ユーザー側で何もアクションする必要はありません。

  7. 上記の選択肢がどれもサーバーリストの検索に失敗したら、localhostが使用されます。これは、新規マシン上に新しくHoudiniをインストールする場合が当てはまります。

ライセンスサーバーのチェーン化

この構成によって、ライセンスサーバー(sesinetd)をチェーン化することができます。 これは、仕様(例えば、ライセンスプロダクトタイプ)に基づいてライセンスサーバーを分けることができます。 この構成の時、Houdiniはsesinetdサーバーリストの最初のsesinetdサーバーからライセンスのチェックアウトを試みて、ライセンスが空いていなければ次のサーバーからライセンスのチェックアウトを試みます。

この構成リストをセットアップするには、接続先となるライセンスサーバーを単一のsesinetdを指定するのではなくて、セミコロンで区切ったライセンスサーバーのセットを指定します。 このリスト内の1番目のsesinetdがコマンドの実行(つまり、チェックアウト)を試みて、何かしらの理由(接続できない、コマンドが失敗など)で失敗すると、次のsesinetdを試みます。 “hserver -S”を使ってこのリストを指定する時は、この接続先のリストを引用符で閉じてください。例えば、hserver -S “sesinetd1;sesinetd2”です。

セミコロンの代わりにカンマが使用されていれば(以前の対応していない構成を使用した場合)、このアプリケーションはエラーをログに書き出し、内部的にカンマをセミコロンと想定してその構成を使用します。 以前のバージョンのHoudiniと完全に互換性を持てるように、このアプリケーションはそのキャッシュ化されたサーバー情報の場所を更新しません。

この構成を使用するには、最低でもバージョン18.0のHoudini License Server(hserver)が必要になります。 現在のところ、sesinetdとHoudiniのバージョンは、この構成ではそのバージョンに合わせる必要性はありません。

HTTP通信に対応

HoudiniServer 側でhttp通信を有効にするには、接続URLのプロトコルを指定する(例えばhserver -S http://licenseserver)、または、コマンドラインに-Cを追加する、または、 HoudiniServer オプションファイルにenableHttp 1を追加します。 Houdini18.5以降では、すべてのアプリケーションでhttp通信がデフォルトで有効になっています。

http通信に対応する前のHoudiniでは、従来sesiプロトコルと呼ばれる独自のフォーマットを使用していました。 このプロトコルは非常に雑な作りで、何か問題が起きた時にクライアントに知らせるのが恐ろしく困難でした。 それに対して、httpは非常に上手く作られたプロトコルで、サードパーティ製アプリケーションで広く対応しています。

HTTPサポートテーブル

≤ 17.5

18.0

18.5

19.0

hserver(サーバーとして)

No

Yes(最小サポート)

Yes

Yes(フルHTTPSサポート)

hserver(クライアントとして)

No

Yes

Yes

Yes

sesinetd

No

Yes (最小サポート)

Yes

Yes (フルHTTPSサポート)

sesictrl/hkey

No

Yes

Yes

Yes

ログファイル

ログファイルは、サーバーが健康状態に関する情報、接続情報、他に役立つ情報を出力する場所です。

各ログのエントリーの書式はYYYY-MM-DD HH:MM::SS: SYSTEM - MESSAGEです。

  • HTTP Clientは、curlコマンドからのメッセージ、または、接続/クライアントシステム関連のメッセージです。

Note

curlコマンドのverboseオプションが有効になっていれば、その出力がこのシステム下でログに書き出されるようになります。 これらのログエントリーの詳細は、curlのウェブページを参照してください。

  • Sqliteは、Sqlite自体から送られてくるメッセージです。SqliteはCookieの保存や他の永続的なストレージの需要でよく使用されています。

  • Network Managerは、ログファイル内で最もよく見かけるメッセージです。このメッセージは通常ではサーバー自体から送られてきます。たいていの場合、これは受信した接続に関する情報またはリクエストへの応答をログに書き出す際に使用します。

  • Stats Managerは、統計マネージャから送られてくるメッセージです。これは通常では起動中のサーバーに関する統計情報関連のメッセージです(例えば、リクエストの最大処理時間)。

  • Error with api responseは、API応答のエラーの結果を示したメッセージです。

  • Access Tokenは、APIキーから送られてくるメッセージです。これは通常では無効なAPIトークンに関するメッセージまたはAPIトークンの更新ができない旨のメッセージです。

  • Serviceは、サービス自体から送られてくるメッセージです。

  • Applicationは、アプリケーション関連のメッセージです。このエラーメッセージは非常に珍しいです。

Starting release server v18.5.296 at http://127.0.1.1.:1714というログエントリーは、そのサーバーが開発サーバーかリリースサーバーのどちらなのか、サーバーのバージョン、サーバーが起動しているIPアドレスとポートを示しています。 これは、起動しているサーバーのバージョンを知る必要がある場合に役立ちます。 他にも、複数のサーバーのバージョンが含まれているログファイル内でどのバージョンが何を生成したのかを確認しやすいです。

Using fast fd set configuration...というログエントリーは、ソケットで利用可能なデータを検出するためにサーバーが使用している仕組みを示した単なるエントリーです。 サーバーが高速なFD(File Descriptor)セット構成を使用している場合、サーバーはLinuxだとepoll、OSXだとkqueueを使用します(現在のところ、Windowsはこのような構成に対応していません)。 サーバーがデフォルトのFD(File Descriptor)セット構成を使用している場合、どのプラットフォームでもpoll()が使用されます。

HTTP応答ログエントリー

通常のHTTP応答ログエントリーの書式はMETHOD ROUTE HTTP/VERSION" CODE CODE_MESSAGE COMMAND RESPONSE_TIMEです。

エントリーの例: 2020-06-17 19:48:02: Network Manager - "POST /api HTTP/1.1" 200 Ok cmd_ping 0.0022450001s

  • METHOD: POST, GET, HEADなど

  • ROUTE: /api, /login, /

  • VERSION: 1.1, 1.0, 0.9

  • CODE: 200, 400, 404

  • CODE_MESSAGE: Ok, Bad Request, Not Found

  • COMMAND: cmd_ping

  • RESPONSE_TIME: 0.001s

Statistics Managerログエントリー

Process Timeエントリーは、平均処理時間とサーバーが起動してから現在までのすべてのリクエストのうちの最大処理時間を示します。 これは、リクエストが処理を開始してからその処理が応答するまでの時間で測定されます。

エントリーの例: 2020-06-17 19:46:51: Stats Manager - Process Time: avg 0.010118s, max 0.020763s

Queue Wait Timeログエントリーは、すべてのリクエストがキュー内でワーカースレッドで処理されるのを待機した平均時間と最大時間を示します。 これらの時間は、サーバーが起動してから現在までの期間における値です。

エントリーの例: 2020-06-17 19:46:51: Stats Manager - Queue Wait Time: avg 3.6666667e-05s, max 6.5e-05s

Queue Sizeログエントリーは、現在のキューサイズとこれまでのキューの最大サイズを示します。 これらのサイズは、サーバーが起動してから現在までの期間における値です。

エントリーの例: 2020-06-17 19:46:51: Stats Manager - Queue Size: current 0, max 1

Connection Countログエントリーは、現在サーバーが繋げている接続数を示します。 例えば、サーバーが接続を再使用すると、この数はその再使用した接続数を示すようになります。

エントリーの例: 2020-06-17 19:46:51: Stats Manager - Connection Count: 0

APIキーによるライセンス認証

hserver向けのAPIキーを追加するには、APIKeyオプションを使って個々のAPIキーを追加するのか、または、APIKeyFileを使ってAPIキーファイルを使用します。 APIKeyFileオプションでは、HOUDINI_API_KEY_FILEで使用されているのと同じファイルを指すことができます。 新しいAPIキーを生成するには、sidefx.comに進んでから、Register a new applicationを選択してください。 APIキーは、電子メールアドレス/パスワードによる認証と同じレベルの注意と安全性を確保して扱ってください。

hkeyとsesictrlに対してAPIキーをセットアップする方法の詳細は、hkeyを参照してください。

Houdiniライセンスシステム

New

Houdini19から新しいライセンスシステムが利用可能になりました。 houdini.envファイルにHOUDINI19_CHECKOUT_SYSTEM=1を追加することで、これを有効にすることができます。

Warning

このライセンスシステムでは、hserverがHoudini19以降、且つ、sesinetdが18.5以降である必要があります。 また、このシステムでは、オプション、挙動、環境変数がすべて利用できるわけではありません。 それらはもはや不要になったか、または、もっと良いメソッド/ワークフローを介して利用できるようになっています。

ライセンスプロダクトは階層に基づいて順序が決定されます。 この階層は、金額的費用とそのプロダクトで利用可能な機能に基づいています(つまり、FX > Core > Engineの階層になります)。 このライセンスシステムは、リスト内のリストに基づいて動作します。 各サブリストはライセンスモード(Commercial, Education, Indie, Non Commercial)を意味します。 また、このリストの順序はサブリストの優先度をhserverに伝えます(最初のサブリストの優先度が一番高いです)。 これらのサブリストの順序は[Commercial, Education, Indie, Non Commercial]になっています。

Hythonライセンスリスト
[
[Engine, Core, FX],
[Engine EDU, EDU],
[Engine Indie, Indie],
[Apprentice]
]

ライセンスモード

ライセンスリスト

Commercial

Engine, Core, FX

Education

Engine EDU, EDU

Indie

Engine Indie, Indie

Apprentice

Apprentice

この例では、ライセンスチェックアウト順の観点でみると、このリストのリストを[Engine, Core, FX, Engine EDU, EDU, Engine Indie, Indie, Apprentice]に変換することができます。 HythonのCommercialモードリストをよく見ると、[Engine, Core, FX]のリストになっています。 EngineがHythonに最も適したライセンスタイプであり、しかも一番安価なので、ほとんどのユーザはCoreやFXのライセンス取得を試みる前にこれらのライセンスを使い果たしたいので一番最初にリストされています。 FXが一番高価でまったくHython向けに意図されていないのですが、FXをHythonの実行に使用することができるので、たいていのユーザが最後の頼みの綱としてこれを使用したいので最後にリストされています。 メインリスト内の各サブリストはライセンスモードを示し、そのサブリスト内のアイテムはアプリケーションに基づいた階層による個々のライセンス順を示します。

このシステムの柔軟な設計が活かせる場面:

仮にスタジオで何人かのアーティストがショーAで作業し、何人かがショーBで作業し、何人かがショーAとショーBの両方で作業している複数のプロジェクタが立ち上がっているとします。 ショーAではどのアプリケーションにもまったくFXライセンスを使用できないようにしたいとしましょう。 ショーA向けに単純な起動スクリプトを作成して、その起動スクリプトによって起動されるアプリケーションのコマンドラインまたは環境に--skip-licenses="Houdini-Master"を追加することでFXライセンスをスキップさせることができます。 システム管理者は、環境変数もhserverも他のアプリケーションも管理する必要がありません。 それどころか、各ショーで求められるライセンスの挙動を管理できるようにバージョンコントロールシステムシステムにチェックインされる起動スクリプトを作成することができます。 これによって、システム管理者はライセンスの挙動を更新してそれをバージョンコントロールシステムにプッシュすることができるので、次回アーティストが更新された時に新しいライセンスの挙動を反映することができます。

プロダクト交換

プロダクト交換とは、ライセンスを要求したアプリケーションのリストのリストに基づいて優先度の高いまたは低いライセンスとライセンス交換する処理のことです。 プロダクト交換の例:

  1. Houdini Coreが開かれました。Coreライセンスがチェックアウトされます。

  2. Houdini FXが開かれました。FXライセンスがチェックアウトされます。Coreライセンスは返却され、そのHoudini CoreアプリケーションはそのFXライセンスで実行中です。

  3. Houdini FXが閉じられました。Coreライセンスがチェックアウトされ、そのFXライセンスが返却されます。そのHoudni Coreアプリケーションは今はそのCoreライセンスで実行中です。

コマンドラインオプション

Note

以下に載せているすべてのコマンドラインオプションは、hserverではなくアプリケーションに適用します。

--list-license-checks

以下のどのオプションを使用する場合でも、アプリケーションが要求しようとするライセンスのリストを確認できるようにすることが重要です。 このオプションは、hserverにライセンスを要求する際に使用されるリストのリストをアプリケーションにプリントさせます。 そのプリントのエントリーの頭に-文字が付いていれば、hserverへの要求からそのエントリーが現在除外されていることを意味します。 ライセンスのチェックアウトを有効にするには、--check-licensesにそのライセンスの内部名を追加します。 ライセンスのチェックアウトを無効にするには、--skip-licensesにそのライセンスの内部名を追加します。

--check-licenses

一部のアプリケーションでは、チェックアウトするライセンスを追加指定することができるものの、デフォルトではそのライセンスがチェックアウトされていない場合があります。 デフォルトのHoudini Coreの場合だと、Houdini Coreを起動してもHoudini FXライセンスをチェックアウトしませんが、--check-licenses="Houdini-Master"付けてHoudini Coreを起動するとHoudini FXのチェックアウトが有効になります。 チェックアウトするライセンスをさらに追加するには、ライセンス名の間に','を入れてください。

Note

一部のアプリケーションは、このオプションに関係なく特定のライセンスをチェックアウトすることができません。 例えば、Houdini FXはHoudini Engineライセンスをチェックアウトすることができません。

Tip

Houdini CoreとHoudini FXを同時に起動させることが多い場合、Houdini Core環境変数に--check-licenses="Houdini-Master"を追加することを推奨します。 詳細は以下を参照してください。

--skip-licenses

一部のセットアップでは、いくつか色々な理由で特定のライセンスをスキップさせたい場合があります。 スタジオでは、特定の役割や特定のプロジェクト用にFXライセンスを確保して、他のみんなにしばらくの間Coreライセンスを使用してもらいたい場合があります。 場合によっては、アーティストに決してHoudini Non Commercialライセンスを掴ませたくないというのもありでしょう。 このオプションを使用すれば、特定のライセンスをスキップさせることができます。 このオプションの構文は、ライセンス名の間に区切り文字として,を入れた--skip-licenses="Houdini-Non-Commercial"です。

--skip-license-modes

このオプションでは、ライセンスを要求する際にライセンスカテゴリ全体をスキップさせることができます。 このオプションは、ユーザに非商用ライセンスをチェックアウトさせたくない時に役立ちます。 利用可能なオプションは、commercialeducationindieapprenticeです。

--check-license-modes

このオプションは、ライセンスモードを上記の--skip-license-modesオプションと逆にしたい場合にのみ役立ちます。 ここで利用可能なオプションは--skip-license-modesと同じです。

環境変数

このシステムはアプリケーションを使用してライセンスの挙動を指示するので、そのアプリケーション関連のライセンスオプションを追加するための独自の環境変数が各アプリケーションに用意されています。 特定のタイプのすべてのアプリケーション(例えばHoudini Core)に対して一連のライセンス動作が必要な時、そのアプリケーションのライセンス環境変数を使用すると良いでしょう。 これらの環境変数の内容は、そのアプリケーションのコマンドラインオプションとまったく同じです。 例を挙げると、どのHoudini CoreもHoudini FXライセンスをチェックアウトするようにしたいのであれば、HOUDINI_CORE_LIC_OPT="--check-licenses=Houdini-Master"の環境変数を用意します。

Tip

アプリケーションの環境変数が処理されてから、次にコマンドラインオプションが処理されます。 コマンドラインオプションが処理されると、その環境変数で使用されているオプションが上書きされます。

環境変数名

アプリケーション

HOUDINI_LIC_OPT

Houdini

HOUDINI_CORE_LIC_OPT

Houdini Core

HOUDINI_FX_LIC_OPT

Houdini FX

HOUDINI_INDIE_LIC_OPT

Houdini Indie

HOUDINI_NC_LIC_OPT

Houdini Apprentice

HOUDINI_EXPER_LIC_OPT

Houdini Experimental

HOUDINI_PDG_LIC_OPT

PilotPDG

HOUDINI_HYTHON_LIC_OPT

Hython and Hbatch

HOUDINI_MANTRA_LIC_OPT

Mantra

HOUDINI_KARMA_LIC_OPT

Karma

HOUDINI_MPLAY_LIC_OPT

Mplay

HOUDINI_PLUGIN_LIC_OPT

サポートされているすべてのプラグイン(例えば、Unity、Unreal、Mayaなど)。

このシステム下でアプリケーションを起動すると、そのアプリケーション固有のライセンス環境変数がチェックされてから、コマンドラインオプションがチェックされます。 例えば、Houdini Coreを起動すると、ライセンスオプションはHOUDINI_CORE_LIC_OPT環境変数がチェックされてから、コマンドラインオプションがチェックされます。

Houdini19ライセンスシステムへの移行ガイド

Note

これら2つのライセンスシステムは根本的に異なっているので、このガイドはライセンス取得の動作をほぼ同様にするためのガイドにすぎず、 以前のシステムとまったく同じライセンス取得の動作を得る方法として考えないでください。

新機能とこのシステムの挙動の変更によって、このシステムに切り替える前に知っておくべき項目がいくつかあります。 最大の変更点は、以前に存在していたライセンス環境変数とライセンスオプションすべてがこのリリースから非推奨になり、この新しいシステムで用意されたオプションを推奨するようになったことです。 このシステムは、アプリケーション側でライセンス取得を制御することができるように根本的な変更が施されているので、実行中にライセンスシステムを変更することは不可能で、起動時にどちらのシステムを使用するのか選択することしかできません。

Warning

以前に存在していたすべてのライセンスオプション(つまり、環境変数)はこのリリースで非推奨になり、次のリリースで完全に削除される予定です。

以下のテーブルには、一部の環境変数値をHoudini19ライセンスシステムに変換するためのおおまかなガイドを載せています。 一部の値はもはやこの新しいシステムで適用されなくなったので省略されています。

HOUDINI_SCRIPT_LICENSE

Houdini19環境オプション

hbatch -R

--skip-licenses="Houdini-Escape,Houdini-Master"を追加します。

PDG_LICENSE_MODE

Houdini19環境オプション

pdg_only

これは、アプリケーションがライセンス(つまりPilotPDG)を使用する時に既存のPDGライセンスリストを使用するだけなので、何もアクションを実行する必要はありません。

engine_only

--check-licenses="Houdini-Engine"--skip-licenses="Houdini-Escape,Houdini-Master"を追加します。

houdini_core_only

--check-licenses="Houdini-Escape"--skip-licenses="Houdini-Engine,Houdini-Master"を追加します。

houdini_fx_only

--check-licenses="Houdini-Master"--skip-licenses="Houdini-Escape,Houdini-Engine"を追加します。

Houdiniコマンドライン

Houdini19オプション

-apprentice

--skip-license-modes=commercial,education,indieを追加します。

-indie

--skip-license-modes=commercial,education,apprenticeを追加します。

-core

--check-licenses="Houdini-Escape"--skip-licenses="Houdini-Master--skip-license-modes="education,indie,apprentice"を追加します。

古いシステムではhserverとその挙動を制御する環境変数の複雑なネットワークでライセンスを取得していましたが、Houdini19の新しいシステムでは、アプリケーション側で使用を許可したいライセンスの完全リストを決める仕様に変わりました。 そういった理由から、hserverオプションの--relax-non-graphical/-g--render-only/-nは、このシステムでは使用されなくなりました。 これらのオプションは古いシステムを使用したアプリケーションに対してまだ設定することができますが、このシステムでは、アプリケーション側でHoudini19ライセンス取得の挙動を制御することからそれらのオプションは不要なので単に無視されます。

Houdini19のライセンス取得ではHTTP(S)のみが使用され、古いシステムの挙動や古いシステムとの通信プロトコルに下位互換を持たせる 予定はありません 。 hserverは同時に両方のシステムを使用して実行することができますが、古いシステムの方に必要な情報が用意されないためにhserverが何をすべきか決めることができないのでアップグレード/ダウングレードは無効になります。

スタンドアローンのユーティリティ

  • abcconvert

    Alembicフォーマット間を変換します。

  • abcecho

    Alembicファイルに関する情報を出力します。

  • abcinfo

    Alembicファイルに関する情報を出力します。

  • chchan

    チャンネルコレクションをアクションチャンネルフォーマットへ(から)コピーします。

  • chcp

    チャンネルコレクションファイルを他のフォーマットにコピーします。

  • chinfo

    チャンネルコレクションファイルに関する情報を出力します。

  • claudio

    CHOPデータ(clip)をオーディオフォーマットへ(から)コピーします。

  • clchan

    CHOPデータ(clip)をアクションチャンネルフォーマットへ(から)コピーします。

  • clchn

    CHOPデータ(clip)をチャンネルコレクションフォーマットへ(から)コピーします。

  • clcp

    CHOPデータ(clip)を他のフォーマットにコピーします。

  • clinfo

    CHOPデータ(clip)ファイルに関する情報を出力します。

  • dsmconvert

    ディープシャドウ/カメラマップをあるフォーマットから別のフォーマットへ変換します。

  • dsmmerge

    2つ以上のディープシャドウ/カメラマップファイルを結合します。

  • dsparse

    ダイアログスクリプトを解析して表示します。

  • gabc

    AlembicとHoudiniのジオメトリ間を変換します。

  • gconvert

    Houdiniポリゴンフォーマット間を変換します。

  • gdxf

    DXFポリゴンをHoudiniフォーマットへ(から)変換します。

  • geodiff

    ジオメトリの差分を表示します。

  • geps

    EPSファイルをHoudiniポリゴンフォーマットへ変換します。

  • giges

    IGESジオメトリファイルを変換します。トリムNURBSパッチとカーブを扱います。

  • ginfo

    ポリゴンファイルの統計情報を出力します。

  • glightwave

    LightWaveファイルをHoudiniフォーマットへ(から)変換します。

  • gpdb

    .pdbファイルとHoudiniフォーマットを双方向に変換します。

  • gplay

    ジオメトリビューア。

  • gply

    .plyファイルとHoudiniフォーマットを双方向に変換します。

  • gptex

    ジオメトリファイルからPtexture画像ファイルを作成します。

  • greduce

    ファイルのポリゴンを削減します。

  • gwavefront

    .objファイルをHoudiniフォーマットへ(から)変換します。

  • hbrickmap

    i3dファイルまたはボリュームプリミティブgeo/bgeoファイルをPixar Brickmapファイルに変換します。

  • hcollapse

    ディレクトリ構造を折り畳みます。

  • hcpio

    CPIOアーカイブコマンドのサブセットコマンドでhipファイルの抽出/折り畳みができます。

  • hexpand

    hipファイルをディレクトリ構造に展開します。

  • hkey / License Administrator

    ライセンスとライセンスサーバーオプションを表示/管理するためのグラフィカルユーザインターフェースを開きます。

  • hoiiotool

    画像操作用の万能ツール。

  • hotl ユーティリティ

    .hda/.otlファイルを扱うことができるコマンドラインユーティリティです。

  • hrender

  • hsc

    Bloscファイル(.sc)の圧縮または解凍をします。

  • hscript

    コマンドラインのHScriptインタプリタ。

  • hserver

    Houdiniは、このプロキシサーバーを介してsesinetdライセンスデーモンと通信します。

  • htexcache

    ディスクテクスチャキャッシュを照会または修正します。

  • husk

    Karmaまたは一部の他のHydraクライアントを使ってUSDファイルをレンダリングするためのコマンドラインユーティリティ。

  • i3dconvert

    3DテクスチャファイルフォーマットをHoudiniジオメトリへ(から)変換します。

  • iautocrop

    ピクセル値に基づいて画像をクロップします。

  • icineon

    10ビットCineonフォーマット画像を8ビットフォーマットへ変換します。

  • icomposite

    画像をレイヤーでコンポジットします。

  • iconvert

    画像フォーマットを変換します。

  • icp

    画像のある領域を新しい画像に分離します。

  • idenoise

    画像ファイルからノイズを除去します。

  • idiff

    画像の差分を表示します。

  • iflip

    画像の向きを反転します。

  • iinfo

    画像に関する情報を出力します。

  • ilut

    標準チャンネルフォーマットまたは他のLUTからLookup Table(.lut)を生成します。

  • ilutcomp

    2つのLUTから1つのLookup Table(.lut)を生成します。

  • ilutinfo

    Lookup Table(LUT)ファイルの情報をプリントします。

  • imaketx

    画像ファイルから.exrまたは.ratのmipmapテクスチャを生成します。

  • imdisplay

    画像をMPlayウィンドウで開きます。

  • iprint

    画像のRGBA値をテキストとして出力します。

  • iquantize

    画像の色数を減らします。

  • isixpack

    立方体の6面を意味する6枚の画像または十字展開した画像から環境/反射マップを生成します。

  • itilestitch

    クロップウィンドウを含んだ一連の画像ファイルを一枚の画像にまとめます。

  • izg

    Z深度画像を8ビットのグレースケールに変換します。

  • Launcher

    Houdini Launcherは、Houdiniとそのコンポーネントをダウンロード、インストール、アップグレード、アンインストールします。

  • mcacclaim

    AcclaimモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcbiovision

    BioVisionモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcmotanal

    Motion Analysis TRCモーションファイルをHoudiniのスクリプトとチャンネルファイルに変換します。

  • mcp

    画像シーケンスを動画ファイルに変換します。

  • minfo

    動画ファイルに関する情報を出力します。

  • mqserver

    PDG/TOPs用メッセージキューサーバー

  • py23convert

    HDAのPython2エクスプレッションをPython2/3に変換します。

  • sesictrl

    コマンドラインからHoudiniライセンスサーバーオプションを設定します。

  • sesinetd

    Houdiniライセンスサーバー。このプログラムはバックグラウンドで実行されてHoudiniライセンスを管理します。

  • siminfo

    シミュレーションキャッシュファイルの統計をプリントします。

  • spiff

    テキストの差分を表示します。

  • spy

    UNIXファイルシステムを操作するシェルユーティリティ。

  • vexcache

    VEXコンパイルキャッシュを照会または編集します。

  • vexexec

    CVEXシェーダを実行します。