文字列 (string) の配列があって、さらに文字列アトリビュートが複数ある場合、下記のようにアサインできるのではないですかね?
TArrayは可変Arrayのため、TArrayの要素値そのものには文字列アトリビュートがありません。
TArrayには前述の通り決められた文字列アトリビュートがあり、1つの値であればそのTArrayの文字列アトリビュートに値を設定すると自動的にindex0に設定されます。
シーンファイルなり完全な再現方法をご提示いただけないでしょうか?
確認用の uasset と HDA をアップロードさせていただきます。
Image Not Found
添付のzipファイルに含まれている Contentフォルダー以下をUEのプロジェクトのContentフォルダー以下に複製して確認してください。
以下、私の確認バージョンです。
- Houdini:19.5.605.0
- Houdini Engine:5.0.7
- Unreal Engine: 5.1.1-23901901+++UE5+Release-5.1
上記のzipファイル内の Sample レベルアセットが確認用のレベルとなっております。
今回のサンプルは "Draw in Virtual Textures" に2つの Runtime Virtual Texture アセットを設定する方法を模索した結果、できなかったものです(下図参照)。
"Select Input" のHDAパラメータで設定方法を変更できるようになっています。
- one : 1つのリファレンスのみ設定した場合、この場合はindex0に"RVT0"が設定されます。
s@unreal_uproperty_RuntimeVirtualTextures = "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT0.RVT0'";
- array : 配列で2つのリファレンスを設定した場合
s[]@unreal_uproperty_RuntimeVirtualTextures = { "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT0.RVT0'", "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT1.RVT1'" };
- num : アトリビュート名の接尾辞に番号を付与して、各々のアトリビュートにリファレンスを設定した場合
s@unreal_uproperty_RuntimeVirtualTextures0 = "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT0.RVT0'";
s@unreal_uproperty_RuntimeVirtualTextures1 = "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT1.RVT1'";
- _num : アトリビュート名の接尾辞にアンダースコアと番号を付与して、各々のアトリビュートにリファレンスを設定した場合
s@unreal_uproperty_RuntimeVirtualTextures_0 = "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT0.RVT0'";
s@unreal_uproperty_RuntimeVirtualTextures_1 = "/Script/Engine.RuntimeVirtualTexture'/Game/AssignToTArray/RVT1.RVT1'";
※注意点:生成されたLandscapeを残したままHDAをRebuildすると以前のupropertyの設定を維持した状態でRebuildされてしまうようなので一旦生成済みのLandscapeを消去してからRebuildして確かめるのがよさそうです。
以上、確認していただけるとありがたいです。