On this page |
概要 ¶
Houdiniは、あなた独自の Spareパラメータ(ユーザパラメータ) を個々のノードのユーザインターフェースに追加することができます。 そして、エクスプレッションでそのSpareパラメータの値を使用することができます。 これによって、エクスプレッションの数値部分を手動で編集することなく調整できるインターフェースをセットアップすることができます。
(Spareパラメータは単一ノード上にのみ存在します。カスタマイズした同じユーザインターフェースを使って複数ノードを作成できるように新しいタイプのノードを作成したいのであれば、デジタルアセットが必要です。)
サンプル ¶
例えば、エクスプレッションを使ってポイントの位置をY方向にランダムにずらすPointジオメトリノードがあるとします:
Position Y |
|
---|
(@P.y
は現行のポイントのY方向の位置で、randは0以上1未満の値を返し、@ptnum
はランダムシードとして使用する現行のポイント番号で、そして-0.5
から+0.5
までのランダム範囲になるように0.5
を減算しています。)
このジッターのスケールを変更する乗数を追加することができます:
Position Y |
|
---|
…しかし、この乗数を色々と変更したい場合、そのエクスプレッション内の数値を手動で編集するのは面倒です。そこで必要なのは、そのエクスプレッション内のその乗数の値を修正できるノードのパラメータです。
ch関数を使用してパラメータを参照できるように、そのエクスプレッションを変更することができます:
Position Y |
|
---|
…そしてjitter_scale
というSpareパラメータを追加します。それから、そのパラメータインターフェースを使用して、スライダでインタラクティブにスケールを設定できるようにします。
(エクスプレッションの記述に関する詳細は、エクスプレッションクックブックを参照してください。)
How to ¶
-
ノードのパラメータエディタで、 ▸ Edit Parameter Interface をクリックします。
-
Create Parameters リストで、パラメータタイプを Existing Parameters リスト上にドラッグして、インターフェース内でそれを入れたい所にドロップします。
例えば、浮動小数点パラメータを Group フィールド内に追加するには、左側のペインから Float をドラッグして、それを Existing Parameters リスト内の Group にドロップします。
-
Parameter Description で、その新しいパラメータのオプションを設定します:
-
Name をパラメータの内部名に設定します。これは、
ch("name")
関数コールで使用する値です。これにはスペースを含めることはできず、ノード上の他のパラメータと同じ名前にすることができません。 -
Label を設定します。これはユーザインターフェースで表示されるパラメータのラベルです。
-
-
その新しいパラメータの値を参照するには、他のパラメータ内にch(または文字列パラメータに対してはchs)を使用します。
例えば、エクスプレッションで以下のように同じノード上の
jitter_scale
パラメータの値を参照することができます:ch('jitter_scale')
VEXスニペット ¶
Attribute Wrangleジオメトリノードなどのいくつかのノードでは、短いVEXスクリプトを記述することで、そのノードの挙動を変更することができます。 それらのスニペット内にパラメータ参照を使用し、それに相当するSpareパラメータを自動的に追加することができます。