ゲーム開発
Unity
UnrealEngine
C++
ゲーム数学
ゲームAI
サウンド
アニメーション
GBDK
制作日記
3DCG
Houdini
Blender
USD
グラフィックス
テクノロジ
ツール開発
フロントエンド関連
サーバサイド関連
ソフトウェア設計
ハードウェア関連
おすすめ技術書
音楽
DTM
楽器・機材
ピアノ
その他
都会のエレキベア
ラーメン日記
四コマ漫画
おすすめアイテム
おもしろコラム
  • ゲーム開発
    • Unity
    • UnrealEngine
    • C++
    • ゲーム数学
    • ゲームAI
    • サウンド
    • アニメーション
    • GBDK
    • 制作日記
  • 3DCG
    • Houdini
    • Blender
    • USD
    • グラフィックス
  • テクノロジ
    • ツール開発
    • フロントエンド関連
    • サーバサイド関連
    • ソフトウェア設計
    • ハードウェア関連
    • おすすめ技術書
  • 音楽
    • DTM
    • 楽器・機材
    • ピアノ
  • その他
    • 都会のエレキベア
    • ラーメン日記
    • 四コマ漫画
    • おすすめアイテム
    • おもしろコラム
  1. ホーム
  2. 20250505_01_houdini_env

【Houdini20.5】主要な環境変数と設定方法についてまとめる【Windows/Mac】【Steam版】

Houdinishell作業環境
2025-05-05

ぷらずも
ぷらずも
みなさんこんにちは! ぷらずもです!
エレキベア
エレキベア
こんにちクマ〜〜〜
ぷらずも
ぷらずも
今回取り上げるのはHoudini! 意外とややこしい 環境設定周り について触れていこうと思います!
エレキベア
エレキベア
環境設定・・・そんなにややこしいのクマか?
ぷらずも
ぷらずも
指定できる環境変数が多数用意されていたり、設定方法自体もいくつかあったりするので、初見だと迷う箇所も多いと思います。 それからSteam版Houdiniだと挙動が異なっていたりしたので、その辺りについてもまとめていければと思います。

環境変数のリスト | Houdini リファレンス
▲指定できる環境変数の一覧

エレキベア
エレキベア
おおう・・・多すぎてよく分からないクマ・・・

参考サイト

ぷらずも
ぷらずも
参考にさせていただいたのは主に下記のサイトになります。 当記事に加えてこれらの記事を見るとより理解が深まると思います。
エレキベア
エレキベア
どれも分かりやすくまとめていただいていてありがたいクマ〜〜

環境変数の確認方法

ぷらずも
ぷらずも
まずは細かい設定を見ていく前に、現在の設定値やどんな設定があるのかを確認する方法 について見てみます。
エレキベア
エレキベア
まずはざっくりと確認したいところクマね

コマンドラインツールからの確認

ぷらずも
ぷらずも
Houdiniには専用のコマンドラインツールが用意されていて、こちらからhconfigコマンドを実行することで確認できます。
  • Houdini用コマンドラインツール

    • Windows
      • [Houdiniインストールパス]/bin/hcmd.exe
    • Mac
      • [Houdiniインストールパス]/Utilities/Houdini Terminal XXX.app
  • hconfigコマンド

    • hconfig
      • 共通のHoudini環境変数の値を出力する
    • hconfig -a
      • すべてのHoudini環境変数の値を出力する
    • hconfig -ap
      • すべてのHoudini環境変数の説明と値を展開出力する
    • hconfig -h
      • コマンドヘルプを表示する
HFS := '/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources'
HOME := '/Users/plasmo'
HOUDINI_CUSTOM_RECIPE_LIBRARY := 'Recipes.hda'
HOUDINI_DESKTOP_DIR := '/Users/plasmo/Desktop'
HOUDINI_HQUEUE_HFS := '$HQROOT/houdini_distros/hfs.$HQCLIENTARCH'
HOUDINI_HQUEUE_HFS_LINUX := '$HQROOT/houdini_distros/hfs.$HQCLIENTARCH'
HOUDINI_HQUEUE_HFS_MACOS := '$HQROOT/houdini_distros/hfs.$HQCLIENTARCH'
HOUDINI_HQUEUE_HFS_WINDOWS := '%HQROOT%/houdini_distros/hfs.%HQCLIENTARCH%'
HOUDINI_HQUEUE_SERVER := 'http://localhost:5000'
HOUDINI_OS := 'MacOS'
HOUDINI_PATH := '/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/sculpt:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/kinefx:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/apex_cop:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/apex:/Users/plasmo/Library/Preferences/houdini/20.5/packages/SideFXLabs-20.5.445/platform_specific/macos:/Users/plasmo/Library/Preferences/houdini/20.5/packages/SideFXLabs-20.5.445:&'
HOUDINI_TEMP_DIR := '/tmp/houdini_temp'
HOUDINI_USER_PREF_DIR := '/Users/plasmo/Library/Preferences/houdini/20.5'
SHELL := '/bin/bash'
USER := 'plasmo'
▲hconfig実行例
EDITOR := '<not defined>'
FPS := 24
HFS := '/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources'
HOME := '/Users/plasmo'
HOUDINI10_COMPATIBILITY := 0
HOUDINI10_VOLUME_COMPATIBILITY := 0
HOUDINI11_COMPATIBILITY := 0
HOUDINI11_PERFMON_COMPATIBILITY := 0
HOUDINI13_FILTER_COMPATIBILITY := 0
HOUDINI13_GEO_COMPATIBILITY := 0
HOUDINI13_VOLUME_COMPATIBILITY := 0
HOUDINI14_GEO_COMPATIBILITY := 0
HOUDINI15_5_GEO_COMPATIBILITY := 0
HOUDINI15_PARMDATA_COMPATIBILITY := 0
HOUDINI16_5_DEFORM_COMPATIBILITY := 0
HOUDINI17_COMPATIBILITY := 0
HOUDINI18_COMPATIBILITY := 0
・・・略・・・
▲hconfig-a実行例
HOUDINI_PATH := "/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/sculpt:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/kinefx:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/apex_cop:/Applications/Houdini/HoudiniIndieSteam/Frameworks/Houdini.framework/Versions/Current/Resources/packages/apex:/Users/plasmo/Library/Preferences/houdini/20.5/packages/SideFXLabs-20.5.445/platform_specific/macos:/Users/plasmo/Library/Preferences/houdini/20.5/packages/SideFXLabs-20.5.445:&"
The path of directories where Houdini looks for configuration files.

    Directories searched (in order) are:
	1) "$HFS/packages/sculpt"
	2) "$HFS/packages/kinefx"
	3) "$HFS/packages/apex_cop"
	4) "$HFS/packages/apex"
	5) "$HOUDINI_USER_PREF_DIR/packages/SideFXLabs-20.5.445"
	6) "$HOUDINI_USER_PREF_DIR"
	7) "/Users/Shared/houdini/20.5"
	8) "$HFS/houdini"

HOUDINI_ASSET_STORE_PATH := "@/^"
The search path for the user's asset store related files (asset OTLs,
licenses, list of installed assets, etc)

    Default path: '@/^'
	Where @ is replaced with HOUDINI_PATH
	and ^ is replaced with asset_store
    Directories searched (in order) are:
	1) "$HOUDINI_USER_PREF_DIR/asset_store"

HOUDINI_AUDIO_DSO_PATH := "@/audio"
The search path for loading custom audio format plugins for reading and
writing audio or channel files (.so, .dll).

    Default path: '@/audio'
	Where @ is replaced with HOUDINI_DSO_PATH
    Directories searched (in order) are:
	1) "$HFS/houdini/dso/audio"
・・・略・・・
▲hconfig-ap実行例
エレキベア
エレキベア
とんでもない数出るクマが、説明も見れるのはありがたいクマね
ぷらずも
ぷらずも
現在の設定内容確認や、コマンドについての詳細を調べる際に活用するとよさそうですね。

Houdiniセッション中の確認

ぷらずも
ぷらずも
次にHoudini起動後に設定されている環境変数を確認する方法についてですが、 主に下記の3つの方法があります。
  1. Aliases and Variables ウィンドウからの確認
    • Edit > Alias and Variables... > Variables タブ より確認できる
  2. Hscript Textport からの確認
    • Windows > Hscript Textport からechoコマンドで確認する
  3. Python Shell からの確認
    • Windows > Python Shell からosモジュール等で確認する
エレキベア
エレキベア
起動後に設定されている値を確認したい場面は多々ありそうクマね
ぷらずも
ぷらずも
それぞれの確認結果は下記のようなイメージとなります。
20250506_01_01
▲Aliases and Variables: Variablesタブで確認が行える

20250506_01_02
▲Hscript Textport: echoコマンドにて確認する

echo $HFS
20250506_01_03
▲Python Shell: osモジュール等で確認する

import os
os.environ.get('HFS')
エレキベア
エレキベア
これで確認方法はバッチリクマね

主要な環境変数

ぷらずも
ぷらずも
確認方法が分かったところで、次は主要な環境変数について簡単にまとめてみます。

特殊文字

ぷらずも
ぷらずも
はじめに Houdiniの環境変数に使用される特殊文字 について記載します。 全部で4つあり、これらは内部で変換されます。

参考: パス変数の特殊文字 | Houdini リファレンス

特殊文字
概要
@
$HOUDINI_PATH と同等
=
$HIP と同等
&
環境変数に応じたフォルダパス
^
環境変数に応じて決められたフォルダ名に展開される
例 $HOUDINI_TOOLBAR_PATHの場合: @/^ → @/toolbar
エレキベア
エレキベア
おおう・・・こんなのが決められているのクマか
ぷらずも
ぷらずも
例えばHOUDINI_TOOLBAR_PATH環境変数で「@/^」と指定した場合、「$HOUDINI_PATH/toolbar」といったように変換されます。 混乱を招きやすいポイントなので押さえておきましょう。

主な環境変数

ぷらずも
ぷらずも
そして環境変数の中でも 特に影響範囲の広い環境変数 は下記になります。 この中でも $HOUDINI_PATH は先ほどの特殊文字「@」と共に使用されることが多いです。
影響範囲の広い環境変数
環境変数
概要
補足
$HOUDINI_PATH
Houdiniが環境設定を見に行くパスを全て記録する環境変数
@から始まる環境変数は全てこのフォルダを参照する
・デフォルトでは下記順で見に行く
1. $HIP
2. $HOUDINI_USER_PREF_DIR
3. $HSITE/houdini.x.y
4. $HFS/houdini
5. $HFS/bin
$HOUDINI_USER_PREF_DIR
Houdiniのユーザ環境保存先
・デフォルトでは下記に格納される
Windows: C:/Users/[ユーザ名]/houdiniX.Y
Mac: /Users/[ユーザ名]/Library/Preferences/houdini/X.Y
・バージョンごとの階層で管理する
$HSITE
共通設定を持たせるためのHoudini構成情報のパス
・$HOUDINI_USER_PREF_DIRの共有管理版
・バージョンごとの階層で管理する
$HFS
Houdiniのインストールディレクトリ
-
$HIP
hipファイルが格納されているディレクトリ
・下記を動的に指定する
1. Houdini起動時のディレクトリ
2. シーンファイルのあるディレクトリ
3. シーンファイルを最後に保存したディレクトリ
$JOB
共有プロジェクトファイルの格納ディレクトリ
・$HIPの共有管理版
・2つ以上のシーンファイルを含むプロジェクトに対して使用する
エレキベア
エレキベア
確かにHoudiniを使用しているとよく見るものが多いクマね
ぷらずも
ぷらずも
HOUDINI_PATHやHFSといった環境変数を設定すると、それを使用している各環境変数の参照先も変更されますが、HDAやPythonといった資産を別々のフォルダに格納したい場合 もあると思います。 そのように資産ごとに個別にフォルダを変更する場合には、下記のような環境変数が使用できます。
HOUDINI_PATHを使用している環境変数例
環境変数
概要
デフォルト設定
$HOUDINI_OTLSCAN_PATH
HDAを読み込むパス
@/otls
$HOUDINI_MENU_PATH
メインメニューファイルの検索パス
@
$HOUDINI_TOOLBAR_PATH
シェルフツールファイルの検索パス
@/^ (@/toolbar)
$HOUDINI_PYTHON_PANEL_PATH
Pythonパネルファイルの検索パス
@/^ (@/python_panels)
$HOUDINI_RADIALMENU_PATH
Radialメニューの検索パス
@/^ (@/radialmenu)
$HOUDINI_VEX_PATH
VEXコードの検索パス
・ヘッダファイル(.h)、VEX コード・スニペット(.vfl)、 アセンブリ出力(.vex)が対象
参考: VEX no include サルにもわかるHoudini
@/vex/^ (@/vex/[オペレータ名])
$HOUDINI_DSO_PATH
カスタムプラグインを読み込むパス
@/vex
$HOUDINI_SCRIPT_PATH
HScript、tckl/tkファイルを読み込むパス
@/scripts
エレキベア
エレキベア
これだけ変更したい、という場合にも使えそうクマね
ぷらずも
ぷらずも
その他、使用頻度が高そうな環境変数も記載しておきます。 Python関連の環境変数は厳密にはHoudini側で用意されているものではないですが、Pythonファイルを読み込ませる場合に使用します。
その他よく使いそうな環境変数
環境変数
概要
補足
$HOUDINI_PACKAGE_DIR
パッケージファイルを読み込むパス
※環境変数の設定方法 > パッケージファイルを使用する 参照
$HAPI_LICENSE_MODE
Houdini Engineが見に行くライセンスを制限できる
デフォルト: Engine → Core → FX
engine_only: Engineのみ
$SIDEFXLABS
SideFXLabsのインストールパス
-
$SIDEFXLABS_ADMIN_UPDATES
個々のユーザによる既存インストールのアップデートを無効にする
-
$HOUDINI_UISCALE
UIのスケールを変更する
ノートPC向けの設定におすすめ
$HOUDINI_MMB_PAN
左ボタンがタンブル、中ボタンがパン、右ボタンがズームになるようマウスボタンを再マップする
ノートPC向けの設定におすすめ
$PYTHONPATH
Pythonファイルを読み込むパス
-
$PYTHONDONTWRITEBYTECODE
pycファイルの生成を行うかどうか
-
ぷらずも
ぷらずも
この中で意外と知られていないのが $HOUDINI_MMB_PAN 変数です。 Macbookで設定するとTrackpad操作でノードの操作が行えるようになるので、通勤/通学中などにHoudiniを行いたい場合 におすすめです!
エレキベア
エレキベア
(通勤中にHoudiniかぁ・・・)
ぷらずも
ぷらずも
いくつかピックアップして記載しましたが、その他にも便利な環境変数が多々あるので気になる方はチェックしてみてください!

環境変数の一覧 | Houdini リファレンス

環境変数の設定方法

ぷらずも
ぷらずも
そしてこれらの 環境変数をどのように設定するか についてですが、大きく下記の3つの方法があります。
  1. houdini.envファイルを書き換える
  2. 起動bat内で設定して起動する
  3. パッケージファイルを使用する
エレキベア
エレキベア
うーむ、これもいくつか方法があるのクマか・・・
ぷらずも
ぷらずも
それぞれの方法について簡単に記載します。

houdini.envを書き換える

ぷらずも
ぷらずも
まず一番単純なのは houdini.envを書き換える方法 です。 Houdiniには起動時に読み込む環境設定を指定するファイルがあり、デフォルトだと下記に格納されています。
  • Windows
    • %HOME%/houdiniX.Y/houdini.env
  • Mac
    • ~/Library/Preferences/houdini/X.Y/houdini.env

参考:環境変数の設定 | Houdini リファレンス

エレキベア
エレキベア
Mayaにも同じようなenvファイルが用意されていたクマね
ぷらずも
ぷらずも
このenvファイルの中身を直接書き換えることで、起動時に設定されるようになります。
# Houdini Common Path
HOUDINI_CUSTOM_COMMON_DIR=/Users/plasmo/houdini/common

# Set Env
HOUDINI_OTLSCAN_PATH=${HOUDINI_CUSTOM_COMMON_DIR}/otls;@/otls
PYTHONPATH=${HOUDINI_CUSTOM_COMMON_DIR}/scripts
PYTHONDONTWRITEBYTECODE=1
▲設定例
エレキベア
エレキベア
これは非常に簡単クマね

起動bat内で設定した後に起動する

ぷらずも
ぷらずも
houdini.envを使用する方法は簡単ですが、複数環境を使い分けたい場合には都度書き換えないといけないというデメリットがあります。 そういった場合には、bat(shell)内で環境変数を設定した後に起動する という方法が有効です。
@echo off

set PARAM_HOUDINI_VER="20.5.332"
set PARAM_HOUDINI_LICENSE="houdini"

REM Get Common Path.
set HOUDINI_CUSTOM_COMMON_DIR=C:\Users\plasmo\houdini\common

REM Set Env.
set HOUDINI_OTLSCAN_PATH=%HOUDINI_CUSTOM_COMMON_DIR%\otls;@/otls;
set PYTHONPATH=%HOUDINI_CUSTOM_COMMON_DIR%\scripts;
set PYTHONDONTWRITEBYTECODE=1;

REM Launch App.
"C:\Program Files\Side Effects Software\Houdini %PARAM_HOUDINI_VER%\bin\%PARAM_HOUDINI_LICENSE%.exe"

▲起動時設定の例(Windows)
#!/bin/bash

PARAM_HOUDINI_VER="20.5.410"
PARAM_HOUDINI_LICENSE="Apprentice"

# Set Common Path.
export HOUDINI_CUSTOM_COMMON_DIR=/Users/plasmo/houdini/common

# Set Env.
export HOUDINI_OTLSCAN_PATH="${HOUDINI_CUSTOM_COMMON_DIR}/otls;@/otls;"
export PYTHONPATH="${HOUDINI_CUSTOM_COMMON_DIR}/scripts"
export PYTHONDONTWRITEBYTECODE=1

# Launch App.
"/Applications/Houdini/Houdini${PARAM_HOUDINI_VER}/Houdini ${PARAM_HOUDINI_LICENSE} ${PARAM_HOUDINI_VER}.app/Contents/MacOS/happrentice
▲起動時設定の例(Mac)
エレキベア
エレキベア
これもMayaでもよく見られる方法クマね

パッケージファイルを使用する

ぷらずも
ぷらずも
そして最後に、Houdiniパッケージ を使用する方法があります。 これはパッケージファイルという環境変数を記載したJSONを用意することで設定する方法で、現在主流となりつつある方法です。

参考:Houdiniパッケージ | Houdini リファレンス

エレキベア
エレキベア
環境設定部分をJSONとして分けることができるのクマね
ぷらずも
ぷらずも
パッケージファイルは下記フォルダに格納されているファイルが順番に読まれていきます。
  1. $HOUDINI_USER_PREF_DIR/packages
  2. $HSITE/houdinimajor.minor/packages
  3. $HOUDINI_PACKAGE_DIR
ぷらずも
ぷらずも
$HOUDINI_PACKAGE_DIR はカスタムで追加できるディレクトリになります。 パッケージファイルはhoudini.envよりも先に読まれるため、起動前に設定する必要がある 点には注意が必要です。
エレキベア
エレキベア
houdini.envと違って、固有の環境設定を $HOUDINI_PACKAGE_DIR で指定することで切り替えることができるクマね
ぷらずも
ぷらずも
JSONファイルの書き方としては、env項目に環境変数と値を設定 する他、 追加・置換などのオプションやバージョンごとの挙動なども指定 することができます。
{
    "env": [
        {
            "HOUDINI_PATH": "$HOUDINI_PACKAGE_PATH/../tools"
        }
    ]
}
▲シンプルな例
{
    "requires" : ["package1","package2"],
    "env": [
        {
            "var": "BOB_TOOL",
            "value": "$HOME/bob_tool",
            "method": "append"
        },
        {
            "var": "BOB",
            "value": "$HOME/bob_tool"
        },
        {
            "var": "HOUDINI_PATH",
            "value": [
                "$BOB/libs",
                {
                    "houdini_version>'17.5' and houdini_version<'17.5.250'": "$BOB/test2",
                    "method": "append"
                }
            ]
        },
        {
            "PATH" : {
                "value" : "$BOB/bin",
                "method": "append"
            }
        }
    ]
}

▲method指定やバージョンによる分岐を加えた例
ぷらずも
ぷらずも
詳細な書き方については、公式リファレンスをご参照ください!

(参考) 個人的な環境設定

ぷらずも
ぷらずも
最後に参考として、個人的にどのような環境設定を行なっているかを紹介します!

基本の環境設定

ぷらずも
ぷらずも
まずフォルダ構造としては下記のように、 houdini/common配下にHDAやtoolbar、Pythonファイルなど を、 launcher配下に起動bat(shell) をそれぞれ格納しています。 また、houdini/common/packagesには共通で読み込ませるためのパッケージファイルを用意しています。
houdini-tools
├─houdini
│  ├─common
│  │  ├─hda
│  │  ├─scripts
│  │  └─toolbar
│  ├─packages
│  └─projects
└── launcher
    ├── mac
    │   ├── Houdini_20_5_410_Apprentice.sh
    │   ├── Houdini_Steam_Indie.sh
    │   └── _switch_packages ※後述
    └── windows
        ├── _Houdini_Settings.bat
        ├── Houdini_20_5_332_Apprentice.bat
        └── Houdini_Steam_Indie.bat
▲フォルダ構造
{
    "env":
    [
        {
            "HOUDINI_AUTHOR": "molegoro"
        },
        {
            "HSITE": "$HOUDINI_CUSTOM_COMMON_DIR"
        },
        {
            "JOB": "$HOUDINI_CUSTOM_PROJECT_DIR"
        },
        {
            "HOUDINI_OTLSCAN_PATH": [
                "$HOUDINI_CUSTOM_COMMON_DIR/hda/fractal",
                "$HOUDINI_CUSTOM_COMMON_DIR/hda/modeling"
            ]
        },
        {
            "HOUDINI_TOOLBAR_PATH": "$HOUDINI_CUSTOM_COMMON_DIR/toolbar"
        },
        {
            "PYTHONPATH": "$HOUDINI_CUSTOM_COMMON_DIR/scripts"
        },
        {
            "PYTHONDONTWRITEBYTECODE": 1
        }
    ]
}


▲パッケージファイルの記述
エレキベア
エレキベア
このパッケージファイルを指定して起動するクマね
ぷらずも
ぷらずも
あとは各起動bat(shell)内で、$HOUDINI_PACKAGE_DIRと内部で使用している環境変数を設定してから起動するようにしているだけですね。
@echo off

REM Get Custom Path.
set CURRNET_DIR=%~dp0
for %%D in (%CURRNET_DIR%..\..\houdini) do set HOUDINI_CUSTOM_DIR=%%~fD
set HOUDINI_CUSTOM_COMMON_DIR=%HOUDINI_CUSTOM_DIR%\common
set HOUDINI_CUSTOM_PACKAGE_ROOT_DIR=%HOUDINI_CUSTOM_DIR%\packages
set HOUDINI_CUSTOM_SIDEFXLABS_DIR=D:/workspace/HoudiniProjects/_labs

REM Set Packages Env.
set HOUDINI_PACKAGE_DIR=%HOUDINI_CUSTOM_PACKAGE_ROOT_DIR%\common;

REM Set Project Env.
REM Please overwrite custom project path.
set HOUDINI_CUSTOM_PROJECT_DIR=%HOUDINI_CUSTOM_DIR%\projects


@echo off

REM Set Base Settings.
set CURRNET_DIR=%~dp0
call %CURRNET_DIR%_Houdini_Settings.bat

REM Launch App.
set PARAM_HOUDINI_VER="20.5.332"
set PARAM_HOUDINI_LICENSE="houdini"
"C:\Program Files\Side Effects Software\Houdini %PARAM_HOUDINI_VER%\bin\%PARAM_HOUDINI_LICENSE%.exe"

▲Windows版起動処理
#!/bin/bash

PARAM_HOUDINI_VER="20.5.410"
PARAM_HOUDINI_LICENSE="Apprentice"

# Set Custom Env.
CURRENT_DIR=$(dirname "$0")
export HOUDINI_CUSTOM_DIR=$(realpath "${CURRENT_DIR}/../../houdini")
export HOUDINI_CUSTOM_COMMON_DIR="${HOUDINI_CUSTOM_DIR}/common"
export HOUDINI_CUSTOM_PACKAGE_DIR="${HOUDINI_CUSTOM_DIR}/packages"
export HOUDINI_CUSTOM_PROJECT_DIR="${HOUDINI_CUSTOM_DIR}/projects"
export HOUDINI_CUSTOM_SIDEFXLABS_DIR=/Users/plasmo/workspace/HoudiniProjects/_sidefxlabs

# Set Packages Env.
export HOUDINI_PACKAGE_DIR="${HOUDINI_CUSTOM_PACKAGE_DIR}/common"

# Launch App.
"/Applications/Houdini/Houdini${PARAM_HOUDINI_VER}/Houdini ${PARAM_HOUDINI_LICENSE} ${PARAM_HOUDINI_VER}.app/Contents/MacOS/happrentice"

▲Mac版起動処理
エレキベア
エレキベア
シンプルクマ〜〜〜〜

特殊対応:Steam版Houdini(Mac)の起動設定

ぷらずも
ぷらずも
一点Steam版Houdiniで起きた問題として、Macだとshellで環境変数を設定しても適用されない といった問題がありました。 Windowsだと問題はなく詳細な原因までは追えていないのですが、恐らくはSteamからHoudiniを起動する仕組みによるものだと思います。
エレキベア
エレキベア
むむ・・・それは困ったクマ・・・
ぷらずも
ぷらずも
そこで暫定対処として、デフォルトでパッケージファイルが読み込まれるパスにもう一段パッケージファイルを格納して参照させるといった方法を採用してみました。 下記のようにファイルを用意して、パッケージファイルを認識させるためのパッケージファイルを作成します。
launcher/mac
├── Houdini_20_5_410_Apprentice.sh
├── Houdini_Steam_Indie.sh
└── _switch_packages
    ├── _packages
    │   └── Desktop.json
    ├── _clean_custom_packages.sh
    ├── _switch_custom_packages.sh
    ├── clean_custom_packages_20_5.sh
    └── switch_custom_packages_20_5.sh
▲フォルダ構造
{
    "env":
    [
        {
            "HOUDINI_CUSTOM_COMMON_DIR": "/Users/plasmo/workspace/HoudiniProjects/houdini-scripts/houdini/common"
        }
    ],
    "package_path": "$HOUDINI_CUSTOM_COMMON_DIR/packages"
}

▲パッケージファイルを認識させるためのパッケージファイル
ぷらずも
ぷらずも
そしてこのパッケージファイルをデフォルトで読み込まれるパス(今回だと/Users/[ユーザ名]/Library/Preferences/houdini)配下に格納します。 これをshellで書くと下記のようになります。
#!/bin/bash

# check parmeters
if [ -z "$PARAM_HOUDINI_VER" ] || [ -z "$PARAM_CUSTOM_PACKAGE_NAME" ]; then
    echo "please set PARAM_HOUDINI_VER and PARAM_CUSTOM_PACKAGE_NAME env."
    exit 1
fi

# custom env path
CURRENT_DIR=$(dirname "$0")
CUSTOM_PACKAGE_DIR=$(realpath "$CURRENT_DIR/_packages")

# houdini packages path
USER_PACKAGES_DIR="/Users/plasmo/Library/Preferences/houdini/${PARAM_HOUDINI_VER}/packages"

# copy custom env file
COPY_FROM_PATH="${CUSTOM_PACKAGE_DIR}/${PARAM_CUSTOM_PACKAGE_NAME}"
COPY_TO_PATH="${USER_PACKAGES_DIR}/UserCustom.json"
echo "copy $COPY_FROM_PATH to $COPY_TO_PATH"
cp $COPY_FROM_PATH $COPY_TO_PATH

echo "complete switch custom packages."

▲パッケージファイルを指定フォルダ配下に格納する
#!/bin/bash

# settings
export PARAM_HOUDINI_VER="20.5"
export PARAM_CUSTOM_PACKAGE_NAME="Desktop.json"

# call shell
CURRENT_DIR=$(dirname "$0")
"$CURRENT_DIR/_switch_custom_packages.sh"

▲Desktop.jsonを格納するよう引数指定して実行
ぷらずも
ぷらずも
格納した状態で起動すると、共通設定のパッケージファイルが読み込まれるようになります。 必要に応じてパッケージファイル内の参照先を変えることで、環境を切り替えることができます。
エレキベア
エレキベア
少しややこしいクマが・・・こればっかりは仕方ないクマね

おわりに

ぷらずも
ぷらずも
というわけで今回はHoudiniの環境設定に関する話でした! どうだったかな??
エレキベア
エレキベア
環境変数もたくさんあって方法もいくつもあるから 初めての人は混乱しそうクマね
ぷらずも
ぷらずも
ややこしいけど、設定の自由度の高さもHoudiniの一つの魅力だと思うから使いこなしていきたいね!
ぷらずも
ぷらずも
それでは今日はこの辺で! アデューー!!
エレキベア
エレキベア
クマ〜〜〜〜

【Houdini20.5】主要な環境変数と設定方法についてまとめる【Windows/Mac】【Steam版】〜完〜


Houdinishell作業環境
2025-05-05

関連記事
【Houdini21.0】Heightfield VisualizeでレイヤーをWeightBlend(順不同)で表示する
2026-01-12
【Houdini21.0】3Dビル群っぽいブログヘッダー画像を作成する
2026-01-10
【Houdini21.0】Solaris徹底入門:USD構成を意識した基本的な作業フローについてまとめる
2025-12-31
【Houdini21.0】Otisによる筋肉シミュレーションと筋肉情報転送機能の使い方【Otis Muscle and Tissue Simulation】
2025-11-29
【Houdini】Mardini2025の振り返りと制作物解説
2025-11-24
【Houdini Indie】通常版とSteam版の挙動の違いをまとめる【2025年版】
2025-11-03
【ゲーム数学】第十回 p5.js(+α)で学ぶゲーム数学「複素数とフラクタル」
2025-11-02
【プロシージャル】Pythonで学ぶ波動関数崩壊アルゴリズム(Wave Function Collapse)
2025-06-22