実装
- New Pane Tab Type の中から Viewer Handle Browser をクリックします。
- ブラウザのツールバーのリストメニューから Sop カテゴリを選択します。
-
File > New Handle… メニューをクリックし、Viewer Handle Code Generator を開きます。
-
Name フィールドに handle_demo と入力します。
-
Samples オプションで Gadget を選択して、 Accept をクリックします。
- Code Generator で作成されたスクリプトは $HOUDINI_USER_PREF_DIR/viewer_handlers/handle_demo.py として保存され、Viewer Handle Browser ツリーには Handle demo として格納されているのが確認できます。
ダイアログは Accept で閉じます。
テスト
-
任意のアセット(何の機能も持たない空のアセットでもいいです)を右クリックし、Type Properties ウィンドウを開きます。
-
Interactive > State Script タブをクリックします。
-
右下の New… ボタンをクリックすると、Viewer State Code Generator ダイアログが開きます。
-
Samples オプションで Static Handle を選択して Accept をクリックします。
-
コードの中の HANDLE_TYPENAME を "handle_demo" に書き換えて Accept をクリックします。
-
state handle demo ノードを選択して、ビューシーン内で Enter キーを押します。
原点にピボットガジェットが表示されるのを確認してください。
今回は Handle State に Gadget を選択したため、何もしないただのガジェットを配置するだけです。Code Generator 次第では HDA の入力ジオメトリにハンドルをバインドして自在に動かしたり、通常のハンドル機能よりもインタラクティブな機能を追加することも可能です。
サンプルとしてこちらもご参考ください。