While making a Polygon FX-Map in Substance Designer 5.1.1, as part of a system, I have found a strange rendering artifact and I am not sure if it is a bug or a known issue.
As shown in the picture, I instance a triangle as many times as the edges of the polygon, then scale and rotate it to fit a full circle. When the amount of edges is small (left sample) it is very accurate, but when the number increases (center sample), leading to a greater scale factor for each triangle, it shows strange blurry edges all around. The dark lines between triangles are expected as sampling inaccuracies, but not the outer gradients.
I have looked into the polygon nodes shipping as part of the standard library of Substance Designer, and I see you are using Level and Blend nodes but I am not sure if they are meant to deal with this issue.
I also put together a very simple substance to see the issue happening. You can get it here.
Hi guys,
I'm having a bit of a headache here when opening some older files. They seem to be looking for the basic substance nodes in a path they shouldn't instead of the default one:
Hi guys,
I'm having a bit of a headache here when opening some older files. They seem to be looking for the basic substance nodes in a path they shouldn't instead of the default one:
Am I doing something wrong?
no, I get that sometimes too... you can either skip it (which could mean loosing some effect), you relocate to your newer installed location (find wherever that one is located at now).
Changing the blend mode doesn't affect the result because there are not stacked images, therefore the blending is not playing any role. The triangles are placed side by side and the strange artifact is happening against the black background.
I've got a feature request for you to evaluate for Substance Designer.
It would be nice to have the possibility to create type agnostic function nodes, like the core ones you provide. For example the Add node can compute the sum of Float, Float2, Integers, Integers2 and so on.
One possible way to implement this behaviour would be to have a sort of "group functions node". It could group a set of functions that have the same number of inputs, but different types, and depending on the type used as input, use the relative function. There should be a validation check, that makes sure that there is no more than one function with a specific set of input types.
Another one would be to have "get typeless" node that would route the input values to a specific branch of the function depending on the type of input. This solution would require to be able to set multiple outputs, one per branch.
The possibility to use multiple input types could help minimizing the number of function nodes in a library because there would be no need for the same function to be exposed for every single type it could support.
Thanks
p.s.
Any info on the strange scaling artifact a few posts above?
p.s. Any info on the strange scaling artifact a few posts above?
It's not a bug. It's a feature Depending on the X and Y scaling factor used for each individual rotated triangle it may sample at different mipmap levels. Just change the 'Input Image Filtering' parameter to 'Bilinear' to fix this. You may need to increase the resolution you are working at to get rid of the resulting aliasing though.
It's not a bug. It's a feature Depending on the X and Y scaling factor used for each individual rotated triangle it may sample at different mipmap levels.
Thanks oblomov, it makes sense.
I completely missed the "Input Image Filtering" setting. It is much better sampling from the actual input image rather than the mips. Furthermore as you suggested, increasing the resolution, gives better results.
1. I don't know if this is the intended behavior or not. When selecting multiple Frames in order to move them, only the nodes inside the frame that is being dragged are moved. The other ones stay in place.
2. Considering a group of nodes that have at least a link redirect (alt+shift), when you proceed to duplicate the nodes, the link redirects will stay in their original place.
@Bruno
for the dependency problem, the problem may have been introduce by a bug in older version.
for the triplanar, yes it's doable but what projection should be used for the missing axis ?
@StereoVinny
thanks for the report, I add this to the backlog
I'm making a substance that requires an opacity map and I usually like to pack that into the alpha channel of my base color. For some reason when it's imported into Unreal (using the 4.8 plugin) the alpha channel is stripped out and an average of the rgb channels is added in it's place.
I`ve reported this bug through the software few times previously, its still there
When you pick the base color (diffuse) with Material Picker (P) and paint over with plain round brush the color changes. Repeat 10 times (pick-paint-pick from painted area-paint) and the difference become extreme.
This seems to me as a critical bug and leaves me wondering if anybody is actually using Painter for Painting or I am doing it wrong...
I've got a feature request for Substance Designer for you to evaluate.
In the sampler nodes (Sample Color and Sample Gray) could you please add the selection of the texture address mode for U and V? Along with the possibility to specify a Border color in case that mode is selected.
It would also be nice to have the shortcut Ctrl+E bound to the edit of the Per Pixel Function of the Pixel Processor node, to make it consistent with the edit of the FX-Maps.
I`ve reported this bug through the software few times previously, its still there
When you pick the base color (diffuse) with Material Picker (P) and paint over with plain round brush the color changes. Repeat 10 times (pick-paint-pick from painted area-paint) and the difference become extreme.
Can anyone please confirm/negate this issue? Is there some workaround?
I`ve reported this bug through the software few times previously, its still there
When you pick the base color (diffuse) with Material Picker (P) and paint over with plain round brush the color changes. Repeat 10 times (pick-paint-pick from painted area-paint) and the difference become extreme.
This seems to me as a critical bug and leaves me wondering if anybody is actually using Painter for Painting or I am doing it wrong...
Froyok, NicolasW
Thanks for quick reply!
Changing the basecolor channel to RGB16F instead of sRGB8 indeed works. I would have never guessed myself. :thumbup:
I have got another feature request for you to evaluate.
The improvements to the Function Graphs are incredibly useful and make the development much better and help avoid and discover bugs. The missing bit, in my opinion is a Debug Node. As I see it, it should have a single input and a single output, it should expose whatever value/type it is getting as input and simply output it unmodified. It could be very useful to have an immediate feedback from a group of calculations. Its look could be the same as the current constants: showing from 1 to 4 values, according to the input type.
***EDIT***
I didn't take into account that some inputs might change depending on external factors like $number, which represents the current iteration. One possible way to handle them would be to allow a "debug value" to be set on those nodes, in accordance with the type and range they can represent.
I agree completely with SyncViewS, I've been thinking about something like this for some time and I think it would be very useful.
Also, lately I have been using 3ds Max 2016's MCG, which is a nodal scripting interface, and while their UI leaves a lot to be desired, there are some nice features that help with productivity.
Here a are a few things I really like about it :
Dragging a connection (input or output) to an empty area automatically opens up the nodes menu and automatically connects to the new node. (when multiple connections are possible, a sub-menu appears)
Ctrl-Drag a node over a connection will insert that node between the two previous nodes if possible
Alt-Drag a connected node, will disconnect if from the graph and automatically reconnect the other nodes together if possible (Essentially like removing it with backspace without deleting the node)
I'm having issues when working with negative integer values.
Here's a sbs file showcasing the problem I'm having... Inside the graph where the value is used (Negeative_Integer_Bug), everything works fine. However, when used as a reference in another graph (test_graph), you'll notice that negative values yield some unexpected results.
Yes, it's a known bug : constant negative integer values don't work properly (in your case, since the integer values come from widgets set in Designer's UI, they are evaluated when compiling the graph and are constant when rendering).
You can easily work around this by exposing floating point parameters with an increment of 1, instead of integers.
Alright, thanks for your answer. In the meantime...
Substance Designer 5.1.1
This on is a little specific... It is not possible to start a select region anywhere in the area to the right of a frame and under it's title. This can get pretty annoying while zooming out as the titles retain their size on screen.
Is it possible that the install of painter 1.4.1 wiped out the materials i saved out of the shelf?
at work now,will check more when at home...
also loaded the new build with hans sample and painter didn't want to close,had to use Windows task manager to exit.
win 7.x64, 560ti gpu, q6600 cpu w/ 8gig ram
Is it possible that the install of painter 1.4.1 wiped out the materials i saved out of the shelf?
at work now,will check more when at home...
also loaded the new build with hans sample and painter didn't want to close,had to use Windows task manager to exit.
win 7.x64, 560ti gpu, q6600 cpu w/ 8gig ram
Cheers,
~Tung
Each time we update the shelf (the shelf has an internal version number that sometimes change), Substance Painter will clean the "allegorithmic" folder (present in Documents\Substance Painter\shelf) and recreate it.
So if you placed you own resource sat the wrong place, it's possible they were removed. That's why you should place your resources in the shelf directly and not in the allegorithmic sub-folder.
If Painter didn't want to close, it's probably because it was still computing some thumbnails for the shelf. The close/open commands can be delayed because of that.
Thanks Froyok,
I put my materials here...
...\Documents\Substance Painter\shelf\smart-materials
and I still see them there in the directory, I will check again to be sure their not there while running painter.
I'll also recheck the hans file on closing.
I have to report what seems to be a bug in Substance Designer 5.
As shown by the picture, if a function is nested twice, it seems to loose the type qualification on its output. At first I thought it was only a visual glitch in the coloring of the output plug, and didn't bother too much, but I have come across less trivial cases where the output doesn't work as expected: it should be a float2, looks like a float and behaves in a strange way, namely to make it work as a float2 I must connect it to both the input plugs of a Vector Float2 node and then use its output.
This type issue happens with any float dimension, from 2 to 4.
Sorry Froyok,
It seams that's I've walked through the twilight zone (Now I can even hear the music eating away at my brain) Loaded painter and at first it wasn't there... loaded a project and bam... it was there. (
@SyncViewS: Indeed, it seems that the type detection is broken when using nested function instances.
However, note that the particular example you posted is the expected behavior because the Arctan2 function is actually expecting a float2 input. Its parameters are the side lenghts of the triangle for which you want to compute the tangent, instead of their ratio as in the case of the usual tangent function. This makes it possible to get results spanning over 360° instead of just 180°.
thanks for the quick reply. The sample is actually extremely trivial just to show you the issue.
In the last instance I want to show that indeed the Arc Tangent 2 node wants a float2 as input and it accepts it from the function, even if it looks like the function has a float as output.
As a comparison I show that the Arc Tangent 2 node cannot accept a float value as input.
here is a feature request for Substance Designer for you to evaluate.
It would be helpful to have the support for copy / paste Input Parameters from one Graph to another or within the same Graph. Sometimes I have similar Graphs and if I add a feature, then I have to recreate all the needed Input Parameters, sometimes long Drop Down Lists. Or in other cases it is the same type of parameter that must be repeated several times in the Graph to control similar but distinct parts.
I have found a reproducible bug in Substance Designer when working with FX-Maps:
1. Create a Graph and a FX-Map in it.
2. Edit the FX-Map and create an Empty Function for any of the parameters of the default Quadrant.
3. Put any node in the new Function, for example a constant Float.
4. Copy the Float node and go back to the Quadrant.
5. Clear the latest Function and create another one on any parameter.
6. Edit the Function and paste the (Float) node. Substance Designer will crash.
Admittedly it is nothing serious and it doesn't make much sense deleting the source of a copy before having pasted it, but it happened to me by chance.
Not sure if this is a recent bug but tested on the latest and 1.3.2 but seems changing the project mesh wipes all the materials while in 1.3.2 it didnt.
That seems like an extreme behavior and you are the first one to mention that issue.
You are testing with 1.3.2 and 1.4.1 ? Can you send me the mesh (original and updated versions) ?
1. Would still like to rotate Designers HDR with some hotkey instead of having to go to the options menu.
2. Pencil tool in Substance Painter for Color ID painting
3. Stencil tool (without any anti-aliasing) in Substance Painter to paint custom Color ID Maps (logos, etc).
I've been using 3d-Coats Stencil feature but it's limited to black and white with a single color. If you guys could do colored stencils without any Anti-Aliasing and a pencil tool that would be amazing.
Edit:
In Substance Painter 1.4.1, when I am using the projection (3 key), if I hit undo, it deletes the entire layer instead of just undoing what I had painted.
Actually, when I undo, it deletes the layer regardless of what I'm doing -_-
In Substance Painter 1.4.1, when I am using the projection (3 key), if I hit undo, it deletes the entire layer instead of just undoing what I had painted.
Actually, when I undo, it deletes the layer regardless of what I'm doing -_-
Did you reimported a mesh ?
I'm still looking into a bug where the layer stack stops working after reimporting a mesh. It only happens on certain computer unfortunately.
I'm having some issues with my Substance Painter File.
It use to work on my computer, now whenever I attempt to open the file, the red loading bar goes to half way and then crashes, due to low memory. However, I have 8gb ram, and it has been working perfectly for the last month until I recently did a fresh install of Windows 7.
I am able to use Substance Painter as a new project/work on a new file. I even went to the extent of testing my potentially corrupted file on another PC and to my amazement, it actually worked perfectly fine on another PC but not on mine.
Has anyone experienced this? I am 100% confident it is not a memory issue as it says it is.
Can we have an option to change English to English UK? It is becoming annoying when I keep on typing "Colour" instead of "Color".
If you set it to "System" and you have English (United Kingdom) it still is color in Substance Designer. I know this is minor but it would be nice to use the spelling of colour/color that the user is used to.
Is there any plan to have access to a public SDK / API for Substance Designer in the foreseeable future? I mean something similar to the 3ds Max SDK or Maya API, C++ based, to develop custom nodes, via code.
Is there any chance to have a "scripted node"? A node that works by interpreting code, with the same current logic of inputs and outputs. I think that a language similar to HLSL or GLSL would be adequate to the kind of tasks covered by Substance Designer. They are strongly typed and have built-in vector types. I guess the logic of a scripted node should be like a pure function, or a shader.
Sometimes it takes quite a while to put together and wire a complex FX-function, that would be a matter of minutes in code.
Of course this would imply the need of an editor with at least syntax highlighting, if not autocomplete, and eventually a debugger to step through the code.
Just some random thoughts for the future.
Thank you
Would it be possible to bake a position map from the high poly into the low, instead of just baking the low? Some low poly meshes are too simplified and you lose a lot of detail in those cases, specially when you want to do some sort of projection.
Replies
While making a Polygon FX-Map in Substance Designer 5.1.1, as part of a system, I have found a strange rendering artifact and I am not sure if it is a bug or a known issue.
As shown in the picture, I instance a triangle as many times as the edges of the polygon, then scale and rotate it to fit a full circle. When the amount of edges is small (left sample) it is very accurate, but when the number increases (center sample), leading to a greater scale factor for each triangle, it shows strange blurry edges all around. The dark lines between triangles are expected as sampling inaccuracies, but not the outer gradients.
I have looked into the polygon nodes shipping as part of the standard library of Substance Designer, and I see you are using Level and Blend nodes but I am not sure if they are meant to deal with this issue.
I also put together a very simple substance to see the issue happening. You can get it here.
Cheers
p.s.
Thanks for fixing the crash I reported!
I'm having a bit of a headache here when opening some older files. They seem to be looking for the basic substance nodes in a path they shouldn't instead of the default one:
Am I doing something wrong?
no, I get that sometimes too... you can either skip it (which could mean loosing some effect), you relocate to your newer installed location (find wherever that one is located at now).
I'm still using 4.6.x... but, did you try a different blending mode in the FXMap itself? such as alpha blend or Max?
Changing the blend mode doesn't affect the result because there are not stacked images, therefore the blending is not playing any role. The triangles are placed side by side and the strange artifact is happening against the black background.
Cheers
I've got a feature request for you to evaluate for Substance Designer.
It would be nice to have the possibility to create type agnostic function nodes, like the core ones you provide. For example the Add node can compute the sum of Float, Float2, Integers, Integers2 and so on.
One possible way to implement this behaviour would be to have a sort of "group functions node". It could group a set of functions that have the same number of inputs, but different types, and depending on the type used as input, use the relative function. There should be a validation check, that makes sure that there is no more than one function with a specific set of input types.
Another one would be to have "get typeless" node that would route the input values to a specific branch of the function depending on the type of input. This solution would require to be able to set multiple outputs, one per branch.
The possibility to use multiple input types could help minimizing the number of function nodes in a library because there would be no need for the same function to be exposed for every single type it could support.
Thanks
p.s.
Any info on the strange scaling artifact a few posts above?
Thanks oblomov, it makes sense.
I completely missed the "Input Image Filtering" setting. It is much better sampling from the actual input image rather than the mips. Furthermore as you suggested, increasing the resolution, gives better results.
Cheers!
1. I don't know if this is the intended behavior or not. When selecting multiple Frames in order to move them, only the nodes inside the frame that is being dragged are moved. The other ones stay in place.
2. Considering a group of nodes that have at least a link redirect (alt+shift), when you proceed to duplicate the nodes, the link redirects will stay in their original place.
for the dependency problem, the problem may have been introduce by a bug in older version.
for the triplanar, yes it's doable but what projection should be used for the missing axis ?
@StereoVinny
thanks for the report, I add this to the backlog
I'm making a substance that requires an opacity map and I usually like to pack that into the alpha channel of my base color. For some reason when it's imported into Unreal (using the 4.8 plugin) the alpha channel is stripped out and an average of the rgb channels is added in it's place.
I`ve reported this bug through the software few times previously, its still there
When you pick the base color (diffuse) with Material Picker (P) and paint over with plain round brush the color changes. Repeat 10 times (pick-paint-pick from painted area-paint) and the difference become extreme.
This seems to me as a critical bug and leaves me wondering if anybody is actually using Painter for Painting or I am doing it wrong...
I've got a feature request for Substance Designer for you to evaluate.
In the sampler nodes (Sample Color and Sample Gray) could you please add the selection of the texture address mode for U and V? Along with the possibility to specify a Border color in case that mode is selected.
It would also be nice to have the shortcut Ctrl+E bound to the edit of the Per Pixel Function of the Pixel Processor node, to make it consistent with the edit of the FX-Maps.
Thank you
I reproduced the issue on my side and logged it in our database. We will fix it soon hopefully.
Hi we can reproduce, the problem probably comes from a precision issue during the 8bit -> float conversion.
A workaround would be to set the basecolor channel to RGB16F instead of sRGB8 in the TextureSet Settings.
Thanks for quick reply!
Changing the basecolor channel to RGB16F instead of sRGB8 indeed works. I would have never guessed myself. :thumbup:
I have got another feature request for you to evaluate.
The improvements to the Function Graphs are incredibly useful and make the development much better and help avoid and discover bugs. The missing bit, in my opinion is a Debug Node. As I see it, it should have a single input and a single output, it should expose whatever value/type it is getting as input and simply output it unmodified. It could be very useful to have an immediate feedback from a group of calculations. Its look could be the same as the current constants: showing from 1 to 4 values, according to the input type.
***EDIT***
I didn't take into account that some inputs might change depending on external factors like $number, which represents the current iteration. One possible way to handle them would be to allow a "debug value" to be set on those nodes, in accordance with the type and range they can represent.
Thank you
I agree completely with SyncViewS, I've been thinking about something like this for some time and I think it would be very useful.
Also, lately I have been using 3ds Max 2016's MCG, which is a nodal scripting interface, and while their UI leaves a lot to be desired, there are some nice features that help with productivity.
Here a are a few things I really like about it :
Auto Connect Nodes
Insert/Remove Node
I'm having issues when working with negative integer values.
Here's a sbs file showcasing the problem I'm having... Inside the graph where the value is used (Negeative_Integer_Bug), everything works fine. However, when used as a reference in another graph (test_graph), you'll notice that negative values yield some unexpected results.
Negative_Integer_Bug.sbs
Thanks,
vin
You can easily work around this by exposing floating point parameters with an increment of 1, instead of integers.
Substance Designer 5.1.1
This on is a little specific... It is not possible to start a select region anywhere in the area to the right of a frame and under it's title. This can get pretty annoying while zooming out as the titles retain their size on screen.
Thanks,
vin
at work now,will check more when at home...
also loaded the new build with hans sample and painter didn't want to close,had to use Windows task manager to exit.
win 7.x64, 560ti gpu, q6600 cpu w/ 8gig ram
Cheers,
~Tung
Each time we update the shelf (the shelf has an internal version number that sometimes change), Substance Painter will clean the "allegorithmic" folder (present in Documents\Substance Painter\shelf) and recreate it.
So if you placed you own resource sat the wrong place, it's possible they were removed. That's why you should place your resources in the shelf directly and not in the allegorithmic sub-folder.
If Painter didn't want to close, it's probably because it was still computing some thumbnails for the shelf. The close/open commands can be delayed because of that.
I put my materials here...
...\Documents\Substance Painter\shelf\smart-materials
and I still see them there in the directory, I will check again to be sure their not there while running painter.
I'll also recheck the hans file on closing.
I have to report what seems to be a bug in Substance Designer 5.
As shown by the picture, if a function is nested twice, it seems to loose the type qualification on its output. At first I thought it was only a visual glitch in the coloring of the output plug, and didn't bother too much, but I have come across less trivial cases where the output doesn't work as expected: it should be a float2, looks like a float and behaves in a strange way, namely to make it work as a float2 I must connect it to both the input plugs of a Vector Float2 node and then use its output.
This type issue happens with any float dimension, from 2 to 4.
Thank you
It seams that's I've walked through the twilight zone (Now I can even hear the music eating away at my brain) Loaded painter and at first it wasn't there... loaded a project and bam... it was there. (
However, note that the particular example you posted is the expected behavior because the Arctan2 function is actually expecting a float2 input. Its parameters are the side lenghts of the triangle for which you want to compute the tangent, instead of their ratio as in the case of the usual tangent function. This makes it possible to get results spanning over 360° instead of just 180°.
thanks for the quick reply. The sample is actually extremely trivial just to show you the issue.
In the last instance I want to show that indeed the Arc Tangent 2 node wants a float2 as input and it accepts it from the function, even if it looks like the function has a float as output.
As a comparison I show that the Arc Tangent 2 node cannot accept a float value as input.
Thank you for looking into the issue!
here is a feature request for Substance Designer for you to evaluate.
It would be helpful to have the support for copy / paste Input Parameters from one Graph to another or within the same Graph. Sometimes I have similar Graphs and if I add a feature, then I have to recreate all the needed Input Parameters, sometimes long Drop Down Lists. Or in other cases it is the same type of parameter that must be repeated several times in the Graph to control similar but distinct parts.
Thank you
I have found a reproducible bug in Substance Designer when working with FX-Maps:
1. Create a Graph and a FX-Map in it.
2. Edit the FX-Map and create an Empty Function for any of the parameters of the default Quadrant.
3. Put any node in the new Function, for example a constant Float.
4. Copy the Float node and go back to the Quadrant.
5. Clear the latest Function and create another one on any parameter.
6. Edit the Function and paste the (Float) node. Substance Designer will crash.
Admittedly it is nothing serious and it doesn't make much sense deleting the source of a copy before having pasted it, but it happened to me by chance.
Thank you
Brush tool bug:
I will need more details in order to understand your issue : mesh setup, brush setup, and so on.
You are testing with 1.3.2 and 1.4.1 ? Can you send me the mesh (original and updated versions) ?
Seems like it was a project issue. Works correctly on a new scene so guess something got busted. Will send it your way when I get a chance.
On a side note, is a color swatch by any chance in the pipeline
2. Pencil tool in Substance Painter for Color ID painting
3. Stencil tool (without any anti-aliasing) in Substance Painter to paint custom Color ID Maps (logos, etc).
I've been using 3d-Coats Stencil feature but it's limited to black and white with a single color. If you guys could do colored stencils without any Anti-Aliasing and a pencil tool that would be amazing.
Edit:
In Substance Painter 1.4.1, when I am using the projection (3 key), if I hit undo, it deletes the entire layer instead of just undoing what I had painted.
Actually, when I undo, it deletes the layer regardless of what I'm doing -_-
I'm still looking into a bug where the layer stack stops working after reimporting a mesh. It only happens on certain computer unfortunately.
It use to work on my computer, now whenever I attempt to open the file, the red loading bar goes to half way and then crashes, due to low memory. However, I have 8gb ram, and it has been working perfectly for the last month until I recently did a fresh install of Windows 7.
I am able to use Substance Painter as a new project/work on a new file. I even went to the extent of testing my potentially corrupted file on another PC and to my amazement, it actually worked perfectly fine on another PC but not on mine.
Has anyone experienced this? I am 100% confident it is not a memory issue as it says it is.
If you set it to "System" and you have English (United Kingdom) it still is color in Substance Designer. I know this is minor but it would be nice to use the spelling of colour/color that the user is used to.
Is there any plan to have access to a public SDK / API for Substance Designer in the foreseeable future? I mean something similar to the 3ds Max SDK or Maya API, C++ based, to develop custom nodes, via code.
Is there any chance to have a "scripted node"? A node that works by interpreting code, with the same current logic of inputs and outputs. I think that a language similar to HLSL or GLSL would be adequate to the kind of tasks covered by Substance Designer. They are strongly typed and have built-in vector types. I guess the logic of a scripted node should be like a pure function, or a shader.
Sometimes it takes quite a while to put together and wire a complex FX-function, that would be a matter of minutes in code.
Of course this would imply the need of an editor with at least syntax highlighting, if not autocomplete, and eventually a debugger to step through the code.
Just some random thoughts for the future.
Thank you
Blender just had a node commit from Julian that would (or another iteration of it ) compliment SD's nodes very well (
Would it be possible to bake a position map from the high poly into the low, instead of just baking the low? Some low poly meshes are too simplified and you lose a lot of detail in those cases, specially when you want to do some sort of projection.