※ Houdini 19.0.383 現在この機能は実験段階であり、機能とプログラミングインターフェイスは変更される可能性があります。
公式ドキュメントはこちら(英語)
概要
HDA に搭載できる機能である Python State を使い、ビューシーン上にキーとマウスの使用上のヒント、および現在の設定を表示する「info panel」を表示できます。
既に Attribute Paint や Vellum Brush など Viewer State を持つノードの一部にはこれが追加されており、ノードを選択した状態でビューシーン上で Enter を入力することで info panel を確認することができます。
本記事ではサンプルスクリプトについて確認します。
手順
Python State のイニシャライザで hou.SceneViewer.hudInfo() を呼び出すことで、Template dictionary に沿った情報表示の設定ができます。
また、onEnter や onMouseEvent などビューシーン上の操作中に情報を更新したり値の可視状態を切り替えることもできます。
Viewer State の追加
- 任意の HDA を右クリックし、Type Properties… を選択
- Operator Type Properties ウィンドウが開くので、Interactive タブから State Script を選択
- ウィンドウ右下の New… をクリックし、Viewer State Code Generator ダイアログを開く
- Samples は Blank を選択し、Event Handlers は onEnter, onMouseEvent, onDraw, onDrawInterrupt を選択してダイアログ右下の Accept をクリック
Info Panels の追加
- State Script の State に以下を追加
- onEnter を書き換える
- onDraw, onDrawInterrupt を書き換え、83行目をコメントアウト
- Apply, Accept をクリックして Operator Type Properties を保存して閉じ、HDA を選択した状態でビューシーン上で Enter を入力する
これでビューシーンに info panels が表示されるようになりました。カメラモードにすると Python State が機能しないため、Alt キーを押しながらカメラの位置を変更すると Translation が更新されるのが分かります。
onEnter で rot_group を True にしたり、onMouseEvent で表示非表示を切り替えるなど Viewer State 同様にもできます。