Houdini 20.0 ノード サーフェスツール

Stroke

ビューポートでインタラクティブにストロークを描画します。

On this page

概要

これは、StrokeDraw Curveのジオメトリノードで使用されるインタラクティブツールです。

独自のストロークノードを作成する

あなたのGeometryノードアセットにこの相互作用を持たせたい場合(つまり、ユーザが3Dビュー内でストロークを作成し、そのストロークジオメトリを使って何かをしたい場合)、以下の事をします:

  1. あなたのアセットのType Propertiesウィンドウで、 Node タブをクリックして、 Default Statestrokeに設定します。

  2. stroke状態は、ストロークを描画した時にHDA上にいくつかのstroke_*パラメータの値を設定します。あなたのノードにそれらのパラメータを持たせることで、そのstroke状態がそれらのパラメータの値を設定することができます。通常では、これを行なう最も便利な方法は、アセットの中にDraw Curveジオメトリノードを作成し、そのstroke_*パラメータすべてをアセット上にプロモートさせることです。

  3. アセット内部のジオメトリネットワーク内で、その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

通常では、prestrokepoststrokeは、必要な処理を得るのに十分です。しかし、ユーザが描画した時にもっと細かなイベントが必要な場合、このパラメータを作成します。 Houdiniは、何のイベントが発生したのかを示したkwargs辞書に追加したeventキーを使ってコールバックスクリプトを実行します。

現在のところ、stroke状態には、did_enter, did_exit, did_interrupt, did_resume, did_restart, did_brush_resize, did_repeat, did_acceptのイベントがあります。

See also

サーフェスツール