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.


Messages - Uqbar

Pages: [1]
1
Hey, I came over a few posts from 2015 with mods saying we'd get random shapes for FX maps in SD 5. Unless I'm missing something it doesn't seem to be in yet. Is this still a feature we can expect?

Don't know what you are referring to since I have been using Substance for a short time, but in case it's helpful, FX map nodes already support arbitrary shapes as input, which you can randomize in the FX-map node functions.

Search "Image Input" here: https://support.allegorithmic.com/documentation/sddoc/fx-map-node-129368197.html

See also: https://forum.allegorithmic.com/index.php?topic=1371.0

If you are referring to truly random shapes (generated randomly on the spot through some algorithm) then I don't think that's possible. Could you perhaps link the posts you are talking about?

That aside, something which I would love is for the fx-map node to take nodes as input (as opposed to images), allowing you to change the parameters of the node inside the fx-map functions. For example, altering the warp intensity of a user-supplied warp node each time the pattern is printed.

2
Thanks for answering.

What experience shows is that node based programming languages are rare (for good reason), those which survive either offer a real scripting language or are simply relics of the past (like LabVIEW).

I have very little doubt that a test (have you done any? anecdotal opinions are not as important as results and productivity) would show consistently that those who use an actual scripting language end up being far more productive and having a much easier time reading other people's code and maintaining their own.

And you would be wrong.

18 years of CG industry here (VFX for film, tv and games), 25 in SWE.

DAGs are the way of life: Modo, Lightwave, Softimage, SD, NUKE, and even Maya's texture graphs.

Every single one.

You might not like it, but it is not "anecdotal". It is how this industries toolset(s) have and continue to evolve.

It seems you have not read my posts. First, everything that you mention is hardly programming, as I make clear by praising Substance graph for building materials but criticize it when used for actual functions (the so called "function graphs") where a script is infinitely superior, as any programmer could tell you. As I said, I have no doubt that a test, even among Allegorithmic employees, would prove me right.

Have you ever tried to write a program as opposed to connect input and outputs like the graphs in those programs? it's not the same.

The main difference being that in the graphs you are used to you are not really building functions from scratch but connecting massive nodes (with tons of properties) wich each other, which do the complex, low-level work for you. Substance function graphs operate at a much lower level, where you arbitrarily define variables, operate on scalars and vectors with custom user-defined operations, where there is a very diverse set of tasks which vary from problem to problem that would benefit a lot from being encapsulated, and where tiny common expressions like "1*8 + 5*7" take a lot of space. It's considerably closer to what programming is, even if very bare-bones and still quite far from being the same.

Try to write a non-trivial pixel processor or fx-map function with graphs and then do it with a script. You will save a lot of time doing the latter, while making it far easier for other people to understand what you wrote.

As an example: variable names and function names, when properly defined, are very, very good at making people understand complex calculations. It's the reason why programmers emphasize how important it is to name things properly. With graphs there is no such thing to begin with (at least without making the graph even more gigantic and the process of writing it way slower).

Another example, think of how easy it would be to reuse code with an actual language as opposed to graphs.

One question for Allegorithmic employees in charge of writing those, how often have they used pseudo-code to delineate the spaghetti they needed to write? or are you using an internal tool? if Substance supported a scripting language (probably a custom one as the supported features wouldn't warrant a full fledged scripting language), they would be more productive.

3
Thanks for answering.

What experience shows is that node based programming languages are rare (for good reason), those which survive either offer a real scripting language or are simply relics of the past (like LabVIEW).

I have very little doubt that a test (have you done any? anecdotal opinions are not as important as results and productivity) would show consistently that those who use an actual scripting language end up being far more productive and having a much easier time reading other people's code and maintaining their own.

For trivial cases the distinction becomes irrelevant, but you market this product as a serious professional tool for studios. Having spaghetti code forced upon you is a non-negligible flaw. And I predict it will only get worse as people start trying to make more complex things with Substance Designer, while old code becomes an unreadable mess.

What you could potentially do, is to use the python API to generate the function graph.

Yeah, but as I said, the biggest problem is reading other people's code, in this case the code behind some of the complex built-in nodes. Basically, I would need the reverse operation: graphs to scripts.

4
Hello, I'm relatively new to Substance Designer. In general I like the workflow, but I'm not really a fan of "function graphs". I'm trying to understand the inner working of complex nodes like Tile Random. Looking at the graphs seems to be quite tedious as there is no defined structure, no variable names, no encapsulation of calculations, trivial calculations take half the screen and finding things you saw before is unnecessarily time consuming (again, due to the overall lack of variable names and structure).

Graphs make a lot of sense for operations on images (as you want to see the intermediate results), but I don't see their value when writing functions which operate on scalars or vectors.

Is there any way of obtaining the "script-like" form of a graph function? if not, are there any plans to make writing and reading function graphs less tedious (like Unreal does by offering a script alternative to Blueprints)?

Thanks.

Pages: [1]