Houdiniメモ : 検証 : Wrangle : @opinputで別インプット取得
環境
検証1 : Cdアトリビュートのコピー
■検証に使用するネットワーク
以下のようなネットワークを組みます。
■OUT_Pointsの詳細
Gridに、RGB = {0, 1, 0}の緑色を設定しています。(@Cd = {0, 1, 0})
■OUT_Curveの詳細
Curveノードで作成したポリゴンに、RGB = {1, 0, 0}を設定しています。 (@Cd = {1, 0, 0})
■AttributeWrangleの設定
AttributeWrangleに以下のようなVEXを記述してみます。
第2インプットのアトリビュートCdを自分自身が持つCdアトリビュートへコピーするようなVEXコードです。
AttributeWrangle(c)@Cd = @opinput1_Cd;
AttributeWrangleは以下のようになります。 Run Over = Points に設定しておきます。
■結果(Sceneビュー)
■結果(Geometry Spreadsheet)
Geometry SpreadSheetでアトリビュートの値を確認すると以下のようになっています。
@opinput1_Cd(第2インプットのCdアトリビュート)をコピーする際、
第2インプットにポイントが存在しない場合は @opinput1_Cd は {0, 0, 0} の値が返すようです。
検証2 : Cdアトリビュートのコピー
■検証に使用するネットワーク
以下のようなネットワークを組みます。
■OUT_Pointsの詳細
Grid状に点を散布し、RGB = {0, 1, 0}の緑色を設定しています。(@Cd = {0, 1, 0})
■OUT_Curveの詳細
Curveノードで作成したポリゴンに、RGB = {1, 0, 0}を設定しています。 (@Cd = {1, 0, 0})
■AttributeWrangleの設定
AttributeWrangleに以下のようなVEXを記述してみます。
第2インプットのアトリビュートCdを自分自身が持つCdアトリビュートへコピーするようなVEXコードです。
AttributeWrangle(c)@Cd = @opinput1_Cd;
AttributeWrangleは以下のようになります。 Run Over = Points に設定しておきます。
■結果(Sceneビュー)
5つのポイントは赤くなり、他は黒くなりました。
■結果(Geometry Spreadsheet)
最初の5つのポイントは@Cd={1, 0, 0}が設定されており、他は@Cd = {0, 0, 0}が設定されています。
@opinput1_Cd(第2インプットのCdアトリビュート)をコピーする際、
第2インプットにポイントが存在しない場合は @opinput1_Cd は {0, 0, 0} の値が返すようです。
参考URL
>Wrangleで他のインプットのデータの読み方 | インディゾーンHoudini情報日本語ブログ