I think I found a 3rd way to expose variables; am I overlooking something here?
Hi gang!
First of all... sorry, wee bit offtopic but... deep & warm compliments for this amazing software environment! I've bought myself the Steam version a few months ago (Substance Designer & Painter) and it didn't take long for Designer in specific to leave a huge impact on my 3D setup (mainly consisting of Daz Studio & ZBrush). From further enhancing / editing base materials from Painter to designing whole new textures and material presets, I'm still quite excited about all the stuff I can do right now!
Totally amazing!
Now... I'm still studying (getting my fingers behind functions) and when reading up in the manual about Exposing parameters I learned that there are only 2 options: expose a single parameter or do a batch expose. This section also tells us that static parameters cannot be exposed.
Thing is... I think I discovered a loophole, but I'm not 100% sure if this is intended behavior.
I've added the "Messy Fibers 1" noise generator (one of my favorites) to a substance graph and I'd like to expose "Random Seed" which is a base parameter; the option to do this isn't available. So I guess it can't be done?
However...
- Double click on the graph window to expose the global parameters for the current graph.
- In the properties window scroll down to "Input parameters" and add a parameter, expand the new section and then use these values: type is Integer, default value is 0, max value is 10. Don't forget to give it a usefull identifier, I named mine "Randomizer".
- Go back to the properties of the Messy Fibers node, if you check the menu for 'Random Seed' you'll now notice that you can now assign it to "Randomizer". If you do so the property turns blue, just like it does if you'd exposed the parameter. It didn't of course: instead it has created a function: if you edit it you'll now notice a "Get Integer" node linked to Randomizer (gotta love this software's flexibility!).
- Now create a new substance graph, and instance the previous one we worked on: you will now notice an instance parameter 'Randomizer' when you check its properties.
- Better yet: this parameter will allow you to expose itself through the usual way of using the menu option ("Expose as new graph input").
So basically I managed to expose a parameter which couldn't be exposed through regular means, making me wonder: did I really discover a 3rd liable way to do this? Or is there something I'm overlooking here?
I don't have access to my home PC right now, all I have is Designer to work with and so far things work as I expected: when I change the parameter in the properties of the instanced node then the graph gets re-calculated.. But I cannot help wonder if I'm not going to run into issues later?
Thanks in advane for any insights you guys may be willing to share!
