generated at
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情報日本語ブログ