Houdini 20.0 ネットワークとパラメータ

パラメータ参照

パラメータ間の参照の作成方法と元のノードを参照したコピーノードの作成方法。

On this page

概要

あるノードのパラメータ値を、他のノードのパラメータ値に基づかせたいことがよくあります。 他にも、ネットワーク内の別々の箇所で、同じまたは同様の設定をした同じノードが必要なことがあります。

パラメータ値やノードをコピー・アンド・ペーストすることはできますが、何か変更を加えた時に、すべてのコピーを更新するのは面倒でエラーになりがちです。 さらに、すべてのフレームにわたってアニメーション値をコピー・アンド・ペーストするのは実用的ではありません。

チャンネル参照 は、あるパラメータ値を他のパラメータ値や可能であれば別のノードのパラメータ値に基づいて計算させることができます。 これにより、値の複製や、他の値を基準にした値の作成が可能になり、値を変更すると、Houdiniが自動的にそれらの値を更新します。

参照ノードコピー は、ノード上のすべてのパラメータがそれに該当する大元のノードのパラメータをチャンネル参照している状態のノードの複製を作成します。 これにより、複数の箇所で同じノードを再利用することができ、Houdiniが自動的にそれらのノードを更新します。

Tip

ノードの名前を変更しても、Houdiniは、そのノードのすべての参照を自動的に更新します。

パラメータ値の参照

これは、参照のコピーとペースト(上記)と同様ですが、最初に他のノードに移動してコピーするのではなく、選択リストから参照したいデータを選択することができます。

To...Do this

他のパラメータの参照を作成する

  1. 他のパラメータを参照したいパラメータを右クリックして、 Reference ▸ Scene Data を選択します。

  2. 選択ウィンドウで、ツリーコントロールからブランチを開いて、参照したいパラメータを含んだノードを表示します。そして、そのノード下でParametersブランチを開いて、参照したいパラメータを探します。そのパラメータを選択して、 Accept をクリックします。

この機能は、あなたの代わりに他のノード上のパラメータを参照するchエクスプレッションを構築します。

Tip

複数コンポーネントを持つパラメータ(例えば、X,Y,Z値の位置パラメータ)に関しては、それぞれのコンポーネントテキストボックスをクリックするか、パラメータラベルをクリックして一度にすべてのコンポーネントに影響を与えることができます。

トランスフォームの参照

オブジェクトノードのTranslate, Rotate, Scaleのパラメータを参照することで、そのノードに ローカル トランスフォームを与えることができます。 ワールド トランスフォームを取得することで、手動でエクスプレッションを記述する時により巧妙なことができます。 参照メニューを使用することで、手動でエクスプレッションを記述することなく簡単にトランスフォームを参照することができます。

To...Do this

オブジェクトノードのトランスフォームの参照を作成する

  1. トランスフォームを参照したいパラメータを右クリックして、 Reference ▸ Scene Data を選択します。

  2. 選択ウィンドウで、ツリーコントロールからブランチを開いて、参照したいトランスフォームのノードを表示します。そして、そのノード下でTransformsブランチを開きます。

  3. 参照したいトランスフォーム(Local, Relative World, World)を選択します。

    “Relative World”は、参照しているノードの現行トランスフォームを参照されたトランスフォームに変更するためのエクスプレッションを挿入します。

    Worldなどの全体的なトランスフォームを選択することで、トランスフォームのすべてのコンポーネントの参照を自動的に作成したり、そのブランチを開いてそのトランスフォームの各コンポーネントを選択することができます。

この機能は、あなたの代わりに他のノードのトランスフォームを参照し、必要に応じて座標空間を変換するエクスプレッションを構築します。 これらのエクスプレッションは、Worldトランスフォームに対して非常に複雑になるので、ブロック内に複数のエクスプレッションステートメントを伴います。 テキストボックスを右クリックして、 Expression ▸ Edit Expression を選択することで、複数行エディタ内にエクスプレッションを開くことができます。

境界ボックスの参照

ジオメトリノードの境界ボックスのプロパティ(例えば、サイズや最小境界、最大境界)を参照することができます。

To...Do this

ジオメトリノードの境界ボックスの参照を作成する

  1. 境界ボックスを参照したいパラメータを右クリックして、 Reference ▸ Scene Data を選択します。

  2. 選択ウィンドウで、ツリーコントロールからブランチを開いて、参照したい境界ボックスのノードを表示します。そして、そのノード下でBounding Boxブランチを開きます。

  3. 参照したい境界ボックスのプロパティ(Minimum, Maximum, Size, Centroid)を選択します。

この機能は、あなたの代わりに他のノードの境界ボックスのプロパティを参照するエクスプレッションを構築します。

アトリビュート値の参照

ジオメトリノードに保持されているジオメトリ内のPoint、Primitive、Detail上のアトリビュートの値を参照することができます。

知っているかもしれませんが、ジオメトリノードでは、@attrnameの省略表現を使用することで、現在処理されているPoint/Primitive/Detailアトリビュートを参照することができます。 しかし、この参照関数は、“処理されている”ジオメトリの概念を持たないので、ノード上にキャッシュ化されている最後のジオメトリのデータを参照します。 つまり、アトリビュート値を読み込むPointまたはPrimitive(またはDetail)を指定しなければなりません。

To...Do this

他のパラメータの参照を作成します

  1. 他のパラメータを参照したいパラメータを右クリックして、 Reference ▸ Scene Data を選択します。

  2. 選択ウィンドウで、ツリーコントロールからブランチを開いて、参照したいパラメータを含んだノードを表示します。そして、そのノード下でAttributesブランチを開きます。次に、Points, Primitives,Verticesを開きます。

  3. アトリビュートを選択して、 Accept をクリックします。

  4. Point/Primitive/Vertexアトリビュートを指定すると、Houdiniは、ビューポート内で選択モードを切り替えます。アトリビュート値を読み込みたいPoint/Primitive/Vertexを選択し、Enterを押します。

この機能は、あなたの代わりに、指定したジオメトリ上のアトリビュートを参照するpoint, prim, vertexのエクスプレッションを構築します。

Tip

複数コンポーネントを持つパラメータ(例えば、X,Y,Z値の位置パラメータ)に関しては、それぞれのコンポーネントテキストボックスをクリックするか、パラメータラベルをクリックして一度にすべてのコンポーネントに影響を与えることができます。

ローカル変数の参照

ほとんどのノードは、クックした時のノードの情報をエクスプレッションを使って参照することができる ローカル変数 を持っています。 他にも、現在の整数フレーム($F)、現在の浮動小数点フレーム($FF)、現在の時間($T)、開始フレームと終了フレーム($FSTART$FEND)などのグローバル状態を表現した“ローカル変数”もあります。

通常では、そのローカル変数を直接入力した方が速いですが、変数名を忘れたり、利用可能な変数が分からない時には、参照メニューを使用した方が便利な時があります。

参照メニューを使用することで、手動でローカル変数をタイプしなくてもローカル変数参照を作成することができます。 これは、リストからローカル変数を選択することができるので、ローカル変数の名前を忘れた時に役立ちます。

To...Do this

ローカル変数の参照を作成する

  1. 他のパラメータを参照したいパラメータを右クリックして、 Reference ▸ Local Variable を選択します。

  2. そのリストから変数名を選択して、 Accept をクリックします。

ネットワークとパラメータ

ネットワーク

パラメータの編集

次のステップ

エクスプレッション

導師レベル

リファレンス