houdini environment variables

Houdini 環境変数設定

Houdini は元々 Unix (SGI Irix) 上で書かれていた。現在でも、特に映画製作など大規模制作環境では Linux が主流。 コマンドラインツールや設定を効率良く行うためには、環境変数を使用する。

Linux 上では環境変数の設定とシェルによる操作は同一のシェルで行えるが、Windows で環境変数を元に処理を行おうとすると Cygwin があると便利。ここでは、Houdini の環境変数と Cygwin 使用時のティップを紹介。

  1. Cygwin
  2. Windows 10 での環境変数設定
  3. macOS
  4. システム環境変数 HOME
  5. houdini_setup
  6. hconfig
  7. Houdiniセッション中の環境変数の確認

ここでの 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 Textportecho $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) で差異を少なくしたい。
というところか。HOME を上記の通りに設定し、Cygwin シェルを起動すれば、ホームディレクトリは /Users/<username> となっているはず。

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
とすれば、パス関係の変数のみ表示される。

$ hconfig -ap
とすれば、パス関係の各変数の詳細情報が表示される。

$ hconfig -H
で、各環境変数の詳細なヘルプが表示される。

    $ hconfig -H HOUDINI_PATH
    とすると、
    HOUDINI_PATH
        The path of directories where Houdini looks for configuration
        files.
    
    というように、各環境変数のヘルプが表示される。

Houdini セッション中の環境変数の確認

Houdini 起動中に設定された環境変数の値を確認するには以下の方法が考えられる。

  1. Alias and Variables... ウィンドウ
      Edit -> Alias and Variables... を実行して表示されるウィンドウの Variables タブに行けば、設定されている変数の一部が表示される。ここで表示されるのはシーンの設定に関連するものが殆どで、システム・環境に関する変数はあまり表示されない。
  2. Hscript Textport
      Windows -> Hscript Textport を実行して表示されるウィンドウに
      echo $TEMP
      などとすれば、
      C:/Users/ktaki/AppData/Local/Temp/houdini_temp
      と表示される。
      setenv で表示されるものもある。
  3. 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 のアンインストール+再インストールで問題が解決する確率はほぼゼロ。これは根拠のない都市伝説だと思われる。
環境変数 HOME を指定した場合、$HOME/houdini20.5 といった形で作られる。
起動した Houdini が実際にどのディレクトリを見ているか確認するには HScript Textport
echo $HOUDINI_USER_PREF_DIR
とする。 下記の要領でカスタム指定することも可能。

Windows の場合の設定方法の詳細はこちら

なお、Houdini を初めてインストールしてみて起動時にエラーが出て起動できない場合、

  • ユーザIDが日本語で、ホームディレクトリへのパスにマルチバイト文字が含まれる
  • My Documents が「ドキュメント」などと日本語で定義されていて、このパスにもマルチバイト文字が含まれる
の二つが主な原因として考えられる。

この場合、以下の三つのいずれかの方法を取ることができる。

  1. Houdini 18.5.569 以降の Python3 ビルドをダウンロードしてインストールすると、この問題は回避できる。
  2. 以下のリンクなどを参照してWindows の「デスクトップ」や「ドキュメント」の表記を英語に変更する。
  3. Houdini の設定ファイルの格納位置を変更する。
      HOUDINI_USER_PREF_DIR = D:\SideFX\Houdini\houdini20.5
      (Dドライブがある場合、なければ他のドライブで置き換える)
      などとシステムの環境変数設定で設定して起動してみる。


      これで起動すれば、パスに問題があったことがわかる。
      この場合、HOUDINI_TEMP_DIR にも日本語名が含まれていないか確認し、含まれている場合は、含まれていないディレクトリに変更する。

デジタルアセットやスクリプトを保存するのもこのディレクトリ以下。

  • デジタルアセット: otls というディレクトリを作ってその中に格納。
  • スクリプト: scripts というディレクトリを作ってその中に格納。

例えば、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 やシステム環境設定などで設定するのはあまり好ましくない。代わりに使う方法として

  1. 上の hconfig -p で表示される既存パスをフル活用する。
  2. パッケージシステムを使う
どうしても編集しなければならない場合は、最後に & を忘れずに。
    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};&"

環境変数 TEMP, TEMP, HOUDINI_TEMP_DIR

システム環境変数 TEMP は一時ファイルが作成されるディレクトリ。Windows のエクスプローラ (Internet Explorer ではない) で、%TEMP% とアドレスバーに入力すれば到達できる。 Mac の場合は、こちら

    なお、Houdini 16 より、Houdini 内での $TEMP は、システムで定義された $TMP 以下の houdini_temp/ になった (これが $HOUDINI_TEMP_DIR)。
この3つの環境変数の違いはこちら
    $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 は、

  1. コマンドラインで Houdini を起動した時の現在のディレクトリ
  2. 開いたシーンファイルのある元のディレクトリ
  3. またはシーンファイルを最後に保存したディレクトリ
動的に指定している。よって、上記 Alias and Variables ウィンドウで変更が可能だが、houdini.env 等で指定することはあまり意味が無い。

$HIP を元に以下のファイルの格納位置がデフォルトでよく定義される。

  • レンダリング画像ファイル ($HIP/render/ 以下)
  • シミュレーションキャッシュファイル ($HIP/geo/ 以下)
  • 群衆キャッシュ・設定ファイル ($HIP/crowd/ 以下)

Houdini をデスクトップアイコンから (ファイル名を指定することなしに) 起動すると、環境変数 HIP$HOME (定義されている場合) または My Documents になる。
この状態で .hip ファイルをデフォルトディレクトリ以外から開くと、HIP の指定先が変わるのは、.hip ファイルが開いた後。

よって、デジタルアセットやスクリプトの格納先を $HIP に関連付けるには、

  1. Houdini をコマンドラインで、.hip ファイルを引数として指定して起動
  2. 同じディレクトリにあるファイルを開いた後に開く
のいずれかを行う必要がある。Windows では、Cygwin などを使わないと非現実的。

    $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 が無いので、エラーになる。これを回避するには、

    1. file ノードに aaa.obj を読み込む前にシーンファイルを保存する。
    2. $HOME を定義しておく。こうすると $HIP の代りに $HOME が使われ、この問題が起きない。

    変数: 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

環境変数 OCIOOpenColorIO の設定ファイルを指定する環境変数。

$ 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_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_IMAGEMAGICKPDG と併用する ImageMagick の実行ファイルの位置を定義する。例:

PDG_IMAGEMAGICK = C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\magick.exe

環境変数 PDG_FFMPEG

環境変数 PDG_FFMPEGPDG と併用する FFMPEG の実行ファイルの位置を定義する。FFMPEG は ImageMagick に含まれているので、ImageMagick をインストールすれば両方使うことが出来るようになる。例:

PDG_FFMPEG = C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\ffmpeg.exe
MPlay との連携に関してはこちら

環境変数 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 で設定可能。

  1. 警告情報を一切表示しない
  2. ターミナルまたはコンソールにのみライセンス情報が表示される
  3. ポップアップウィンドウが表示され、そこに (のみ) ライセンス情報が表示される
  4. ターミナルまたはコンソールとポップアップウィンドウの両方にライセンス情報が表示される
H19.5 の場合、デフォルトは 3。

環境変数 HOUDINI19_CHECKOUT_SYSTEM

環境変数 HOUDINI19_CHECKOUT_SYSTEM=1 と設定すると、hserver が対応している場合、H19 からの新しいライセンスオプションを使用することが可能。これが 2 に設定されている場合は、hserver のバージョンに関わらず、H19 以降の新システムを使用する。詳細はこちら

環境変数 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 の解像度に関しては、この環境変数で設定するのが無難。

環境変数 HOUDINI_BUFFERSAVE

Windows からのネットワークドライブへの書き出しが遅い場合 これを 1 と設定することで、メモリに一度ため込んでから一度に書き出しを行うので、高速なファイル出力が期待できる。

環境変数 HOUDINI_COMPARE

環境変数 HOUDINI_COMPARE は、Preferences の External Tools で設定する Hip ファイルや HDA の差分表示に使うツールの上書き設定のための環境変数。コマンドラインで実行に、以下の環境変数などを使うことができる。この環境変数は、File Compare と Folder Compare の両方に使用されるため、それぞれ別のツールを設定することはできない。

  • $OLDPATH
  • $NEWPATH
パスに含まれる可能性のあるスペースを吸収するために、" (二重引用符)を使うのが望ましい。

環境変数 HOUDINI_OSX_SWAP_DEL_AND_BACKSPACE

Houdini での「削除」はデフォルトでは Delete キーを使うが、 Mac の日本語キーボードでは、Backspaceキーのみ搭載されていて、Delete キーがない場合がある。このような場合

  1. fn (function) キーを押しながら、Backspaceを押すと Delete になる
  2. または、環境変数
    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 から追加された。
他にも

HOUDINI_FX_LIC_OPT
HOUDINI_CORE_LIC_OPT
HOUDINI_HYTHON_LIC_OPT
HOUDINI_MANTRA_LIC_OPT
HOUDINI_KARMA_LIC_OPT
HOUDINI_PLUGIN_LIC_OPT
などがある。

一つの例はこちら

システム環境変数 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 で、特に誰か他の人からもらったファイルが書かれたプラットフォームとバージョンと知ることが出来る。

その他

以下、変数および環境変数のドキュメント


最終更新: 2024-11-16

0 件のコメント:

コメントを投稿