• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Output at lower resolutions (or editing parameters on multiple nodes)

Community Beginner ,
Jan 27, 2024 Jan 27, 2024

Copy link to clipboard

Copied

I have a substance graph set to default resolution of 4096 x 4096 and I'd like to output at half res or lower. I am having a hard time finding where to make the resolution change and have it apply to all outputs.

 

The graph has multiple image inputs and outputs. If I change the graph global resolution, the changes don't get applied to the outputs. The output nodes seem to be referring up the chain to the resolution of the input, which is set to an absolute value of 4096.

 

So then I figured I could edit the resolution of all the inputs, but I am finding it's not as easy as selecting all and editing the resolution because editing parameters on multiple nodes at once doesn't seem to be possible. Seems like it's forcing me to edit the nodes one by one. There's got to be an easier way.

 

What's the workflow for outputting at lower resolutions?

TOPICS
Import & Export

Views

78

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 28, 2024 Jan 28, 2024

Copy link to clipboard

Copied

An output node will take its resolution from the input it is connected to i.e it will inherit relative to its input.  Therefore it is the preceding node that will set the ouput resolution and that preceding node will take its resolution depending on how its inheritance is set.

 

If it is 'relative to input' - it will take the resolution from the node connected to its primary input.

If it is 'relative to parent' - it will take the resolution from the parent graph setting

If it is 'absolute' then it will take its resolution from the setting in properties.

 

So you just need to look at the inheritance within your network

 

More on inheritance here:

https://helpx.adobe.com/substance-3d-designer/substance-compositing-graphs/inheritance-in-substance-...

 

Dave

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 28, 2024 Jan 28, 2024

Copy link to clipboard

Copied

Thanks @davescm!

 

I have been reading up on inheritance and it makes sense, although there is still a workflow annoyance where if I try to change the Output Size base parameter on a selection of multiple nodes, only one of the nodes is changed.

 

For example, drag a selection in the graph on a few nodes and change them from 'relative to input' to 'absolute'. Only one node is changed. This is problematic when it comes to dealing with graphs with large numbers of nodes. Is there a workaround?

 

The other thing that throws me off is that the output nodes themselves don't have an Output Size base parameter, which feels counterintuitive.

 

Another issue I noticed is that if a linked resource (a texture file) is used as an input and the file is overwritten and the resolution changes in the process, Substance Designer doesn't register the change in resolution. Is there a way to somehow refresh all linked resources / dependencies to match the resolution of the actual file?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 29, 2024 Jan 29, 2024

Copy link to clipboard

Copied

LATEST

'...if I try to change the Output Size base parameter on a selection of multiple nodes, only one of the nodes is changed....'

You could drive the output size from a function using an exposed parameter. That way all set to use that function would change together, or maintain the relationships if the function sets a particular node to be higher or lower than the input.




'...drag a selection in the graph on a few nodes and change them from 'relative to input' to 'absolute'. Only one node is changed...'

I don't know a way around that, but it is something that you would normally only set initially when building the graph.

 

'The other thing that throws me off is that the output nodes themselves don't have an Output Size base parameter,...'

Think of the output node as a terminator that outputs whatever is plugged into it. Then just ensure the preceding nodes are set up correctly.

'... if a linked resource (a texture file) is used as an input and the file is overwritten and the resolution changes in the process, Substance Designer doesn't register the change in resolution. Is there a way to somehow refresh all linked resources / dependencies to match the resolution of the actual file'

I don't know of a way. The resolution is set to absolute when the input node with the linked image is added.

 

By using inheritance from parent or absolute you can set it from the parent graph or from a parameter. Substance materials work well when linked to the parent size as it allows them to be calculated for the use size in Painter when applying the material to an object.

 

Dave

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines