On this page |
概要
Houdini Object Model (HOM)とは、Pythonスクリプト言語を使ってHoudiniから情報を取得して制御することができるアプリケーションプログラミングインターフェース(API)です。 HOMはHoudiniの以前のスクリプトソリューションであるエクスプレッション言語とHScriptの機能の代わりとなります。
Pythonでは、houパッケージがHOMを定義しているモジュール、関数、クラスの階層のトップです。
hou
モジュールは、パラメータエディタやhython
コマンドラインシェルでエクスプレッションを記述する時に自動的にインポートされます。
どのPython?
Mac
Mac OS Xでは、HoudiniはシステムのPythonを使用します。
Windows
Windowsでは、HoudiniはHoudiniと一緒にインストールされたPythonのバージョンを使用します。
Linux
Linuxでは、HoudiniはPythonライブラリを検索して読み込もうとする時に$PATH
を見ません。その代わりに、Houdiniは$LD_LIBRARY_PATH
、次に/lib
、そして/usr/lib
のパス全てを検索します。システム内に適したPythonライブラリが見つけられない場合、Houdiniは$HFS
のライブラリをデフォルトにします。Pythonライブラリが標準の場所になければ、$LD_LIBRARY_PATH
にそのディレクトリパスを追加してください。
サブトピック
はじめよう
-
デフォルトのHScriptエクスプレッション言語の代わりに、Pythonでパラメータエクスプレッションを記述することができます。
-
Houdiniでは、Pythonスクリプトを使用することで、いろいろな場所で挙動をカスタマイズすることができます。
-
シェルフツール用Pythonスクリプトを記述する方法。
次のステップ
-
これらのサンプルでは、HoudiniのPythonスクリプトのAPIの簡単な使い方を説明します。
-
HOMを使って個々のノードに任意のデータを保存、取得することができます。
-
組み込みブラウザで閲覧したHTMLページに特別なJavaScriptオブジェクトを使用することで、Houdiniと通信させることができます。
-
ネットワークエディタのFindダイアログと同じコードを使ってプログラム的にノードを検索することができます。
Pythonビューアステート
Pythonでビューアステートを記述することで、ビューポート内でノードのユーザー操作をカスタマイズすることができます。
-
Viewer Stateは、ビューア内でのマウスの動き、クリック、キーといった解釈の方法を制御します。
-
ノードを制御するステートを実装する方法。
-
ビューアや検査ツールのように、特定のノードタイプに依存しないステートを実装する方法。
-
SOPノードステートの動作の一部としてユーザーがジオメトリを選択できるようにする方法。
-
独自ステートとハンドルを紐づけて、そのハンドルを使ってユーザー操作に反応させる方法。
-
独自ステートのデータとユーザー操作に基づいてビューポート内でガイドジオメトリを表示する方法。
-
直接的なUI入力を検知して反応させる方法。
-
独自ステートのコンテキストメニューをセットアップして、そのメニューを使ってユーザー操作に反応させる方法。
-
独自ステートでのアクションをUndo可能にする方法。
-
独自ステートをHoudiniのビルトインツールと違和感なく使いやすくするためのルールとヒント。
導師レベル
-
他のPythonセッションからHOMスクリプトを使ってネットワーク越しにHoudiniを制御することができます。
リファレンス
-
Houdiniにアクセスできるサブモジュール、クラス、ファンクションを含んだモジュール。
-
Alembicファイルから情報を抽出するための便利な関数です。