Multiparm Block 内にある Parameter にアクセス
https://gyazo.com/a3c42df7e817185abb57e4877378ae03
Multiparm Block の仕様
https://gyazo.com/ddf1e6d3aff14570450c1deb64d41259
Mulitiparm Block 内に配置したパラメーターは Apply したタイミングで # という suffix がつく
SideFX製のノードでは _# という感じでアンダースコアとセットなことがおおい
https://gyazo.com/5a6f9876f23251de56d5545d9d0aa070
上記のキャプチャの Name パラメーターは name_# という定義がされている
1つ目の Name の値 (上記キャプチャだと "A") にアクセスするには ch("name_1") とする
1始まり なので注意
https://gyazo.com/1c06080ee3c2e5da148e68ae359a5b10
普段はあまり意識することのない Folder での Name や Default も重要
ch("branchsettings") とした場合, Multiparm Block の要素数が取得できる
これを Block End SOP.iconBlock End SOP の Count とすることで Multiparm Block ごとのループ処理が書ける VEX でこの値を使用した for を記述して全パラメーターを見る処理の例 code:hxx
int mbcount = chi("../branchsettings"); // Multiparm Block の要素数を取得
for(int mbid = 1; mb <= mbcount; mbid++) // # は 1 始まりなので注意
{
string class = chs("../branchclass_" + itoa(mbid)); // branchclass_# にアクセス
// ...
https://gyazo.com/24a2e95b066aecf1e3609a00b53079b7
Default に設定した値は ノード作成時の Multiparm Block の要素数となる
Nested Multiparm Block
https://gyazo.com/4a212546966b48b615173bf15033c6ea
Multiparm block 内に Multiparm block をネストすることも可能
この場合ネストした数だけ # が必要で, それぞれの # には階層に対応した index がアサインされる
https://gyazo.com/fd6a8bbf2eeebb7027a7a1c7baf2db06
このような感じでアクセスする
Attribute from Parameters SOP で Multiparm Block 内のパラメーターを展開する
https://gyazo.com/088ad6993d85d59560608bed920480c7
Refs