Houdini Node Library (HNL)
Houdini のノードを Hscript (nodes.cmd) として保存し、独立したブラウザアプリから呼び出すツールです。
選択ノード、ネットワーク全体、シーン全体を登録できます。登録した内容は、現在のネットワークへの追加、新規シーンへのインポート、シーンを開く、のいずれかで復元します。
必要環境
- Windows
- Houdini 20.5 / 21.0 / 22.0(動作確認は 22.0.429。20.5 と 21.0 は Python 3.11 用の起動フックを同梱しています)
- Python 3.11 以降(アプリ本体用。Houdini 内蔵の Python とは別です)
- TortoiseSVN(任意。SVN でバージョン管理するときだけ。コミット・履歴・差分の画面に使います)
インストール
-
pip で導入します(仮想環境の利用をおすすめします)。PySide6 などの依存も一緒に入ります。
python -m venv hnl-env hnl-env\Scripts\pip install houdini-node-library -
Houdini のユーザー設定に package を導入します。
hnl-env\Scripts\hnl-houdini installDocuments\houdini22.0\packages\hnl.jsonが作られます。別の版は--houdini-version 21.0、設定フォルダが標準の場所に無いときは--prefs-dir <フォルダ>で指定します。hnl-houdini statusで導入状態を、hnl-houdini uninstallで撤去(hnl.jsonの削除)ができます。 -
Houdini を再起動します。通常どおり起動した Houdini(GUI)では、起動時にブリッジが自動で立ち上がります。ブリッジは
127.0.0.1だけで待ち受けます。 -
アプリを起動します。
hnl-env\Scripts\hnlコンソールは出ません。
python -m hnlでも起動できます。起動済みのときは、新しいウィンドウを作らず既存のウィンドウが前面に出ます。Houdini のシェルフ「HNL」のOpen Libraryからも起動できます。
hnl.json には、いま使っている Python の場所が書かれます。Python の環境を作り直したり移動したりしたときは、hnl-houdini install をやり直してください。
5 分で試す
hnlで起動します。「ルートフォルダを追加してください」と出るので「設定を開く」を押します。- 「追加...」で空のフォルダを選び、OK を押します。これがライブラリのルートです。
- Houdini(package 導入済み)でノードを作って選択し、シェルフ「HNL」の
Register to Libraryを押します。ノードを右クリックしてHNL: Register to Libraryでも開けます。 - 登録画面が開くので、名前(必要ならプロジェクト・部署・タグ)を確認して「登録」を押します。
- ブラウザでアイテムを選び、「現在のネットワークへ追加」を押します。確認ダイアログで「インポート」を押すと、Houdini にノードが復元されます。
詳しい使い方は docs/user-guide.md、保存形式は docs/format.md、セキュリティと信頼モデルは docs/security.md を見てください。
開発者向け
ソースから動かすときの手順です。
python -m venv .venv
.venv\Scripts\pip install -e .[dev]
.venv\Scripts\hnl-houdini install # ソースの Houdini 側ファイルを読む hnl.json を作る
HNL.bat # または .venv\Scripts\python -m hnl
フォルダ構成:
src/hnl/ アプリ本体 (core / vcs / houdini / ui)
src/hnl/_houdini/ Houdini 側ファイル一式(python/hnl_bridge, python3.11libs, python3.13libs, toolbar, OPmenu.xml)。wheel にも同梱される
tests/ pytest(tests/houdini は Houdini を使う検証スクリプト)
tools/ デモライブラリ生成などの補助スクリプト
docs/ 利用者向け文書、設計メモ、検証結果
HNL.bat 開発用の起動バッチ(リポジトリの .venv を使う)
テストの実行:
.venv\Scripts\python -m pytest -q --ignore=tests/houdini
"%HFS%\bin\hython.exe" tests\houdini\run_tests.py
tests/houdini/ のスクリプトは Houdini が必要です。run_tests.py は hython.exe で、run_e2e.py などは .venv\Scripts\python で実行します(実行すると Houdini が起動するものがあります)。
配布物(wheel と sdist)は python -m build で作ります(pip install build が必要)。
既知の制限
- 保存形式は cmd のみです。
.hipファイルは扱いません。 - ハードロックしたノードのジオメトリは保存されません(フラグだけ残り、復元後は空になります)。
- ノードグループは保存されません。
- 選択外のノードからの入力接続は、復元後に失われます。選択外へのチャンネル参照は参照切れになります。
- 絶対パスで書いたエクスプレッションは、復元後も元のパスを指します。
- ビューポート撮影の画像に Houdini のロゴ透かしが入ることがあります(Apprentice など、ライセンスの種類によります)。
- バージョン管理は SVN のみです。
- Windows 専用です。
- cmd は実行されるコードです。信頼できる人のアイテムだけをインポートしてください。検査・承認・限界の詳細は docs/security.md を見てください。
ライセンス
MIT License です。全文は LICENSE を参照してください。
Metadata
Release files for houdini-node-library 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| houdini_node_library-0.1.0.tar.gz | 215.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| houdini_node_library-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 447.0 kB
Release files / houdini_node_library-0.1.0.tar.gz
| Download URL | houdini_node_library-0.1.0.tar.gz |
|---|---|
| Size | 215.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bac4ee3699547fbea08e9f72007562c86d4d9b8e46870de6549f97150c88737d
|
|
BLAKE2b-256 checksum How to use checksums |
523ddade095024d4fa800b156107c620439843eea014df739b003753f9d922bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.5
|
Release files / houdini_node_library-0.1.0-py3-none-any.whl
| Download URL | houdini_node_library-0.1.0-py3-none-any.whl |
|---|---|
| Size | 231.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21e506968e8303067becb16098d0db4e05fa1487e493cb51e4b281a7dec8ac4a
|
|
BLAKE2b-256 checksum How to use checksums |
122c3dc833929ad7877a7290a26c83fb15bc124056839f4ee3d114e8346452a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.5
|