Created on | Updated on

Python state info panels

※ Houdini 19.0.383 現在この機能は実験段階であり、機能とプログラミングインターフェイスは変更される可能性があります。
公式ドキュメントはこちら(英語)

 

概要

HDA に搭載できる機能である Python State を使い、ビューシーン上にキーとマウスの使用上のヒント、および現在の設定を表示する「info panel」を表示できます。

既に Attribute Paint や Vellum Brush など Viewer State を持つノードの一部にはこれが追加されており、ノードを選択した状態でビューシーン上で Enter を入力することで info panel を確認することができます。

mceclip4.png

本記事ではサンプルスクリプトについて確認します。

 

手順

Python State のイニシャライザで hou.SceneViewer.hudInfo() を呼び出すことで、Template dictionary に沿った情報表示の設定ができます。

また、onEnter や onMouseEvent などビューシーン上の操作中に情報を更新したり値の可視状態を切り替えることもできます。

Viewer State の追加

  1. 任意の HDA を右クリックし、Type Properties… を選択
  2. Operator Type Properties ウィンドウが開くので、Interactive タブから State Script を選択
  3. ウィンドウ右下の New… をクリックし、Viewer State Code Generator ダイアログを開く
  4. Samples は Blank を選択し、Event Handlers は onEnter, onMouseEvent, onDraw, onDrawInterrupt を選択してダイアログ右下の Accept をクリック

Info Panels の追加

  1. State Script の State に以下を追加
    ______1.png
  2. onEnter を書き換える
    ______1.png
  3. onDraw, onDrawInterrupt を書き換え、83行目をコメントアウト
    ______1.png
  4. Apply, Accept をクリックして Operator Type Properties を保存して閉じ、HDA を選択した状態でビューシーン上で Enter を入力する

これでビューシーンに info panels が表示されるようになりました。カメラモードにすると Python State が機能しないため、Alt キーを押しながらカメラの位置を変更すると Translation が更新されるのが分かります。

onEnter で rot_group を True にしたり、onMouseEvent で表示非表示を切り替えるなど Viewer State 同様にもできます。

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

※ 問い合わせ対応はBorn Digitalより製品をご購入頂きましたお客様のみのサービスとなります。ご了承下さい。
サポート問い合わせ