On this page |
概要 ¶
これは、StrokeやDraw Curveのジオメトリノードで使用されるインタラクティブツールです。
独自のストロークノードを作成する ¶
あなたのGeometryノードアセットにこの相互作用を持たせたい場合(つまり、ユーザが3Dビュー内でストロークを作成し、そのストロークジオメトリを使って何かをしたい場合)、以下の事をします:
-
あなたのアセットのType Propertiesウィンドウで、 Node タブをクリックして、 Default State を
stroke
に設定します。 -
stroke
状態は、ストロークを描画した時にHDA上にいくつかのstroke_*
パラメータの値を設定します。あなたのノードにそれらのパラメータを持たせることで、そのstroke
状態がそれらのパラメータの値を設定することができます。通常では、これを行なう最も便利な方法は、アセットの中にDraw Curveジオメトリノードを作成し、そのstroke_*
パラメータすべてをアセット上にプロモートさせることです。 -
アセット内部のジオメトリネットワーク内で、そのDraw Curveノードから出力されるカーブを使って、ノードの処理を駆動させます。出力されるカーブには、ユーザがタブレットを使ってストロークを描画した時の筆圧や角度の情報などの役立つPrimitive/Pointアトリビュートがあります。
例えば、Draw Curveアセットが内部でどうようにローレベルのStrokeノードを使用しているのか見ることができます。
カスタマイズ ¶
stroke
状態は、ノード上に以下の名前のSpareパラメータ(通常では非表示)を探し、それらのパラメータが存在すれば、それらの値を使って処理をカスタマイズすることができます:
stroke_projgeoinput
ストロークの描画先のジオメトリとして使用する入力を指定した整数(0
から始まります)を格納します。
stroke_prompt
ビューア内でユーザに表示する状態の文字列を格納します。例えば、Draw on the surface to style the fur
。
stroke
状態は、ノード上に以下の名前のSpareパラメータ(通常では非表示のアクションボタンパラメータ)を探し、それらのパラメータが存在すれば、特定のイベントに反応して、それらのパラメータのコールバックを実行します。
詳細は、パラメータコールバックスクリプトを参照してください。
prestroke
ユーザがストロークを終えた後にHoudiniがストロークパラメータを埋める前に実行します。
poststroke
ユーザがストロークを終えた後にHoudiniがストロークパラメータを埋めた後に実行します。
state_eventcallback
通常では、prestroke
とpoststroke
は、必要な処理を得るのに十分です。しかし、ユーザが描画した時にもっと細かなイベントが必要な場合、このパラメータを作成します。
Houdiniは、何のイベントが発生したのかを示したkwargs
辞書に追加したevent
キーを使ってコールバックスクリプトを実行します。
現在のところ、stroke
状態には、did_enter
, did_exit
, did_interrupt
, did_resume
, did_restart
, did_brush_resize
, did_repeat
, did_accept
のイベントがあります。
See also |