Houdini 環境変数設定
Houdini は元々 Unix (SGI Irix) 上で書かれていた。現在でも、特に映画製作など大規模制作環境では Linux が主流。 コマンドラインツールや設定を効率良く行うためには、環境変数を使用する。
Linux 上では環境変数の設定とシェルによる操作は同一のシェルで行えるが、Windows で環境変数を元に処理を行おうとすると Cygwin があると便利。ここでは、Houdini の環境変数と Cygwin 使用時のティップを紹介。
- 環境変数 HOUDINI_USER_PREF_DIR
- houdini.env
- 環境変数 HOUDINI_PATH
- 環境変数 TEMP, TMP および HOUDINI_TEMP_DIR
- 環境変数 HFS
- 環境変数 HOUDINI_UISCALE
- Aliases and Variables
- 環境変数 HIP
- 環境変数 HSITE
- 環境変数 JOB
- 環境変数 HOUDINI_OTLSCAN_PATH
- 環境変数 HOUDINI_PACKAGE_DIR
- 環境変数 HOUDINI_OCL_DEVICETYPE
- 環境変数 HOUDINI_OCL_VENDOR
- 環境変数 HOUDINI_USE_HFS_OCL
- 環境変数 HOUDINI_SPLASH_FILE
- 環境変数 HOUDINI_AUTHOR
- 環境変数 HOUDINI_VULKAN_VIEWER
- 環境変数 OCIO
- 環境変数 HOUDINI_NVIDIA_OPTIX_DSO_PATH
- 環境変数 EDITOR
- 環境変数 PDG_IMAGEMAGICK
- 環境変数 PDG_FFMPEG
- 環境変数 HOUDINI_EXTERNAL_HELP_BROWSER
- 環境変数 HOUDINI_OIIO_DDS
- 環境変数 HOUDINI_DDS_DEFAULT_FORMAT
- 環境変数 HOUDINI_LMINFO_VERBOSE
- 環境変数 HOUDINI19_CHECKOUT_SYSTEM
- 環境変数 HAPI_LICENSE_MODE
- 環境変数 ACTIVETAKE
- 環境変数 HOUDINI_COP_MAXRES
- 環境変数 HOUDINI_BUFFEREDSAVE
- 環境変数 HOUDINI_COMPARE
- 環境変数 HOUDINI_OSX_SWAP_DEL_AND_BACKSPACE
- 環境変数 KARMA_XPU_DISABLE_DEVICE_n
- 環境変数 KARMA_XPU_DISABLE_EMBREE_DEVICE
- UPDATED: 環境変数 HOUDINI_LIC_OPT 他
- システム環境変数 TZ
- Hscript コマンド setenv
- その他
ここでの Windows は Windows 10。Cygwin は 9.0-1。
Houdini のビルドは Houdini 16.0.727 ~ 20.0.506
Cygwin
Cygwin とは Windows 上で Unix コマンド及び (bash) シェル処理を可能にするためのユーティリティツール。無料でダウンロード可能。
ここは Cygwin を説明するところではないので 3DCG ソフト (Houdini および Maya) を使う上での個人的な所見を簡潔に述べるとすれば、
- インストール時の Root Directory は、デフォルトの C:\cygwin ではなく、C:\ 直下が良い(と思う)。C: 直下にインストールすることで、他のディレクトリに行く時に /cygdrive/c/... とする必要がなくなる。
- こういう風に設定すると警告が出るが、約25年使っていて私の軽い使い方では問題になったことは無い。
なお、本家FAQにはこうある。 - ftp
は Windows のを使うとプロンプトが表示されないので Cygwin のを入れる。 - ping は Cygwin のを一般ユーザで使おうすると拒否される。Windows のを使う。
- どこからコピペしたのか不明だが、~/.bashrc などで
alias which='type -a'
が設定されていると、Houdini のコマンドラインツールを C ドライブ以外で起動すると様々なエラーを引き起こす。コメントアウトしておくと問題ない。
macOS
Mac OS では、Houdini アプリケーションの起動ファイルを除く各種ファイルは /Applications/Houdini <バージョン> 以下に無く、環境設定ファイルも Documents 以下にできない。これは Maya も同様。
- Houdini アプリケーションの各種ファイル ($HFS) は、 /Library/Frameworks/Houdini.framework/Versions/20.5.370/Resources/houdini/config
- ユーザ環境ファイル ($HOUDINI_USER_PREF_DIR) は
/Users/<ユーザ名>/Library/Preferences/houdini/20.5 に出来る。
HScript Textport に echo $HOUDINI_USER_PREF_DIR で確認可能。- ホームディレクトリの Library フォルダは View -> Show Options で Show Library Folder をオンにしないと表示されない。
- ホームディレクトリに houdini20.5 (20.5 の場合) を作れば、こちらが Library 以下のものよりも優先される。これは、他の OS との互換性を高めるため。詳しくはこちら ("PREF" で検索)。
- プラグインは、同ディレクトリ以下の dso に配置できる。
- Mac のファインダで $TEMP に行くには、Go To Folder というメニュー (Cmd+Shift+G) で表示されるダイアログに /tmp/houdini_temp/ と入力することで可能。
- Mac でのライセンストラブルに関してはこちらも参照のこと。
- Mac の日本語キーボードでは Delete キーがない場合がある。その場合、こちらを参照。
システム環境変数 HOME
Houdini のコマンドラインツールや設定には、$HOME を参照するものもある。よって HOME を明示的に定義しておくことが望ましい。
Cygwin でのデフォルトのホームディレクトリは、/home/<username>。
Windows で作業する場合の主なディレクトリは、C:\Users\<username>\Documents\。
個人的な趣味や好みもあると思うが、HOME は自分の C:\Users\<username> に Windows のシステム設定から設定する。これにより、houdinix.y/ などの環境設定ディレクトリは、My Documents 以下ではなく、一つ上に出来る。この設定の後、My Documents 以下の houdini16.0 ディレクトリの中で設定を変更しても Houdini に変更は反映されない。
なぜこうするのかと訊かれても特に強い理由は無いが、しいて言えば
- My Documents と Desktop の間の行き来が面倒。一つ上からだと楽。
- .login, .bash_profile などが My Documents にあるのはちょっと変。
- Linux と Windows (Cygwin) で差異を少なくしたい。
Linux の場合、HOME は 一意に決まるので問題はない。
houdini_setup
使用する Houdini のビルドがインストールされているディレクトリに行き、そのビルドの環境をソースする。
$ cd /Program\ Files/Side\ Effects\ Software/Houdini\ 20.5.370 $ source houdini_setup The Houdini 20.5.370 environment has been initialized.これで、このビルドのコマンドラインツールがパスに追加され使えるようになる。よって、
$ houdiniとすれば、Houdini が起動する。
Cygwin はデフォルト bash なので、source houdini_setup_bash としても結果は同じ。
hconfig
hconfig は Houdini が使用する環境変数を設定または表示するためのツール。コマンドラインツールまたは上記の houdini_setup をソースすれば使えるようになる。
$ hconfig HFS := '/PROGRA~1/SIDEEF~1/HOUDIN~1.554' HOME := 'C:/Users/ktaki' HOUDINI_DESKTOP_DIR := 'C:/Users/ktaki/Desktop' HOUDINI_OS := 'Windows' HOUDINI_TEMP_DIR := 'C:/tmp' HOUDINI_USER_PREF_DIR := 'C:/Users/ktaki/houdini20.5' SHELL := '/bin/bash' USER := 'ktaki'$ hconfig -a
とすれば、Houdini が使用可能なすべての環境変数 (約270) が表示される。これらは、HOME のように別途定義しない限り、システムなり Cygwin なりに設定された環境変数ではない。あくまで Houdini が認識する変数。
上記で特に重要なのは、
- HFS: 使用しているビルドのインストール先。
- HOME: ホームディレクトリ、上記の通り。
- HOUDINI_USER_PREF_DIR: 個人環境 (プリファレンス、シェルフ設定など) が保存されるディレクトリ。
例: HH = $HFS/houdini/
$ hconfig -h
で、ヘルプが表示される。
$ hconfig -p
とすれば、パス関係の変数のみ表示される。特に HDA を見に行くパスなどを調べるのに便利。例えば、以下のように表示される。
HOUDINI_OTLSCAN_PATH := "C:/HoudiniFiles/otls;@/otls; This path specifies the directories Houdini will search for OTL files. This value is only used if the Operator Type Manager is configured not to use OPlibraries files to find OTL files. The default for this value is the HOUDINI_OTL_PATH with /otls appended to each directory in that path. Default path: '@/otls' Where @ is replaced with HOUDINI_OTL_PATH Directories searched (in order) are: 1) "$HSITE/otls" 2) "$HFS/packages/sculpt/otls" 3) "$HFS/packages/kinefx/otls" 4) "$HFS/packages/apex/otls" 5) "$HOUDINI_USER_PREF_DIR/packages/SideFXLabs20.5/platform_specific/windows/otls" 6) "$HOUDINI_USER_PREF_DIR/packages/SideFXLabs20.5/otls" 7) "$HSITE/houdini20.5/otls" 8) "$HFS/houdini/otls" 9) "$HSITE/_customer_otls"
$ hconfig -ap
とすれば、パス関係の各変数の詳細情報が表示される。
$ hconfig -H
で、各環境変数の詳細なヘルプが表示される。
- $ hconfig -H HOUDINI_PATH
とすると、
HOUDINI_PATH The path of directories where Houdini looks for configuration files.というように、各環境変数のヘルプが表示される。
Houdini セッション中の環境変数の確認
Houdini 起動中に設定された環境変数の値を確認するには以下の方法が考えられる。
- Alias and Variables... ウィンドウ
-
Edit -> Alias and Variables... を実行して表示されるウィンドウの Variables タブに行けば、設定されている変数の一部が表示される。ここで表示されるのはシーンの設定に関連するものが殆どで、システム・環境に関する変数はあまり表示されない。
- Hscript Textport
-
Windows -> Hscript Textport を実行して表示されるウィンドウに
echo $TEMP
などとすれば、
C:/Users/ktaki/AppData/Local/Temp/houdini_temp
と表示される。
setenv で表示されるものもある。 - Python Shell
-
Windows -> Python Shellを実行して表示されるウィンドウに
import os os.environ['TEMP']
などとすれば、
'C:/Users/ktaki/AppData/Local/Temp/houdini_temp'
と表示される。
環境変数 HOUDINI_USER_PREF_DIR
Houdini のユーザ環境の保存先。
通常、Windows の場合、My Documents 以下に houdini20.5 (使用バージョン)という形で作られる。MacOS の場合はこちら。
Houdini が正しく挙動しなくなった場合、Houdini のアンインストール+再インストールを試みる前に、このディレクトリを別名にして Houdini をもう一度起動し、環境を初期化することで問題が解決するか確認すると良い。
- Houdini のインストールに失敗した場合やライセンス絡みの問題を除き、 Houdini のアンインストール+再インストールで問題が解決する確率はほぼゼロ。これは根拠のない都市伝説だと思われる。
起動した Houdini が実際にどのディレクトリを見ているか確認するには HScript Textport に
echo $HOUDINI_USER_PREF_DIRとする。 下記の要領でカスタム指定することも可能。
Windows の場合の設定方法の詳細はこちら。
なお、Houdini を初めてインストールしてみて起動時にエラーが出て起動できない場合、
- ユーザIDが日本語で、ホームディレクトリへのパスにマルチバイト文字が含まれる
- My Documents が「ドキュメント」などと日本語で定義されていて、このパスにもマルチバイト文字が含まれる
この場合、以下の三つのいずれかの方法を取ることができる。
- Houdini 18.5.569 以降の Python3 ビルドをダウンロードしてインストールすると、この問題は回避できる。
- 詳細はこちら
- 以下のリンクなどを参照してWindows の「デスクトップ」や「ドキュメント」の表記を英語に変更する。
- Houdini の設定ファイルの格納位置を変更する。
-
HOUDINI_USER_PREF_DIR = D:\SideFX\Houdini\houdini20.5
(Dドライブがある場合、なければ他のドライブで置き換える)
などとシステムの環境変数設定で設定して起動してみる。
これで起動すれば、パスに問題があったことがわかる。
この場合、HOUDINI_TEMP_DIR にも日本語名が含まれていないか確認し、含まれている場合は、含まれていないディレクトリに変更する。
デジタルアセットやスクリプトを保存するのもこのディレクトリ以下。
- デジタルアセット: otls というディレクトリを作ってその中に格納。
- スクリプト: scripts というディレクトリを作ってその中に格納。
- Houdini 起動ファイルの設定に関してはこちら (Houdini 起動ファイル)。
例えば、D:\Houdini\ 以下の
- houdini17.5
- houdini18.0
HOUDINI_USER_PREF_DIR=D:\Houdini\houdini__HVER__と指定する。HVER の前後にはそれぞれアンダースコア ('_') が二つ必要。詳しくはこちら (インディゾーンHoudini情報日本語ブログ)。
houdini.env
Houdini 専用の環境変数を定義するためのファイル。通常、 Windows の場合、 MyDocuments/houdini20.5 (または使用バージョン)、つまり、HOUDINI_USER_PREF_DIR で定義されるディレクトリ内にある。
このファイルで環境変数を指定する場合、
VAR = VALUEまたは
VAR = "VALUE"という風に指定する。
例: HOUDINI_OCL_VENDOR = "NVIDIA Corporation"
他の注意点として、
- このファイルは source houdini_setup を最初に実行した時に作成される。
- パスなど文字列を定義する場合には、" (二重引用符) で括る。
- 複数パスの区切りは、Windows では ";" (セミコロン)、Linux および Mac では ":" (コロン) を使い、パスの間にスペースは入れない。
- HOUDINI_PATH への & によるパスの展開は houdini.env の中で一度しか使えない。二度以上定義されていると、最後以外は上書きされた上で、& も展開されないので、注意が必要。詳細はこちら。
- Windows であっても、ディレクトリの切れ目は '/' を使う。
- Windows のコントロールパネルのシステムから環境変数を設定する場合、'/' を使うことも '\' を使うことも可能だが、Houdini 以外は '/' を正しく認識する可能性が低い。
- 共用環境を構築する場合、Windows 上では、可能な限り、UNCパスで書くことが望ましい。
- 例えば w:\share の代わりに //dell-m4700/share/share など
- ラップトップなど、オフラインになった時には UNC で記述されたパスは届かないことがある。よって、オフラインになる可能性がある環境では UNC パス を使用しないほうが良い(?)。
- houdini.env を保存する場合には、"UTF-8 without Signature" (Byte order mark=BOM なし) で保存する。BOM があると、hconfig 実行時など、警告が出る。
- hython でコマンドを実行する場合にシェルに(DOS の set コマンドや bash の export コマンドで) 設定された環境変数よりも houdini.env 内に設定されたものが優先される。
環境変数 HOUDINI_PATH
Houdini が環境設定を見に行くパスをすべて記録する環境変数。通常は明示的に指定されていないが、Houdini は以下の順に設定を見に行く。
1) "$HIP" 2) "$HOUDINI_USER_PREF_DIR" 3) "$HSITE/houdinix.y" 4) "$HFS/houdini" 5) "$HFS/bin"それぞれで、hconfig -ap で確認できるサブディレクトリをさらに参照する。
HOUDINI_PATH は、 上記の hconfig -ap で表示されるパスすべてを集めたものであるので、ユーザが明示的に houdini.env やシステム環境設定などで設定するのはあまり好ましくない。代わりに使う方法として
- 上の hconfig -p で表示される既存パスをフル活用する。
- パッケージシステムを使う
- HOUDINI_PATH = "C:/Users/ktaki/htoa/htoa-6.2.1.0_rb9ccb97_houdini-19.5.534/htoa-6.2.1.0_rb9ccb97_houdini-${HOUDINI_VERSION};&"
- HOUDINI_PATH 設定する際の注意例 (複数サードパーティレンダラの設定)
環境変数 TEMP, TEMP, HOUDINI_TEMP_DIR
システム環境変数 TEMP は一時ファイルが作成されるディレクトリ。Windows のエクスプローラ (Internet Explorer ではない) で、%TEMP% とアドレスバーに入力すれば到達できる。 Mac の場合は、こちら。
- なお、Houdini 16 より、Houdini 内での $TEMP は、システムで定義された $TMP 以下の houdini_temp/ になった (これが $HOUDINI_TEMP_DIR)。
-
$HOUDINI_TEMP_DIR も日本語ディレクトリ名を含まないパスに指定されていることが重要。
環境変数 HFS
使っている Houdini のインストールディレクトリ。例えば、Windows 上で Houdini 20.5.370 を使っている場合には、$HFS は、C:\Program Files\Side Effects Software\Houdini 20.5.370\を示す。$H も $HFS と同じ場所を指す。MacOS の場合はこちら。
環境変数 HB
$HFS 以下の bin ディレクトリを指す。例えば、Windows 上で Houdini 20.5.370 を使っている場合、$HB は、C:\Program Files\Side Effects Software\Houdini 20.5.370\binを示す。
環境変数 HH
$HFS 以下の houdini ディレクトリを指す。例えば、Windows 上で Houdini 20.5.370 を使っている場合、$HH は、C:\Program Files\Side Effects Software\Houdini 20.5.370\houdiniを示す。
環境変数 HHP
$HFS 以下の houdini/pythonX.ylibs ディレクトリを指す。例えば、Windows 上で Houdini 18.5.427 (Python 2.7) を使っている場合、$HHP は、C:\Program Files\Side Effects Software\Houdini 18.5.427\houdini\python2.7libsを示す。
- Houdini 19.5.569 (Python 3.9) を使っている場合、$HHP は、C:\Program Files\Side Effects Software\Houdini 19.5.569\houdini\python3.9libsを示す。
HOUDINI_UISCALE
環境変数 HOUDINI_UISCALE を使うことで、UI のスケールを変更可能。詳しくはこちら。
Aliases and Variables
Edit->Aliases and Variables を実行するとウィンドウが表示され、各種エイリアスおよび一部の環境変数をリストで見ることが可能。環境変数は Variables タブに表示されるが、ここに表示されるものは、Houdini 起動中に動的に変更できるもののみ。HFS などは変更できないので表示されない。
環境変数: HIP
環境変数 $HIP は、
- コマンドラインで Houdini を起動した時の現在のディレクトリ
- 開いたシーンファイルのある元のディレクトリ
- またはシーンファイルを最後に保存したディレクトリ
$HIP を元に以下のファイルの格納位置がデフォルトでよく定義される。
- レンダリング画像ファイル ($HIP/render/ 以下)
- シミュレーションキャッシュファイル ($HIP/geo/ 以下)
- 群衆キャッシュ・設定ファイル ($HIP/crowd/ 以下)
Houdini をデスクトップアイコンから (ファイル名を指定することなしに) 起動すると、環境変数 HIP は $HOME (定義されている場合) または My Documents になる。
この状態で .hip ファイルをデフォルトディレクトリ以外から開くと、HIP の指定先が変わるのは、.hip ファイルが開いた後。
よって、デジタルアセットやスクリプトの格納先を $HIP に関連付けるには、
- Houdini をコマンドラインで、.hip ファイルを引数として指定して起動
- 同じディレクトリにあるファイルを開いた後に開く
- file ノードに aaa.obj を読み込む前にシーンファイルを保存する。
- $HOME を定義しておく。こうすると $HIP の代りに $HOME が使われ、この問題が起きない。
$HIP 注意点 (Windows)
Windows で Houdini をデスクトップアイコンまたは Start メニューから起動した場合、起動直後の $HIP は C:\Users\<ユーザ名> に設定されている。この状態で、Geometry ノード内の file ノードで例えばデスクトップにある aaa.obj を読んだ場合、aaa.obj までのパスは $HIP/Desktop/aaa.obj となる。この状態で、File->Save として、シーンを C:\Users\<ユーザ名>\My Documents\HoudiniFiles\test.hip などとして保存した場合、保存後の $HIP は、C:\Users\<ユーザ名>\My Documents\HoudiniFiles となる。このあとで、test.hip を開くと、HoudiniFiles\以下に Desktop\aaa.obj が無いので、エラーになる。これを回避するには、
変数: HIPFILE
現在のシーンファイル名を絶対パスで指している。例: C:/Users/ktaki/untitled.hip
変数: HIPNAME
現在のシーンファイル名から拡張子 ".hip" を取り除いたものを指している。例えば、HIPFILEが C:/Users/ktaki/untitled.hip の場合、HIPNAME は untitled となる。
変数: OS
この変数が指定されている現在のノード名を取得するための変数。Render ROP で その ROP 名を書き出すファイル名に含める際に多用される。
変数によるファイル名指定の詳細はこちら。
変数: _HIP_SAVEVERSION
.hip ファイルを読み込んだ際に、そのファイルがどのバージョンの Houdini で書かれたかを知ることが出来る。Edit -> Aliases and Variables > Variables にも表示されるし、Hscript Textport で
echo $_HIP_SAVEVERSIONとすると、
20.5.370
などと返ってくる。
環境変数 HSITE
個人単位での設定ではなく、チーム全体で共通の環境設定をするためには、環境変数 HSITE を使用する。HSITE を使うことで、アセット、スクリプト、シェルフツールの共通化が可能。つまり、個人環境 ($HOUDINI_USER_PREF_DIR) で行なっている環境設定を共有ディレクトリで行うことが可能になる。この場合、$HSITE で指定するディレクトリ以下に、バージョンごとのhoudinix.y (例: houdini16.0) というディレクトリが必須。この houdinix.y がなければ設定は無視される。
HSITE は、houdini.env でも、システム環境変数としても設定可能。例えば、Windows 上で C:\share というディレクトリを w: として共有し、その下の HoudiniFiles というディレクトリを HSITE にしたい場合、
HSITE = W:/HoudiniFilesまたは、
HSITE = //dell-m4700/share/HoudiniFilesとする(dell-m4700 はホスト名で、share は共有ディレクトリ)。
こちらで例をいくつか紹介。
Houdini の環境設定「ロケーションとパス」も参照のこと。
環境変数: JOB
個人単位での設定ではなく、プロジェクト単位で、またはショット単位で共通の環境設定をするためには、環境変数 JOB を使用する。Houdini 15.0 以降、File->New Project..., File->Set Project... とすると、$JOB を定義・再定義していることになる。
例えば $HSITE 以下の projects ディレクトリを JOB にしたい場合、JOB = %HSITE%/projectsまたは、
JOB = //dell-m4700/HoudiniFiles/projectsとする(dell-m4700 はホスト名で、HoudiniFiles は共有ディレクトリ)。
$JOB の値は .hip の中に記述されている場合があるので注意が必要。
現在の $JOB の値は、Hscript の job コマンドで確認可能。
シーンファイルに内包された $JOB 値に関わらず、$JOB を一定にしたい場合には、456.py などで、値を設定する。
import os hou.allowEnvironmentToOverwriteVariable("JOB", True) os.environ["JOB"] = "//dell-m4700/share/HoudiniFiles/projects"
環境変数 HOUDINI_OTLSCAN_PATH
任意の共有空間に Houdini デジタルアセット (HDA) を配置し、自動的に HDA が読み込まれるようにするには、環境変数 HOUDINI_OTLSCAN_PATH を使う。例えば、上記の HSITE 以下に W:/share/otls/ を配置して使用バージョンに無関係に使うアセットファイルを共有したい場合、 環境変数は以下のように定義する。
HOUDINI_OTLSCAN_PATH = "W:/HoudiniFiles/otls;@/otls"または
HOUDINI_OTLSCAN_PATH = "%HSITE%/otls;@/otls"@/otls がデフォルトのスキャンパスを定義し、それにW:/HoudiniFiles/otls が追加された形となる。
HOUDINI_OTL_PATH という環境変数もあるが、これは古いバージョン用で、現行の Houdiniでは使わない。
環境変数 HOUDINI_PACKAGE_DIR
Houdini 17.5 よりプラグインやツールファイル一式の配置がパッケージ形式で行るようになった。この環境変数で、パッケージファイルの記述があるディレクトリを指定できる。詳細はこちら。
環境変数 HOUDINI_DELAYSYNC_HDA
デジタルアセットによるノードが作成された場合、delay sync (遅延同期) は、クックによるノードが必須となるまで、その子ノードすべてを作成しない。この意図は、操作の安全性を確保するため。この環境変数を 0 に設定することで、HDA の遅延同期をオフにでき、デバッグなどを容易にする。
環境変数 SIDEFXLABS
詳細はこちら (「どこにインストールされたSideFXLabsを見ているのかしりたい」 BORN DIGITAL サポート)。
環境変数 SIDEFXLABS_NOINSTALL_MESSAGE
詳細はこちら。
環境変数 SIDEFXLABS_ADMIN_UPDATES
詳細はこちら。
環境変数 HOUDINI_ANONYMOUS_STATISTICS
SideFX Labs は Google Analytics を使って各ツールの使用頻度のデータ収集をし、使用頻度の高いツールに開発資源を集中させ、より多くの人を支援できるようにしている。このデータには、IP、名前、ライセンス使用状況など個人情報は含まれていない。これを無効ににするには、Houdini の Preferences の Miscellaneous の一番上にある Send Anonymous Usage Statistics をオフにするか、環境変数 HOUDINI_ANONYMOUS_STATISTICS を 0 に設定する。
環境変数 HOUDINI_OCL_DEVICETYPE
この環境変数は、OpenCL の計算に GPU を使うか CPU を使うかを指定する。
HOUDINI_OCL_DEVICETYPE = GPUなどとするが、通常は、下記の UI で設定するのが無難。
No OpenCL platform has the specified device type (HOUDINI_OCL_DEVICETYPE): GPU. Falling back to built-in CPU OpenCL driver.
とエラーが出た時は、hgpuinfo コマンドを使って、どの GPU とどのバージョンのドライバが認識されているかを確認すると良い。Houdini の起動ができない場合は、
HOUDINI_OCL_DEVICETYPE = CPUと houdini.env に記述してから Houdini を起動する。
環境変数 HOUDINI_OCL_VENDOR
この環境変数は、ラップトップなど、1台のPCに複数のGPUが搭載されている時に、どちらを使うかを指定するのに使用する。
HOUDINI_OCL_VENDOR = "NVIDIA Corporation"上記の場合、NVIDIA と Corporation の間に半角スペースが必要。
この環境変数は、Preferences > Miscellaneous 以下の OpenCL Device による設定に置き換わったので、(おそらく Houdini 17 以降での) 設定は現状不要。
環境変数 HOUDINI_USE_HFS_OCL
Parsec などのリモートデスクトップ環境で Houdini が起動時にクラッシュする場合、
HOUDINI_USE_HFS_OCL = 0と設定することで、クラッシュを回避できる(はず)。詳細はこちら。
なお、これには GPU ドライバも関わってくるが、Nvidiaの場合は Studio ドライバの使用が推奨され、Game ドライバは推奨されていない。ドライバのバージョンの確認方法はこちら。
環境変数 HOUDINI_SPLASH_FILE
この環境変数を houdini.env などで設定すると、Houdini 起動時に表示される画像のカスタマイズが可能になる。詳しくはこちら。
環境変数 HOUDINI_SPLASH_MESSAGE
HOUDINI_SPLASH_MESSAGE を使うことで、指定した文字列を起動画面左下に表示することが可能。詳しくはこちら。
環境変数 HOUDINI_NO_SPLASH
この環境変数を houdini.env などで
HOUDINI_NO_SPLASH = 1とすると、起動画面が表示されなくなる。
環境変数 HOUDINI_VULKAN_VIEWER
H20.0 以降での Vulkan ビューポートの切り替え。 1 で有効、0 で OpenGL。
20.0 ではデフォルトで0なので、有効にしたい場合は 1にする。20.5 以降ではデフォルト1 なので、OpenGL に戻したい場合は0 にするか Preferenes の 3D Viewports で切り替える。
環境変数 HOUDINI_AUTHOR
.hip ファイルや .hda に記述される著者情報を変更できる。
設定がない場合、<ユーザ名>@<ホスト名> (例: ktaki@alida)。
HOUDINI_AUTHOR="foobar"とすれば、.hip ファイルの著者情報は foobar@alida となる。
HOUDINI_AUTHOR="foo@bar"とすれば、foo@bar となる。hconfig -h HOUDINI_AUTHOR でもヘルプ参照可能。
Houdini では USER も使えるが、二つが両方設定されている場合、HOUDINI_AUTHOR が優先される。
なお、 H19.5 以降、`@` を HOUDINI_AUTHOR に含めた場合、同バージョン以降の Create Digital Assets パネルでは、@ 以下が表示されない。つまり、HOUDINI_USER を ktaki@alida にすれば、ktaki だけが同パネルの User 部分に表示されるが ktaki_alida とすれば文字列全体が表示される。この UI および機能更新の顛末はこのビデオ(SideFXLabs 2021 - New and Improved Workflows for Artists | SideFX | Houdini HIVE GameDev) が詳しい。
環境変数 OCIO
環境変数 OCIO は OpenColorIO の設定ファイルを指定する環境変数。
$ export OCIO = <ファイルまでのパス>/ocio_config.ocioなどとすると、 Mplay の Color Display 設定に、指定したファイル内で displays 以下に定義されている名前が表示される。
H18.5 以降、以下の二つの環境変数が追加され、それぞれ OCIO のデフォルトディスプレイとデフォルトビューの設定が可能。
- OCIO_ACTIVE_DISPLAYS
- OCIO_ACTIVE_VIEWS
よって、 houdini.env の中で、
OCIO_ACTIVE_DISPLAYS = Rec.709 OCIO_ACTIVE_VIEWS = ACESと設定すれば、Houdini 起動時の Correction Toolbar の OCIO Display の設定は Rec.709、View は ACES となる。
- Houdini 19.0.455 以降の OCIO の楽ちん設定方法。 (Born Digital サポート)
- bonfire プリセットと OCIO
- CG Forge | Quickstart to ACES & OCIO with Houdini
- SideFX Houdini / ACES-CG Workflow in 10min...
- ACES colour management in Houdini and Clarisse
- OpenColorIO サポート (Houdini ドキュメント)
環境変数 HOUDINI_NVIDIA_OPTIX_DSO_PATH
環境変数 HOUDINI_NVIDIA_OPTIX_DSO_PATH は NVIDIA OptiX Denoiser を使用する際のパスを設定する。詳しくはこちら。
環境変数 EDITOR
環境変数 EDITOR は Houdini でスクリプト編集などに使う外部テキストエディタを指定する環境変数。例:
EDITOR = "C:/Program Files/EmEditor/EmEditor.exe"
こちらも参照のこと
環境変数 PDG_IMAGEMAGICK
環境変数 PDG_IMAGEMAGICK は PDG と併用する ImageMagick の実行ファイルの位置を定義する。例:
PDG_IMAGEMAGICK = C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\magick.exe
環境変数 PDG_FFMPEG
環境変数 PDG_FFMPEG は PDG と併用する FFMPEG の実行ファイルの位置を定義する。FFMPEG は ImageMagick に含まれているので、ImageMagick をインストールすれば両方使うことが出来るようになる。例:
PDG_FFMPEG = C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\ffmpeg.exeMPlay との連携に関してはこちら。
環境変数 HOUDINI_EXTERNAL_HELP_BROWSER
環境変数 HOUDINI_EXTERNAL_HELP_BROWSER を
HOUDINI_EXTERNAL_HELP_BROWSER = 1と設定すると、F1 を押してヘルプを表示する際に Houdini のビルトインブラウザの代わりにシステムのデフォルトに設定されたブラウザ (Chrome など) を使う。ただし、これをすると、サンプルがロードできなくなるが、ヘルプファイル内のムービーファイルの再生が可能になる。
環境変数 HOUDINI_OIIO_DDS
環境変数 HOUDINI_OIIO_DDS は OpenImageIO (OIIO) を元にした DDS ファイル処理を制御する。H18.5.527 以降、Linux と Mac OS ではこの変数はデフォルトで 1 になっていて OIIO ベースでの DDS の読み込みが可能だが、Windows では 0 になっていて、OIIO ベースの機能を無効にし、DirectX ライブラリを元にした IMG_DDS を標準で使うことで 8/16/32 ビットでの読み書きが可能になった。Windows 以外では変更することに意味はない。詳細はこちら。
環境変数 HOUDINI_DDS_DEFAULT_FORMAT
環境変数 HOUDINI_DDS_DEFAULT_FORMAT は SideFX Labs の IMG_DDS 使用時のバッチ出力時のファイル形式を指定する。詳細はこちら。
環境変数 HOUDINI_LMINFO_VERBOSE
Houdini が内部で設定しているライセンスの警告レベルを設定する環境変数。 houdini.env で設定可能。
- 警告情報を一切表示しない
- ターミナルまたはコンソールにのみライセンス情報が表示される
- ポップアップウィンドウが表示され、そこに (のみ) ライセンス情報が表示される
- ターミナルまたはコンソールとポップアップウィンドウの両方にライセンス情報が表示される
環境変数 HOUDINI19_CHECKOUT_SYSTEM
環境変数 HOUDINI19_CHECKOUT_SYSTEM=1 と設定すると、hserver が対応している場合、H19 からの新しいライセンスオプションを使用することが可能。これが 2 に設定されている場合は、hserver のバージョンに関わらず、H19 以降の新システムを使用する。詳細はこちら。
- H19.0.589 ぐらいから Houdini Core を Houdini FX のライセンスで起動するにはこのフラグの設定が必要になった。
環境変数 HAPI_LICENSE_MODE
環境変数 HAPI_LICENSE_MODE は Houdini Engine のライセンスの挙動を制限する環境変数。こちら。
環境変数 ACTIVETAKE
環境変数 ACTIVETAKE で現在のテイクを指定できる。
環境変数 HOUDINI_COP_MAXRES
HOUDINI_COP_MAXRES = 12000などと houdini.env に設定すると、Houdini 起動してから Edit->Preferences->Compositing: Cooking タブの Resolution Limit に二つの数値を設定するより簡単に最大解像度を定義できる。18.5.633 から追加されたが HeightField と併用する場合、18.5.640 以降の使用を推奨。
また、Hython 等で COP をバッチ処理する場合、GUI 関連のプリファレンスがすべて読み込まれないので、COP の解像度に関しては、この環境変数で設定するのが無難。
なお、この変数は COP3 (Copernicus) には影響しない。
環境変数 HOUDINI_BUFFERSAVE
Windows からのネットワークドライブへの書き出しが遅い場合 これを 1 と設定することで、メモリに一度ため込んでから一度に書き出しを行うので、高速なファイル出力が期待できる。
環境変数 HOUDINI_COMPARE
環境変数 HOUDINI_COMPARE は、Preferences の External Tools で設定する Hip ファイルや HDA の差分表示に使うツールの上書き設定のための環境変数。コマンドラインで実行に、以下の環境変数などを使うことができる。この環境変数は、File Compare と Folder Compare の両方に使用されるため、それぞれ別のツールを設定することはできない。
パスに含まれる可能性のあるスペースを吸収するために、" (二重引用符)を使うのが望ましい。環境変数 HOUDINI_OSX_SWAP_DEL_AND_BACKSPACE
Houdini での「削除」はデフォルトでは Delete キーを使うが、 Mac の日本語キーボードでは、Backspaceキーのみ搭載されていて、Delete キーがない場合がある。このような場合
- fn (function) キーを押しながら、Backspaceを押すと Delete になる
- または、環境変数
HOUDINI_OSX_SWAP_DEL_AND_BACKSPACE=1
として、Houdini セッション中の Backspace と Delete の挙動を入れ替える。
環境変数 KARMA_XPU_DISABLE_DEVICE_0, KARMA_XPU_DISABLE_DEVICE_1, KARMA_XPU_DISABLE_EMBREE_DEVICE
KARMA_XPU_DISABLE_DEVICE_0, KARMA_XPU_DISABLE_DEVICE_1 そして KARMA_XPU_DISABLE_EMBREE_DEVICE は、Karma XPU レンダリング時にどの XPU デバイスを使わないかを設定するために使う。
Windows の場合、デバイス番号はタスクマネージャーに表示される番号ではなく、Houdini の Solaris ビューポートで Display オプションの Guides タブで Render Stats をオンにした時に表示される情報を元にする。つまり、タスクマネージャーでは、通常 Intel CPU 内臓 GPU が 0 で、Nvidia などの外部 GPU が1 だが、Solaris の Render Stats では、Nvidia が 0 で、Intel が 1 になっている (はず)。
詳しくはこちら (Born Digital サポート: 「XPU レンダリングに使用する GPU を選択できますか?」)
環境変数 HOUDINI_LIC_OPT など
Houdini のライセンスのオプションを設定するための環境変数で H20.0 から追加された。
他にも
HOUDINI_FX_LIC_OPT HOUDINI_CORE_LIC_OPT HOUDINI_HYTHON_LIC_OPT HOUDINI_MANTRA_LIC_OPT HOUDINI_KARMA_LIC_OPT HOUDINI_PLUGIN_LIC_OPTなどがある。
- Houdini Engine が Houdini Core, FX などのライセンスを使わないようにする方法
- 教育版、Indie 由来のファイルがある環境で商用版ライセンスだけが使われるようにする方法
システム環境変数 TZ
システム環境変数 TZ はタイムゾーンを設定する環境変数。Cygwin は、(最近?) tzset コマンドからWindowsの設定を読んで、"America/New_York" or "Asia/Japan" などと指定するようになった。
$ echo $TZ Asia/Japanなどと、地域名と都市名で定義されている場合、Render View の左上に表示される 各レンダリングの開始時間が GMT (グリニッジ標準時間) で表示されるようになる ^^;。 これを回避するには、
export TZ=JST-9と古い設定方法で行うか、
unset TZと定義を外すかのどちらか。TZ を unset しても、Windows 上で設定されている時間がそのまま保たれる。その場合、RenderView の時間表示はWindows 時間を使う。
ちなみに アメリカ東海岸の設定は EST5EDT、西海岸の場合 PST8PDT。
Hscript コマンド setenv
Hscript コマンド setenv を引数なしで Hscript Textport で実行すると、現在のシーンに設定されている 変数が表示される。
Houdini FX Version 16.0.534 (Compiled on Mar 1 2017) / -> setenv F = 1 FF = 1 T = 0 FPS = 24 NFRAMES = 120 TEND = 4.95833 TLENGTH = 4.95833 TSTART = 0 FSTART = 1 FEND = 120 RFSTART = 1 RFEND = 120 UNITLENGTH = 1 UNITMASS = 1 ACTIVETAKE = Main E = 2.7182818284590452354 EYE = stereo HIP = D:/SideFX/HoudiniFiles/projects/_test/h16 HIPFILE = D:/SideFX/HoudiniFiles/projects/_test/h16/camera_switcher3.hip HIPNAME = camera_switcher3 JOB = D:/SideFX/HoudiniFiles/projects PI = 3.1415926535897932384 POSE = C:/Users/ktaki/houdini16.0/poselib _HIP_SAVEPLATFORM = windows-x86_64-cl19 _HIP_SAVETIME = Thu Mar 2 09:18:12 2017 _HIP_SAVEVERSION = 16.0.534 _HIP_SHELFTOOLCOUNT = 10 status = 0 / ->このうち、_HIP_SAVEPLATFORM、_HIP_SAVEVERSION で、特に誰か他の人からもらったファイルが書かれたプラットフォームとバージョンと知ることが出来る。
その他
以下、変数および環境変数のドキュメント
- HScript global variables (Hscript グローバル変数)
- Environment Variables (環境変数)
- Useful Internal Variables (その他内部変数)
- 「Houdiniと環境変数の魔導書 〜補助魔法導入で失敗しないために〜」
- 「Houdini Workflowについて」 FX HACK
最終更新: 2025-01-20
0 件のコメント:
コメントを投稿