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 ... 6
For all of the perfectionists out there, please add an option that forces nodes to always land on grid cells :)

So with the option on, it would be impossible to place a node in between grid cells (the top and left edge will always align with the grid).

Thank you!

When a bitmap resource is missing, and the user uses the "relocate" feature to select a new location, the "!" symbol does not get resolved or removed, even if the graph is closed and reloaded. This doesn't seem to be the case with other resource types such as meshes.

The bitmap is showing up in the graph and being deployed correctly, but the graph still shows the "!" on the graph name, the resources folder, and all of the bitmaps in question.

Why does Designer constantly transfer data over the internet? This seems really strange for an image editing software.

If it is some type of anti-piracy measure, then does it really need to send it constantly? At the very least, it should only do it while the app is in focus. Wouldn't such people would block it from accessing the network anyway?

I love this software, and will continue to use it, despite problems like this. But I really wish the top level guys would stop suffering the people who pay to fight the people who don't.

Something that would really help your users is an automatic file copy of the most recent autosave after a crash. When Substance Designer opens after a crash, it should compare the most recent autosave time stamps to the primary related files of everything that was open during the crash. Then a second dialog can appear, asking the user if they want to replace those files with the more recent one. If the user chooses yes, Designer can move the primary files to the recycling bin (or copy them to an autosave instance file), then copy the more recent autosave versions into their place.

Some users probably don't even realize they can regain lost progress by restoring these files after a crash. Others may not be computer proficient enough to compare the time stamp to see which is more recent (their file or the autosave). And then there are those who know how, but still find it a chore. Especially right after losing progress to a crash (or power failure). This feature would help everyone.

There seems to be no way to output individual components from the vector-output of a value processor. It is often necessary to generate multiple floats inside of a value processor and output them as a vector (because only one output is supported). But then there is no way to split up those values to send them to separate nodes.

We either need a swizzle node, or the ability to output more than one value from the value processor.

It is possible to create our own swizzle graphs, but we would need one for every axis of every type of vector. Something like 9 graphs, I think?

I'm having a lot of issues with randomness working correctly. Or perhaps I just don't understand how to make the best use of it.

I created a tool graph that will be employed by a secondary graph that will be employed by a parent graph. The tool graph randomly offsets the image, using a transform, by a random amount between -1 and +1. I do this by randomly generating a value between 0-2 and subtracting 1 (so 2->random->minus1). However, when I change the random seed of the tool graph by 1, the image literally moves by about 0.01. And when I change it by +1 again, it moves by the exact same amount again. This means the random value is directly offset by the random seed, by a very specific, predictable amount.

If I place 4 instances of the tool graph into the secondary graph, and choose completely different random seeds for each one (such as 21, 191, 361, 691), then add them all into a single image with blend nodes, it looks good at first. But guess what happens when I choose a different random seed for the secondary graph? All four instances of the tool graph remain in-sync, and all of them offset by the same amount, regardless of what random seed I choose. There is no way to get them to offset differently from one another. How do I get all four of them to offset by a different, random amount?

If this is just how things are, then this is not how randomness should work. If a random seed is offset by a single digit, the output should be completely randomized again, right? Not just the same result as last time plus X. Otherwise, the random seed has a direct association with the randomly generated value. A user wanting a different result doesn't get a different result - just the same result scooted over.

This situation is easy to replicate, so I won't bother uploading a graph unless someone wants me to. I just need help understanding how to make things randomize. Thanks!

I'm not sure what these little dot connectors are called that you create by dragging while holding Shift + Alt, but I will call them link joints. There is an issue related to these when using box selections (drag select).

Typically, when you box select multiple joints, they can be in one of two states - either their associated links are "on top" of them (the link is drawn over top of the joint), or "underneath" them (the link is drawn under the joint). I can't say for certain, but the determination of which state each one ends up in when it becomes box selected seems random, or at least difficult to understand. But when the link is in the "on top" state where it is drawn over top of the joint, the joint becomes impossible to hover with the mouse anymore, and therefore, cannot be moved around or such. Unfortunately, it seems that they end up in this state the majority of the time, and the only way to select and drag multiple joints is to temporary select an unrelated nearby node, and drag it with them, then drag the node back where it was afterward.

Once in a while, a link ends up in the "underneath" state, which allows it to be hovered by the mouse even while it is selected along with other joints. This allows easy, user-friendly dragging of multiple joints to reposition them, which is what one would expect. This situation needs fixed so that joints are always in this state when they are selected.

To reproduce the issue, just box select multiple link joints and try to drag them around. If you get the same outcome I do, then most of them will show their corresponding links over top of them. Notice that when you hover the joints with your mouse, only the ones that have the link under them will show the cursor-hover outline. The others are "in the background" and cannot be interacted with.

Example image:

Similar to how we can use bitmaps as temporary placeholders for input nodes, we should also be able to use data from other loaded graphs. I'm hoping this feature already exists and I just haven't figured out how to activate it. If not, something that really needs added is the ability to generate placeholders for all inputs of a graph when that graph is "referenced by a loaded graph".

So, for example, if I insert graph "child" into another graph, "parent", then connect 5 inputs to child from parent's nodes - when I use "open reference" on the child node, it should automatically associate those 5 inputs from parent to the child node, so that all of its inputs are synced to the parent node graph. If not automatically, then at least through some type of command.

If this is currently possible, please let me know how!

Vectors are used for quite a lot of data in some graphs, and Substance Designer lets us give the axis component names (X=Power, Y=Ratio, Z=Falloff, etc), but when we build graphs, it can get very confusing as to which axis represents what. Something that would be a huge benefit would be a small text string on the swizzle axis node components that contains the custom string we assigned to that axis. For example..

Pretty please?

So I just figured out how the bakers work in Designer, and I was wondering if there is any type of automatic association that can be done, similar to how Painter works.

For example, is there any way to create a smart filter that automatically makes use of a curvature map when one is available, without having to manually place the baked curviture onto the graph as a bitmap and plugging it into the filter?

If not, a great feature to have would be some type of "mesh information" connector, either manual or automatic (preferably automatic), that a sub-graph could use to associate any mesh maps with, such as curvature, position, AO, etc.

Designer has a more open (advanced) work-flow than Painter when it comes to features and control, but Painter still wins out because of its automatic association, which allows lazy (productive) features like smart materials.

We need this in Designer!

Currently, we have to decide as a single global choice to have the bakers separate objects based on IDs or to deal with them all at once, but there are many situations where it makes sense to do one thing on one map and the opposite on another.

For example, any type of furniture that has multiple elements (metal and wood) attached to each other with nails or such. We definitely want our AO to spread between the elements (so the metal and wood influence each other), but we don't want our normal map to get mixed up and confused where the elements are touching (the reason the explosion options are there to begin with).

Currently, a user must bake multiple times, changing the options in between, which works well enough for now. But it would be really nice to have a checkbox (per map) to make this happen automatically.

I'm getting the following cooker warnings, but I'm not sure how to locate the problem:




My primary graph ("Grime") is a little complex, which is the reason I'm having trouble locating the issue. I've tried using the search bar, but all nodes become faded out with both of these variable identifiers typed into the text box. Do these warnings mean the variables are being requested somewhere, but don't exist? Can anyone help me figure out how to narrow down the locations of these issues, or just to understand what the issues are?

I know they are just warnings, but would still rather clean them up if possible.
Thanks for any help!

We really need a way to allow nodes to share the same random seed, similar to how you can inherit a random seed in an FX Map. If there is currently a way to do this, please let me know. This is really important, especially for the new value processors, which must have their own random seed in order to produce different results per instance.

So, for example, if you create a value processor graph that generates a random result, and you have 5 of them in your main graph, you have to give all 5 of these instances a unique random seed to get 5 unique results. And what if you add a 6th one later somewhere else and want a new random number. You may accidentally choose the same random seed as another and create an accidental relationship between two distinct parts of your graph.

If would be great if we could link ALL random seeds in a single graph to a single pool, making them all generate random instances from the same deck. An option to inherit the parent's seed like an FX Quadrant would be perfect for this.


Please check out this situation where I'm trying to expose a random seed as a floating point value. I'm multiplying the floating value by 250, then converting to int for the seed. But for some reason, once the floating point rises above 0.28, all random results are identical. Does anyone know why?

Note that I am using the new value processors to show the problem and display the results, but this has nothing to do with the issue, as this same issue has been causing me distress since before the update. It appears that any random seed over (around) 77 generates identical results. But only when a variable is used to process the math. If I switch the math to rely on constants only, it works fine.

Please let me know if this is a bug or just something I am doing wrong.

Substance DesignerSubstance Designer - Feature Requests - Link Tool Tips
 on: May 09, 2019, 03:46:51 pm 
A simple but useful feature to add would be link tool-tips. When the user hovers a node link, a tool-tip can appear that shows the name and connector of its connected nodes. Something like..

Output: Uniform Color: Output
Input: Vector Warp: Vector Map


Parent: Base Material (Roughness)
Child: Warp (Gradient Input)


Base Material (Roughness) <-> Warp (Gradient Input)
(where the <-> is a little icon or symbol)

When developing large graphs (where certain nodes are grouped together into a frame that links to other framed clusters of nodes), I find myself constantly needing to scroll around to figure out (or verify) which node is at the other end of what I'm working with. Something like this would be very convenient. It should also not interfere with anything, and be pretty simple to include.


Pages: [1] 2 3 ... 6