Home Adobe Substance

Shape splattering with a random to non-random gradient?

hghtch
node
Offline / Send Message
hghtch node
I need a shape splattered non-uniformly. I can control the density, the scale and the rotation using map inputs, but I can't control the position random that way. Is there any workaround, or could the shape splatter node be adapted (no clue how though)? For now I would just use different stages, mask them out and layer them to give the appearance of a gradual change in randomness. But I'd really like a more procedual approach.

Thanks for any help and ideas!


Replies

  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    You can affect any parameter with an input texture in an fxmap, you just have to find the parameter in the fxmap functions, sample the value from your input at the position of the current shape and multiply the values together 

  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Thanks for the reply, but can you please elaborate? I'm not quite sure how you mean that.
    I never used FX Maps and functions only a few times to drive different values through one parameter.


  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Isn't vector map input + vector map multiplier in position group enough for what you want ?

      Just make a normal map from a noise with a gradient to flat 128,128,255 normal map color  and input it to vector map input of shape splatter node.     Flat 128,128,255 color would give you zero shift in shapes and noisy  part would give you more or less random vectors/directions to shift shapes from its original position.



  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Thanks, this actually works quite well. Though I'm now intrigued by the FX Map option. Being able to control arbitrary parameters nonuniformly based on input images would be amazing.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Shape splatter haven't used FX maps last time I checked . It's pixel processors.   Good lack finding how they work and finding  exact  input/variable  responsible :)

    I guess ones you figured it out ( few hours or days later)  it could be multiplied to grayscale image sampler  from pixel processor nodes.

    I love how my favorite Clarisse  shows you small button next to each slider to turn it into texture input.   But it would never happen in Substance. I bet their developers just doesn't understand what "artist friendly" means 


  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Or years. I already tried to take a look at it - no chance for me. I just thought I misunderstood something and there is an actual way to utilize an external FX Map.
    The documentation states

    "The sampler node can be used to sample pixel values in an image input plugged to the fx-map node. The sampled values can then be used to drive any parameters using functions." (On the page I already linked)

    This sounds exactly like what I want.

    But then there is this staff response in a forum thread:
    "Sorry, it is indeed currently not possible to make any given input parameter vary per texel based on an input texture (for performance reasons).
    In some cases (maybe not with noises), it may be possible to recreate your own version of that node using a Pixel Processor using sampler nodes to read in an input texture rather than exposing a constant parameter."

    Clarisse you say? I'm intrigued.
    Edit: OK, this looks dope. But I suppose you can't generate procedual shapes like you can in SD? I'm not sure where to sort this in. I guess I'll download the learning edition and see for myself.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Clarisse is just an example of something more user friendly while keeping very procedural and flexible approaches.   

      SD design might be totally driven by performance limitations, GPU specifics etc I am not sure.    After all Filter forge, kind of SD alternative allowing   few cool things SD wouldn't (like scaling the whole material in output node while keeping it always perfectly tillable  )  is getting slow like hell very quickly  and only usable on amd multi core  cpus

    Still I am not sure I understand how having switches to texture inputs next to  sliders   might hamper performance and why users have to redo every node basically to make it more or less convenient.

    Originally they seems wanted to make SD a realtime texture solution. I recall a small  robot style game they published  after first SD release where all textures were generated on the fly.  No bitmap downloading.    Nobody use it such way but my guess the idea of having bare minimum in everything still survived from that time.


     
  • hghtch
    Options
    Offline / Send Message
    hghtch node
    I kind of understand the performance implications, as each slider driven by a texture input, would need to have as many iterations as the input is sampled, which ofc drastically increases the computation time for anything this slider does. But I think it should be up to the user if he's willing to sacrifice that. After all it's about material authoring, and if I can sit and wait an hour until a 3D render is finished, I can also sit an hour and wait until a material is rendered. In the end it is a crucial piece of funcionality which is just missing. If atleast they would provide information on how to implement custom map inputs...

    Thanks for the tip with Filter Forge, it looks good, and conveniently, I just upgraded to a AMD multicore.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    Sorry - i hadn't actually looked inside the node and didn't realise it was pixel processor based to that extent

    The biggest usability issue with designer is that they marketed it at the wrong people IMO 

    Anyway, it's an easy addition - took about 2 minutes to figure out and implement.

    You'll want to take a copy of the shape splatter node rather than editing the original but if you follow these steps you'll get there








  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Thanks a lot! This is probably a good entry point into the matter for me. The issue with problem oriented learning is, that it can get easily overwhelming at times without a helping hand.

    I suppose you mean that they should shift marketing more towards tech artists instead of artists as the software isn't as artist friendly as one could imagine. But after all it's still a powerful tool without digging into the guts. Just stuff like this makes no sense to me. Imagine the variability if parameters could just be switched from one to two dimensional by default.
    Since I started working with SD, I couldn't help but make the connection to modular audio synthesis. But the crucial difference is the inablitity to modulate parameters in SD, and knowing how powerful the concept is, it's a real pitty they just brush it off as "no cuz performance". But I guess I can now make my own forked collection of nodes which at least make this partly possible. Thanks again, this is a invaluable help to me.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    The fun bit is that a couple of months after you buold this collection of nodes they are guaranteed to add the features you spent all that time creating.

    You're right though, that's exactly what I meant.  To really take advantage of designer you need to be thinking like a programmer but it's still a very powerful tool in the hands of a technically minded artist. 

    The reason it's taken off the way it has is because its so powerful as a pipeline and material management tool - not because its easy to use (if usability for the artist was really that important we wouldn't all be using maya) 
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Lack of usability  imo is a consequence of a small market .    Would we see same kind of  software design in a mass market product  it couldn't stand a chance.  But for such a comparatively small one nobody cares  once the product works.  There is no real competitor.

    So it's a sad fact  but I don't believe  we would see  anything truly artist friendly  in our lifetime.    And destined to spend  half of our lives learning and  littering our brains  by things having little  impact to our actual creative intuition, imagination and ideas.

    The whole "uncanny valley" issue is imo a result of a fact that artists who able to feel necessary nuances and having  centuries of art school traditions in  their collective consciousness  couldn't skip  trough all the technical hoops  software devs  left on their ways.

    Art history had already known its previous "uncanny valley"   period   in medieval time.   Then Renaissance evaporated it  with just one generation of artists .    I believe mostly because of new materials and tools invented. Like new pigments ,walnut oil  etc

    There is a legend  tourists are having been told  about  Michelangelo doing all the impossible  work of his Sistine chapel  laying  alone on  boards  under the roof .   I would say very doubtfully.
    Certainly he used camera obscure or similar  very simple tool with decent usability that suddenly made it possible for just one man and not  an army of artists gemedev usually is today .




  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Well, it's evolution. At least there is something. Competition would be great, but I rather have a monopoly than nothing. I dropped 3D when I was younger because I wasn't able to achieve anything good looking texture-wise. Now 13 years later I jumped back into it, and the tools became a lot more refined. Lets see what the next 20 years will bring. Maybe a texture input for parameters ;)

    My experience with substance is, that it has a really high entry treshold, and there are a lot of special techniques which arise from the lowlevel/technical approach, which one has to discover piece by piece. But once you got them, it's like a painting pallette of techniques you can chain together freely. It becomes very intuitive.

    I don't see how this could be improved, as simplification means also reduction in possibilities. I'm sure there is more stuff which could be added to make things better (16k pls),but the overall concept is what it is. When I go into dream mode, I could imagine a software taking direct input and procedualizing it automatically, so you just feed it a picture or drawing and it gives you a procedual texture back. Or a combination where you can draw how the image input should get procedualized. But I guess we have to wait for some more AI for stuff like that. Artist friendly without futuristic AI is IMO impossible. So yeah, beggars can't be choosers.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Yeah, evolution does happen.   Still Substance Designer imo is an example of what could be perfectly artist friendly with just a little bit more conveniences here and there  and less  "program everything on your own"  concept.

        Convenient 2d transform gizmo  like in Photoshop  with ability to scale precisely around chosen screen pixel
       Photoshop style  color tweaks  instead of terribly,monstrously  inconvenient   HLS node.   
    Convenient "complimentary colors"  color wheel   red-yellow-blue style  that artists have been using since 16 century  instead of programmers styled  RGB one.
       Photoshop stile gradient libraries
      Layer concept  + modifiers  to organize that usually Gordian knot of SD nodes and spaghetti tentacles into something  more or less  readable ( and they had it before , then  killed)
       Easy quick node instancing  instead of "exposure" thing  causing hours of headache and debugging of your own work.
    SVG and bitmap nodes not being a torture to use
      and so on and on

    it's not simplification , it's just ready made tools with decent usability    like what Blender does with addons.     

    When Allegorythmics had been bought by Adobe  I had a good hope  they would face to art users  at last   but nope, they released  Alchemist, another "Bitmap to material" and to be honest  mostly useless toy.  

     
  • hghtch
    Options
    Offline / Send Message
    hghtch node
    That are some good points. Just had the pleasure to make myself a Material 2D Transform node with a bunch of outs and ins, which you would think of as should-be built in - the parameter exposing is terrible, and I just had to do some HSL gymnastics, horrible.

    Layers/Collections would be a dream... I see what you mean. It is overall very rough and bare boned, and not streamlined to be used creatively, which it should, but resting in it's technical foundations.

    Lets hope that some innovative start up will see the potential market shares they could secure with a polished and streamlined version of the concept.

    Edit: Automatic Grayscale Conversion, jesus christ
  • Jerc
    Options
    Offline / Send Message
    Jerc interpolator
    There is already a Material 2D transform in the library, and Substance painter has Photoshop style color adjustment nodes that we should definitely package with Substance Designer as well.
    I'm curious about how you would approach instancing and exposing parameters in a better way, we're always open to suggestions.
    SD is a technical tool and will stay a technical tool. That being said, we're aware of a lot of areas that could use some UX work and we're taking those on one at a time.
  • hghtch
    Options
    Offline / Send Message
    hghtch node
    Oh, I simply overlooked it (It could be named 2D Material Transform in order to keep naming uniformly, I just always searched for 2D).
    For me, the parameter system is clumsy and unpredictable. When you expose a new parameter you get asked to choose or give a name, but it's the ID. And sometimes the name gets automatically set, sometimes not. I couldn't detect a pattern yet.
    Why not always set the label equal to the ID when they are created? In case the user needs them to differ, he could edit them afterwards. The way as it is, you always have to do any naming twice - the same for outputs. Maybe there are some important technical reasons, but for me as a user it doesn't make much sense and results in tedious extra work prone to errors that later need debugging.

    And yes, please package them with SD.

    As a last remark, while it's a technical tool, it doesn't have to be a tool neccessarily needing low level knowledge to achieve tasks. Mostly it makes a good job at this, but some things are open for improvement - like being able to use optional masks on parameters wherever possible without needing to hack.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Jerc said:
    I'm curious about how you would approach instancing and exposing parameters in a better way, we're always open to suggestions.

    IMO  why couldn't it  be just "copy instanced"  command for a node duplication  with ability to make  certain parameter "unique"   "single user" whatever.   Blender style maybe.      With some highlighting of  nodes  using shared parameters.    Plus a certain panel where shared parameters  would be collecting  automatically  .   

    Same node highlighting could be very useful in Pixel processor too.    Like what  poopipe   found for  random placement   and I usually need hours to found such things among  cypto mess  of pixel processor nodes.      Or maybe  just better text explanations  inside  node graphs  made the way even a grandma  could understand .        

    An ability to use Painter style hand painting by brush  and having  layers with on/off switch   in  SD too   would be the best update for years probably .     For a while I tried to switch to Painter completely for tillable textures only   and still love many options it provides.

    I have  "project Messiah" soft  and love how  shader nodes  are having small "+"  or "-;<;> "/  switches  next to node inputs  there  meaning blending math  an  input content would be using to mix with a node content.    It totally eliminates the necessity of separate blend nodes and makes a graph super easy  to read comparing to spaghetti monster SD typically is. 

    Another huge pain I often experience is  my own old sbs files.      3-4 month later   I couldn't  read them.   Something is always missing with zero indication what it was and if I could  replace it with something similar.   Dependency manager  doesn't help at all.

    I know it 's just a proper discipline/organization matter.   By why no other soft ever made me so much of a pain with that.   Surely  should be some solution.   

  • Jerc
    Options
    Offline / Send Message
    Jerc interpolator
    Thank you both for the detailed feedback! Will send that to the team.
Sign In or Register to comment.