Im a bit struggling with a task:
I want to pass some different data, i.e. different textures, float/int into HLSL code written in Custom node and made it per every loop cycles one by one, ie:
Actor#1 - set values for some function argument for loop 0
Actor#2 - set values for some function argument for loop 1
Actor#3 - set values for some function argument for loop 2
Total amount of Actor in the scene defines loop “i”.
Actors can be spawned, deleted in the scene randomly, spawned by user, numbers of Actors can vary during gameplay.
So let say we have 2 spawned Actor:
- it means loop i=1 (we would have 2 loop cycles).
- for loop i=0 we will pass data from Actor#1, It would be some texture which Actor#1 contains.
We put those texture into loop 0, make some calculations.
- for loop i=1 we will pass data from Actor#2. It would be some texture which Actor#2 contains.
We put those texture into loop 1, make some calculations.
TBH with my current knowledge this task looks doable only if i:
- hardcoding total possible amnount of loop count.
- create all needed inputs for code in Custom node, i.e. texture1, texture2, texture3, texture4 and so on.
So in case i think what total loop count can be 8 i will have 8 texture inputs, 8 float inputs and so on.
So in practice example it would work as:
If we have 3 Actor in the scene, i define ‘i’ =2. I take texture reference from Actor#1 and set it as texture1 input, texture reference from Actor#2 as texture2 input and so on.