Add VariantでUSD UV TextureのFileパラメータをVariantさせられない

   365   4   0
User Avatar
Member
13 posts
Joined: July 2018
Offline
Add Variant Blockノードにより、ShaderのAssetPathを変更するVariantを組みたい。
しかし、AssetPathをセットすることはVariantが機能しないようでした。IntやFloatをセットすることはVariant機能しました。
他にも、ShaderのInputとOutputを接続 → 切断することはVariantが機能しないようでした。逆に未接続 → 接続することはVariant機能しました。

これはバグなのでしょうか?それとも仕様なのでしょうか?
ご存知の方いらっしゃいましたら、ご教示お願いします。
Edited by kurosaba - Nov. 8, 2024 09:10:07
User Avatar
Member
13 posts
Joined: July 2018
Offline
件の問題では、USD UV TextureのFileをVariantさせようとしています。
特別なことは特にしておらず、単に適当な文字列を入力しても、Variantに変化はありませんでした。
User Avatar
Staff
387 posts
Joined: April 2015
Offline
こちらの要領で再現方法をいただけないでしょうか?
https://www.sidefx.com/ja/forum/topic/75614/ [www.sidefx.com]
User Avatar
Member
13 posts
Joined: July 2018
Offline
どうぞ。
add variant blockで定義したものと、Pythonで定義したものを用意しました。

手順
setvariantで /root/looks に設定されているtest_variantを切り替えるだけで状況を確認できます。

結果
variantをv1へ変更しても、/root/looks/material/usduvtexture1 の file input の値が "aaaa" → "gjpajdpwa" に変わらない。



よろしくお願い致します。

Attachments:
test_variant_00.hiplc (141.2 KB)

User Avatar
Staff
26 posts
Joined: Feb. 2022
Offline
仕様と思われます。Houdini というよりは USD 側の仕様です。具体的には、LIVRPS(リバピーズ)と呼ばれる優先順位の仕様によるものと思われます。文章だけで説明するのは難しいと思いましたので、hip ファイルに具体例をつくりました。詳しくはそちらをご参照ください。

また、いただいたセットアップでは「ある値だけをバリアントの機能によって上書きしたい」という目的が一部達成されていませんでしたので、そちらについての修正案も兼ねています。併せてご確認ください。

Attachments:
test_variant_00_stk.v01.hiplc (202.5 KB)

  • Quick Links