Skip to main content
Inspiring
October 9, 2022
Answered

Can I get a new seed for an input noise/material within a graph procedurally ?

  • October 9, 2022
  • 1 reply
  • 339 views

Instead of  doing second input ?

 

This topic has been closed for replies.
Correct answer Luca Giarrizzo

Hello,

 

The appropriate course of action depends on why you need to pass from one node to the next.

 

If all you require is for the destination node to have a different seed which reacts of the seed of a source node, you may tweak the Random seed property of the destination node and make sure its inheritance method is set to Relative to input. This will then provide a seed different from the source node but that seed will still be based on the source node's seed. The seed of both nodes will react to the graph's seed.

 

If you absolutely require the seed to be acquired by sampling an input image, then you may create a value input on the target node, and pass it as an integer value which is acquired by sampling an input in a Value processor node. I have attached a Substance 3D file (SBS) to this message with a simple setup demonstrating this method.

However, please note this method will make the node entirely dynamic because of the input value — i.e., its result cannot be cached — which can result in incorrect output when the graph is instanced in another graph. This is such a big caveat that I do not recommend using this method in production.

 

Feel free to let me know if you have other questions on this topic.

 

Best regards.

 

1 reply

Luca Giarrizzo
Community Manager
Luca GiarrizzoCommunity ManagerCorrect answer
Community Manager
October 13, 2022

Hello,

 

The appropriate course of action depends on why you need to pass from one node to the next.

 

If all you require is for the destination node to have a different seed which reacts of the seed of a source node, you may tweak the Random seed property of the destination node and make sure its inheritance method is set to Relative to input. This will then provide a seed different from the source node but that seed will still be based on the source node's seed. The seed of both nodes will react to the graph's seed.

 

If you absolutely require the seed to be acquired by sampling an input image, then you may create a value input on the target node, and pass it as an integer value which is acquired by sampling an input in a Value processor node. I have attached a Substance 3D file (SBS) to this message with a simple setup demonstrating this method.

However, please note this method will make the node entirely dynamic because of the input value — i.e., its result cannot be cached — which can result in incorrect output when the graph is instanced in another graph. This is such a big caveat that I do not recommend using this method in production.

 

Feel free to let me know if you have other questions on this topic.

 

Best regards.

 

Luca Giarrizzo | Quality Engineer - Substance 3D Designer | Adobe
kirkr5689Author
Inspiring
October 13, 2022

Thanks a lot for the example.   Neighter  way is working innmy example although. But my  guess what I am asking is impossible.   I just wanted to create a kind of  universal material scaler  that would put a new seed of same material next to first one and so on  using only input  nodes as a sorce  . My guess  that way it only reads pixels. 

Luca Giarrizzo
Community Manager
Community Manager
October 13, 2022

Hello,

 

Could setting the Random seed parameter for the second version of the same material to 1, then the seed of the second to 2 and so on work for you, or am I misunderstanding?

 

Luca Giarrizzo | Quality Engineer - Substance 3D Designer | Adobe