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 - bruce_4

Pages: [1]
Substance DesignerSubstance Designer - Showcase - I made a 9-Slice Node
 on: December 13, 2018, 09:51:25 pm 
I wanted to share a node I've been working on that allows you to create a 9-Slice.

What is 9-Slice?

A 9-Slice, is a set of 9 images that allows you to create a resizable box that will preserve the corners.  These can often be found in User Interface designs, you can freely scale the width and height while keeping the corners square.

Some things you can do with it:
  • Create pill or capsule shapes that won't stretch rounded corners.
  • Create different sized Octogons with 45 degree angles
  • Create ornate corners, such as stylized furniture embellishments

How it works:

You can can input up to 9 images:

Code: [Select]
(Upper Left)   (Top)        (Upper Right)

(Right)        (Center)     (Left)

(Bottom Left)  (Bottom)     (Bottom Right)

You can then uniformly scale the corners, and independently scale the width and height of the shape.

There are two preset shapes, curved corners and straight corners, and a custom input (all 9 images).

You can switch between Nearest Neighbor and Bilinear (Due to the way FX maps scale shapes up and down, Bilinear can show seams in some cases, I recommend Nearest Neighbor). 

Out of the box, I find this incredibly useful just for making pill shapes (which is why I made it) or any rounded corner box. 

I created a 9-Slice node that allows you to input 9 images (corners, top, bottom, sides and center) and freely adjust the width, height and size of the corners to preserve the shape.

I make heavy use of FX maps, and I created a variable that lets you pick between the different filtering options for FX-Maps, :

Bilinear + Mipmaps

I have an Integer 1 variable and a pull down with the 3 options.

If I drag my Node into a new Substance Designer package, I get all the controls I expect.  If I add the .SBAR file to my Substance Designer Library the Image Filter variables I exposed don't show up.

Is there some additional trick to making this option visible when exporting as a .SBAR? 

I (barely) understand that the Warp nodes use a greyscale image to determine how it will warp, but I can never figure out what will give me the desired effect.  I always end up trying a ton of different generators with a warp, but very rarely does it do what I want. 

I've read the documentation many times, but it does not make sense.  Setting up very simple graphs has also not made it very clear what is happening.

Does anyone know of a clear guide or way to think about how to use the warps to get predictable outcomes?

I have a FX map that has a quadrant node that feeds into 4 quadrant nodes that in turn feeds into 4 quadrant nodes.  Basically each quadrant node is 1/16th of a square.

I have built a complex if Statement that determines which image input each of the 16 quadrant nodes should use.  However I can't seem to actually get the Int Variable I set in the top most node.  Where in the hierarchy should I do my equation so I can access the variables in each quadrant node?

I have yet to understand how multiple inputs work on an FX Map.  Specifically in relation to randomly grabbing one for an iteration.

If I have only 2 inputs, I can add a quick function to generate a random numbers between 0 and 1, if it's .5 or less I pick left, otherwise I pick right.  This works just fine, I get more or less an even distribution of the 2 shapes.

But when I try to go to 4 inputs, things just fall apart.  At the very top level of the graph I'll make my simple switch picking randomly between 0 and 1 and if it's less than .5 I pick Left otherwise I pick right.  This to level switch works.  Then I have 2 more switches below this.  I create the same kind of switch located on the right side of the graph, all works just fine.  I create the same kind of switch located on the left side of the graph and things fall apart.  The left side seems to always pick the same switch value no matter what.  I've made sure it's not a lack of iterations, or one of the sides is empty.  I'm just not able to grasp how multiple inputs are supposed to work.

Ok, I'm losing my mind over this.

If send a grayscale image into a FX map it works just as expected with 1 quadrant:

But if I add another quadrant, it instantly dims the image by 50%

The top quadrant settings look like this:

And the bottom looks like this (only thing different is the image input)

This also happens if I use a built in shape instead of image input:

How can I keep it from dimming as I add quadrants to my FX Map?

I have an FX map where I want to take the Offset Y value and use it to scale uniformly width and height.

I made a function for the Pattern Offset that is:

Code: [Select]
[ Float ] -----------|
                     } [Vector 2]
[ Float ] ->[Random]-|

Then I attached a Set node to the Random node:
Code: [Select]
[ Float ] -----------|
                     } [Vector 2]
[ Float ] ->[Random]-|
I named the variable "PositonY"

Then in the Pattern Size I called the Variable to use it as the size:
Code: [Select]
[Get Float]-->{[Vector 2]
That caused my pattern to vanish.  Since there isn't any kind of output log, I can't tell what value it is getting, but I assume null which would set it to zero.

If I do this:
Code: [Select]
             |->[Add]->{[Vector 2]
[Get Float]--
By adding 1 to it, the pattern appears to draw at actual size.  I changed the Add to Multiply the pattern vanishes (which would make sense as anything times zero would be zero).

So how am I supposed to pass a variable from the position to use in the size?  Is there a way to output debug log so I know what values it is generating? 

I'm using SD in an older iPhone game to generate Diffuse and Normal maps for some new environments.  Our goal is to keep the filesize under 100 MB, so generating on launch and caching is vital.

The Diffuse maps don't match between SD and Unity.  The texture is for a tree and branches to create some very low poly redwood trees.  In Unity, it's rendering the tree branches with just all this white color that should not be there. 

I can attach the substance file if needed.


Substance Designer:

I'm probably butchering my words.

I have a mesh that is very square in shape, and it's UVs are square (think like a 3D terrain)

Can I grab the X, Y and Z values (I really only want height) and use that to assign a color value to the UV texture?  I guess it would kind of be like a curvature map, but not baked so I can change out the mesh or adjust the mesh and the texture updates (grass to rock to snow as you go up in elevation).

As the subject says, I can't figure out how to import a mesh into the explorer so I can run a baker to convert the UV to SVG.

I have the mesh in the 3D view via a simple drag and drop, but I can't run any bakers from the 3D view it appears.  In the Explorer view, the mesh does not show up.  The docs say

"To import a mesh, drag&drop your mesh file on the substance package. It will automatically create a folder called "Resources" with the new mesh resource inside.
Double-clicking on the mesh file will open it in the 3D View."

I'm on a mac, macOS 10.11.6 running Substance Designer 6.0.2

Any suggestions on how to get this mesh in so I can bake out the UVs?


I don't know what this is called, but I want to mask out a pattern (like from a tile generator, or splatter) where it only masks out complete shapes not part of a shape.  Here's a super quick mockup in Photoshop:


Somehow I got a node in a non-relative size.  (I think I was going to check a 4k and forgot to switch properly).  It's a very complex graph with a lot of nodes.  How do I find the offending node?  I looked at the "Find" tool (or "Node Finder Tool") there's basically zero documentation on this tool online.  All I can do is tell it to look for a custom parameter $size which I can't seem to define anywhere.  The logs don't actually tell me what's wrong.  I've been panning around looking for any node not drawing at the right size, but I'm not finding it.  What can I do differently?

Substance DesignerSubstance Designer - Showcase - Organic/Alien Growth
 on: February 08, 2017, 08:09:24 pm 
I wanted to share a new material I'm working on.  I wanted to make something organic and gross, after playing a bunch of SOMA and the new Resident Evil.  I didn't want to make just a formless blob, I wanted some symmetry like you find in nature.

Rendered in Substance Painter using some awesome materials from Substance Share and Substance Source.

My ultimate goal is to use this on a Decal in Unity using ProBuilder's ProDecals.  This way I can place these on walls, floors, etc...

Also, I'd love to hear suggestions on how to improve the performance of the substance.  Granted I'm on an older computer, but generating the 2 grunge maps I use and the 2 bevel operations are really time consuming at 2k.  For the Bevel I'm just using it to extend the shape so I can get a larger mask to to draw/hide the webbing.  Is there another node that performs better?  I exposed a ton of parameters for this, that allows you to really configure it.  I'd like to improve the performance before submitting it to Substance Share.  Should I host this locally for people to checkout in the meantime?  I've not posted or shared anything before.

Lastly, is there a way to set a node to have a specific blending setting in Substance Painter?  The Normal and Height really should use a "Normal" blending mode, otherwise you get some of the normal map behind it bleeding through (you can see that in the first render before I realized what it was doing).

I'm trying to determine if this is possible, I'm not sure what to call it, which is making searching for it very difficult.

I have a Tile Random Color Node which is setup to create stripes of random widths using a polygon input.  I want then use the mask section of the node at the bottom to mask out some of the stripes.  I've then duplicated this node several times with different masking and a bunch of blends to stack them ontop of each other.  This allows me to color the different stripes.

If I choose to change the number of stripes, I have to change it in 5 places (based on the number of colors I want).  Is there a way to make all the other Tile Random Color Nodes inherit values from a master Tile Random Color node, but with a few overrides for the mask?  I want to expose the number of rows (the X amount) as a control, but only change it in one place.


I use Substance Painter at times in a non PBR workflow (older legacy iPhone games).  I have a mesh with a pre-existing texture that makes use of some solid colors. I want to use SP to paint on top of this mesh a new modified texture (I rather prefer the SP tools to say Photoshop).  I can't match the color.  @Froyok was kind enough to help me out that the problem was Linear and sRGB.  The color I'm trying to match is #333537.  Converting it to RGB or HSB values doesn't match the color I'm expecting. 

Pages: [1]