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セッションからHOMスクリプトを使ってネットワーク越しにHoudiniを制御することができます。
-
Alembicファイルから情報を抽出するための便利な関数です。
Python Viewerステート ¶
-
Viewer Stateは、ビューア内でのマウスの動き、クリック、キーといった解釈の方法を制御します。
-
ノードを制御するステートを実装する方法。
-
ビューアや検査ツールのように、特定のノードタイプに依存しないステートを実装する方法。
-
SOPノードステートの動作の一部としてユーザがジオメトリを選択できるようにする方法。
-
独自ステートとハンドルを紐づけて、そのハンドルを使ってユーザ操作に反応させる方法。
-
パラメータをステートにバインドして、そのステートをパラメータ変更に反応させる方法。
-
独自ステートのデータとユーザ操作に基づいてビューポート内でガイドジオメトリを表示する方法。
-
直接的なUI入力を検知して反応させる方法。
-
独自ステートのコンテキストメニューをセットアップして、そのメニューを使ってユーザ操作に反応させる方法。
-
drag dropアクションに反応するステートをセットアップする方法。
-
独自ステートでのアクションをUndo可能にする方法。
-
Pythonステートは、現行設定だけでなくホットキーとマウスの使い方のヒントを表示したInfoパネルを表示することができます。
Pythonビューアハンドル ¶
-
ビューアハンドルは、インタラクティブにパラメータを変更することができる独自ハンドルです。
-
Gadget Drawablesを使ってビューポート内にビューアハンドルをレンダリングする方法。
-
Viewer Handleイベントをリッスン(受信)してそれに反応する方法。