Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - CodeRunner

Pages: 1 2 [3] 4 5 6
Once a node is imported into a project as a specific type (filter, generator, base material, etc), how do you remove that association so it can be loaded as another type without keeping the previous types?

When I re-import and choose another type, it just adds it to the list, making it both. Reloading the resource doesn't seem to remove its node types. Is there any way to remove the resource or remove its types?

SubstanceSubstance - Discussions - What is the "mask" usage?
 on: April 08, 2019, 02:28:28 pm 
I never know where to ask questions that relate to both Painter and Designer. There is a usage in Designer with the ID "mask", and Painter seems to make use of this, but I can't figure out where the data is streaming to/from? It doesn't seem to be coming from the layer's mask when I create filters. I can apply a white mask and black mask and nothing changes.

Does anyone know what this references?

Organizing exposed parameters, such as sorting them, becomes very cumbersome after you have a great deal of them. We need a way to organize/sort multiple variables at once. It would also help to collapse them down into groups via some type of toggle. This way we could move ungrouped variables while the others are in a condensed state.

One of the worst things about the current setup is having to drag new variables from one end to another when there are 30+ existing variables. If you have 5 new variables at the bottom that need to go to the top, you will likely have to drag each of those 5 variables 4 or 5 times each to reach the top. Each time, scrolling a little further up, dragging one at a time. Something definitely needs done to help with this.

Edit: Another thing that might help is to be capable of choosing which group an exposed variable will belong to when it is created, then automatically sort it into that group, rather than placing it at the bottom. This is not a complex fix, but would make it much easier.


Substance DesignerSubstance Designer - Feature Requests - Document tabs
 on: April 05, 2019, 12:40:53 am 
I've noticed that Designer has a decently complex document tab system that allows users to navigate around to recently viewed graphs. But it only seems to work (as far as I can tell) when the user chooses "open reference" on a graph or function node. There seems to be no way to create these tabs for a graph that isn't being deployed as a sub-graph.

The tab system is so useful that I've been using the open reference command multiple times on the same sub-node, then going through and opening other graphs for each one afterward. This gives me instant access to the few specific graphs I'm dealing with at the moment, regardless of how many things are open in the explorer window.

I think it would be great to give the user the ability to create these tabs without having to use the open reference command. Especially since we don't always have a convenient sub-graph to use for this purpose. Perhaps some type of modifier key that, when held, allows you to open the graph as a new tab when it is double clicked in the explorer window?

If something like this already exists, please let me know.

It would be great to have the capability to instantly select all nodes that contribute to the input of a chosen node. Highlight would be great, selection would be better (maybe shift+hover to highlight, shift+click to select). I'm pretty sure this is something that would be very easy to implement, because the connections are all already there, internally. They are just difficult to split up, visually.

It would help tremendously when reading graphs, because it gives the user instant visualization of the graph up to a certain point within seconds. It would also allow a user to copy partial sections of graphs without manually "weeding" out the rest of the nodes.

For example, if you have a happy accident and create something interesting in the middle of a work, you use this command on the node you like and then copy only the nodes needed to get that result. Then just paste it into a new graph. Or if you decide that some part of your complex graph is being repeated more than once and want to convert it into a sub-graph, it would take only a few clicks and button presses.

Currently, we have to manually trace back links, one at a time, to determine what does what. And depending on how complex the graph is, it can become next to impossible to keep it all straight in your head as you look at one node at a time. Having the ability to instantly highlight/select the entire chain of nodes that lead up to a node in question would provide a lot of clarity.

Has anyone figured out a way or seen any type of graph or pixel processor that can map textures using a normal map? I want to create a filter that inputs a texture and normal map, then morphs the texture based on the normal map in a way that makes it appear to "wrap" around the normals. Something similar to overlaying a texture onto 3D geometry.

I honestly don't have a good reason to do this, except that I think it would make a cool filter that could be used to do some neat things. I've tried projecting the texture pixels using the normal vectors in a pixel processor, but can't seem to come up with anything that looks good. The texture pixels end up too distorted. The problem is that you can't compensate for any stretching you do in one pixel at another pixel because of how the pixel processor works. EG, if you shrink one, you can't expand it somewhere else to make up for it.

Anyone come up with something that does anything neat? Anything that maps texture over height or normals would be interesting. I'm not asking for a graph, just some advice.


I vote for an option that changes timing readouts to percentage readouts, where each readout shows what percentage of processing it is using up for that specific graph. This would make the readouts far less machine-specific. Or even situation specific - if I play music while I work, my nodes end up looking like they take twice as long. This kind of thing makes it tricky to use these numbers in any way other than as relational to each other, and percentage readouts would make this much simpler.

Another idea is to use some common process as a timing unit, such as the time it takes to process a blend node using a specific mode/opacity. Divide all of the readout times by this unit, and call it process units.

As a related note, I noticed that the timings appear to be recording variable changes as part of their total. For example, if you use the preset selector for a node, its timing will be much larger than if you just tweak one of its parameters. It would be great to skip the variable updates during the timing recording, if possible, to make the readouts more accurate. Or maybe just don't update the displayed readout during exposed variable tweaking.

I've noticed that some of the built-in FX Maps are using some type of cloned quadrant nodes, and I'm wondering if anyone knows how this is done?

If you change one of the exposed functions of one quadrant node, such as "Pattern Size", you can open one of its cloned nodes and the same changes will have occurred there as well. Looks like the dirt 1 noise has 3 clones of the same quadrant node. Rather than having to copy and paste the same code 3 times, they have it setup so they only need to maintain one node. I did not know this type of "cloning" was possible until now. Is this something they hacked in, or something we can do ourselves?

If you position your mouse anywhere near the center of the properties panel (exposed parameter window) and scroll past the preset selection drop down box, it is very likely you will accidentally change its value as you scroll by. This is a concern, because it discards all changes you've made to exposed parameters.

This is not the same thing as scrolling the drop down box after it is opened/expanded/focused. I'm referring to the ability to scroll through it without even clicking on it, which seems like strange behavior to me. No other drop down boxes behave this way, as far as I can tell (just the most important one!).

If nothing else can be done, it would be great to have an option to disable this behavior. I suspect a lot of users use a mouse wheel (or something like it) to scroll through the exposed parameter window, so I assume this is a problem for most of them.

Ctrl + S should save the open graph, rather than the graph currently focused/selected in the substance explorer. The majority of the time, Ctrl+S does nothing - until the user clicks on their graph in the explorer, which is not very intuitive, and makes it easy to lose progress during crashes. I've personally switched to using Shift+Ctrl+S because it works in a way that makes sense.

Anyway, I think most users would expect this behavior? Ctrl+S saving the open document is typical behavior.

Thanks for such a fantastic tool. I'm not griping, I just want it to keep getting better.

The FX Map blending mode of Alpha Blend seems to do the same thing as Max mode in grayscale mode, but this doesn't make much sense? Even though the grayscale values don't have an alpha channel, using the alpha blend mode still makes sense in grayscale mode. Just use the luminosity value as the alpha component. This will allow shapes to be "on top" of other shapes.

I am currently running the FX Map in color mode to get this feature, then converting back to grayscale, but it almost doubles the performance cost.


If you use shift to remove an output from a node, then hold control as you attach it to another node's output, it causes an immediate crash.

To reproduce, add 3 Levels nodes (A, B, C). Attach A's output to C's input. Hold shift and click A's output. Now release shift, hold control, and click B's output. This causes an immediate crash for me.

This is an invalid action, because an output that is already connected to an input cannot be connected to a second output. So holding control should do nothing at all in this situation. So I think just ignoring the control condition (when it is already linked to an input) will fix it.

Substance PainterSubstance Painter - Technical Support - Glow Filter Bug
 on: March 21, 2019, 12:27:34 pm 
The Glow filter has no effect at all on masks, until you toggle the "used on a mask" button. However, this button also makes the "Width" slider disappear, even though the width slider clearly still influences the result. So the user must toggle "used as a mask" off to adjust the width slider, then toggle it back on to see the results. I'm assuming someone meant to hide the opacity slider rather than the width slider, because the opacity seems to have no effect on Masks.

I tested this on several masks, but let me know if you need to see one of them.

Edit: using 2018.3.3

Regardless of what I try, I cannot get a really simple custom filter (made in Designer for Painter) to show up in the filters category of Painter. And when it doesn't get recognized as a filter, it cannot be dragged into the layer stack as a "passthrough" layer filter.

If I import the custom filter and manually select it as a filter, it works. But is there any way to let Painter know to automatically add this as a filter when it finds it in the shelf folders?

I've tried every kind of input/output setup I can think of. Every type of category, user tags, etc. I really appreciate any advice.

Edit: I've noticed that built-in filters that show up correctly in the filter category have "usages: filter" in their context menu. But I'm pretty sure this is not related to the input/output usages. Anyone know what this is or how to control it?

There is a problem with the UX that causes the wrong layer or layer folder to be dragged. It may be related to the CPU being weighed down, but I'm on a pretty powerful machine with a medium size project, so I don't think it needs to be weighed down much for this to happen (see first reply). This is an issue with dragging layer folders, rather than individual layers.

To reproduce, open a project with layers inside folders. Select any layer or folder of layers (A), then drag a different folder of layers (B) to any new location (edit: make sure you begin the drag while the cursor is located over top of the little folder icon on the left side of the rectangular area). Painter will drag your selected folder (A) rather than the one you actually dragged (B).

I'm on Windows 10 Pro, 64-bit.
Processor: AMD Ryzen Threadripper 2950X 16-Core 3.50 GHz
Memory: 64GB

Pages: 1 2 [3] 4 5 6