Author Topic: Substance Designer Baking Options  (Read 10763 times)

Substance Designer Baking Options

 This image described the baking options for the normal baker. It showcases how the ray projection works.

Software: Substance Designer
Version: 5.1

Prerequisites: Understanding of Substance Designer

Source files:
*attached to thread


Last Edit: June 16, 2015, 06:56:38 pm
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Thanks Wes!

I understand everything, except for the BBox Relative - any chance for a bit of art (diagram) to explain how this is working in practice?

Also, would love to hear your workflow on finding the golden spot of the Frontal and Rear distance settings.  Just baking-checking results-tweaking-repeat?   Is there a feature/baked map that shows missing rays like in 3Ds Max to make this process easier?

Thanks Wes!

I understand everything, except for the BBox Relative - any chance for a bit of art (diagram) to explain how this is working in practice?

Also, would love to hear your workflow on finding the golden spot of the Frontal and Rear distance settings.  Just baking-checking results-tweaking-repeat?   Is there a feature/baked map that shows missing rays like in 3Ds Max to make this process easier?

You're welcome : )

The BBox Relative is just for the scale of the distance. If its checked, distances are in 0,1 range. They are normalized and expressed as a percentage of the Bounding box size.  1 = diagonal of bounding box.

If you don't check it, the distances are not normalized and correspond to "real" units. The distance then becomes dependent on the object scale/unit. In this case, you would have to create a box in Maya and use this box size to know which value you'd have to put in SD. 

We don't have a feature that shows missed rays or helps to calculate the distances. It does come down to trial and error, but you can take a look at the differences in the high and low res meshes in your 3D program to help you have an idea of the settings. A larger gap between the meshes will need a higher value. If you using BBox Relative (0-1), then you think of it as a percentage.

Cheers,

Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Great - this is what I was waiting for ;) Thanks a lot, Wes!

Now, have a look at the attachment, pls - so it says 'Rays are shot from the cage' - so that means, Rays are going from the cage 'inwards', so the lowpoly and highpoly have to be smaller than the cage - but the lowpoly must also be smaller, than the highpoly, right?

Do the (purple) rays indicate the direction, from which they are going / origin-point?
So they do not start from the lowpoly towards the 'max frontal distance', but other way around?
Averaged normals should be checked, when not going for hardsurface?

Can you do some similar image for the AO bakers, please?! ;)
Like what the smooth, cosine linear, ... options are good for?


Cheers
Last Edit: June 16, 2015, 04:28:55 pm

Great - this is what I was waiting for ;) Thanks a lot, Wes!

Now, have a look at the attachment, pls - so it says 'Rays are shot from the cage' - so that means, Rays are going from the cage 'inwards', so the lowpoly and highpoly have to be smaller than the cage - but the lowpoly must also be smaller, than the highpoly, right?

Do the (purple) rays indicate the direction, from which they are going / origin-point?
So they do not start from the lowpoly towards the 'max frontal distance', but other way around?
Averaged normals should be checked, when not going for hardsurface?

Can you do some similar image for the AO bakers, please?! ;)
Like what the smooth, cosine linear, ... options are good for?


Cheers

Hi Elowan,

You're most welcome : ) I'm glad this is helpful.

The purple lines are the rays and they are shot from the envelope that is created with the frontal and rear distance or the cage mesh if it is used instead. They show the ray direction, which is the opposite direction of the averaged normal.

I added a new image that shows how averaged normals effects the calculation. If your mesh has hard edges, and average mesh normals is OFF, then the mesh normals are used. If the mesh normals are hard, then you will get a discontinous virtual envelope which will result in gaps or holes in the calculation. So even for hardsurfaces meshes, you don't want this.

Cheers,

Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Thanks for explaining this - now, there is one last bit which I am not sure about:

must the lowpoly be smaller than the highpoly to work out right in SD bakers?

Hey elowan,

because the rays are shot from the cage and not from the low/high poly it shouldn't matter if the low poly is smaller or bigger. Ideally it is the same size, anyway.


Best regards
Environment Artist - Twitter

Hey elowan,

because the rays are shot from the cage and not from the low/high poly it shouldn't matter if the low poly is smaller or bigger. Ideally it is the same size, anyway.


Best regards

...but I get the feeling, it matters

It does not:
  • If you use a cage the hi-poly mesh should be contained entirely within the cage. That's the only constraint, if the hi-poly mesh and the low poly are reasonably similarly shaped.
  • If you don't use a cage, the distance between the high-poly mesh and the low poly should be within the boundaries defined by the "Max Frontal" (max distance outside the low poly) and "Max Rear" (max distance inside the low poly) parameters.
Last Edit: June 17, 2015, 12:02:27 pm

I added a new image that shows how averaged normals effects the calculation. If your mesh has hard edges, and average mesh normals is OFF, then the mesh normals are used. If the mesh normals are hard, then you will get a discontinous virtual envelope which will result in gaps or holes in the calculation. So even for hardsurfaces meshes, you don't want this.
OK, now I'm a bit confused.  I've read every post and topic on Polycount about normal maps, the terms just confuse me every single time  :o

If I set up hard edges on my mesh, but they are being split in the UVs, and an adequate padding is given between UV shells, then I should have averaged normal setting off, and I'll get a clean bake correct?
I'm asking because from what I've read it's always a good idea to have hard edges on UV splits to lower the gradients of the normals, and it doesn't cost anything extra on the number of vertices because when you UV split you already double the vert count on that specific edge split.

What if I have hard edges with UV splits and averaged normals on, will I get the same result?  Should I even do that if I set up my edges / UV splits correctly?

ja - this is, what I mean  ;D

Quote
If I set up hard edges on my mesh, but they are being split in the UVs, and an adequate padding is given between UV shells, then I should have averaged normal setting off, and I'll get a clean bake correct?
No, you should set the averaged normal parameter to on regardless for the reason explained by Wes above. It averages the normals only for determining the direction of the projection, not for computing the actual resulting normals once the corresponding point on the high poly mesh has been found.

So, to be 100% explicit : yes you should have normal splits / hard edges on uv splits, and no, even in that case you should set the "average normals" option to "on" when baking without a cage.
Last Edit: June 17, 2015, 03:53:51 pm

... so only reason for uncheck this option will be cage-baking?

Cheers!

When using cage baking, the "average normals" has no effect whatsoever.

There may exist marginal cases when people may want to bake without a cage and without averaging the normals, but it's very likely you will never need to do this.

When using cage baking, the "average normals" has no effect whatsoever.
OK, that explains why I didn't notice any difference with avg normals on/off.  Thank you Cyrille :]