これまでは各ノードのパラメータを直接数値を書き換えて調整してきましたが、直接ノードのパラメータを修正しに行くのは大変です。
Houdini には このコストを抑えるための仕組みがいくつかあります。
Geometry ノードを作成し SOP 階層で Box ノードから立方体を作ってみましょう。
この Box の 一辺は Size パラメータで設定されています。左から X 軸、Y軸、Z軸方向のサイズに対応しています。
ここで Size X の値を修正すると 連動して Size Y, Z の値が修正されるようにしてみたいと思います。
ここで使うのが Copy Parameter と Paste Relative Reference です。
Size X で 右クリック長押し するとパラメータをコピーやペーストするためのドロップダウンリストが表示されます。
Copy Parameter を選択してください。
これでクリップボードに Size X の値である 1 が保存されましたが「Size Xの値をコピーしている」という情報も同時に保存されています。
この状態で Size Y で同様に 右クリック長押し して Paste Relative Reference を選択してください。
すると ch("sizex") という文字列が入力され Size Y の値は Size X の値を参照するようになります。
もちろん Copy parameter と Paste Relative Reference を使わず手入力しても機能します。
同様に Size Z の値も Size X の値を参照するようにします。 無事設定出来たら Size X の値を調整して結果を確認してみましょう。
ちなみに 実際に項目名をクリックすると、実際にどういう値が入力されているのか確認することもできます。
もう一度クリックすると元の表示に戻ります。
Paste Relative Reference の際、 もともとの値である 1 や 0が残っていると正しく動作しません。
上手く動かなかった場合は疑ってみてください。
この Paste Relative Reference を使うとノードをまたいでも値をリンクさせることができます。
例えば Null ノードを新規に作成し、名前を CONTROLLER に変更します。
その上で パラメータエディタの右上にある歯車のアイコンを押してみましょう。
いくつか選択肢が表示されるので 一番上の Edit Parameter Interface を選択します。
すると新しいウィンドウが開きます。
このウィンドウは ノードに新しいパラメータを追加したり編集したりできます。
下の画像の①の部分に追加するパラメータの型、②の部分に選択中のノードが持っているパラメータが表示されています。
③の部分には選択中のパラメータに持たせる初期値やパラメータ名などを設定できる項目があります。
試しに ①の欄から Float を選択して ①と②の間にある 右向きの矢印を選択します。
すると②の欄に 新しい項目が追加されます。自動的に③の欄も書き換わります。
Name を width, Label を Width に変更しましょう。その上で右下の Accept ボタンを押すと Null ノードにパラメータが追加されています。
そして このパラメータを Copy Parameter して Box ノードの Size X に Paste Relative Reference すると値がリンクします。
様々なノードのパラメータを 1 つのノードで管理できるようにしておくと 他の人に hip ファイルを渡す際にも時間をおいたシーンの内容を思い出す際にも役立ちます。
コンピュータプログラミングの世界では 「型」といって、扱っているデータの性質を事前に定義します。
例えば数字一つとっても、整数、少数などがありますよね。
事前にどのような値が入力されるのかわかっていると取り回しやすいので、先にデータの「型」を宣言しているのです。
では具体的にどんな型があるかというと Float : 小数、 Integer : 整数、 String : 文字列 …などがあります。
また Float や Integer の近くに Float Vector 2 や Float Vector 3 などという選択肢もありました。
例えば Float Vector 2 は 小数 2 つの塊のことを指します。 同じく Vector 3 ですと 3 つの塊です。
これはどんな場合に使われるかというと、UV座標は値が 2 つ必要なので Vector 2を使います。
色情報のためのRGBや 三次元空間内の位置や回転座標を示すための XYZ などは Vector 3 になります。
RGB にA を加えた場合や、クォータニオンを使う場合には4枠必要なので Vector 4 を使用することになります。