Author Topic: Substance Designer: Creating a texture atlas  (Read 39238 times)

Creating a texture atlas

In this 3-part series, we take a look at creating a texture atlas in Substance Designer. This series covers the following:

1. Measuring geometry using a specific unit to pixel ratio
2. Using the Atlas Maker tool
3. UV layout to match the texture atlas

Software: Substance Designer 5 - 4
Version: 5.0/5.1.1 or 4.6

Prerequisites: Understanding of Substance Designer nodes and workflows.
Suggested series: Getting Started Series

Source files: Attached to this post. *includes Atlas Maker as resource to tutorial substance.

Download Atlas Maker





Last Edit: June 26, 2015, 10:11:30 pm
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

damn cool, can´t wait to put it into practice!

awesome, very useful, thanks so much for sharing!

Thanks very much : ) I hope you find the tool useful.

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

Hi! Wery powerfull tool. Nice! ) But when i put my base color with alpha channel - it was missed in this node. Maby i'm doing something wrong? Sorry for bad engl..
Last Edit: August 10, 2015, 02:14:30 pm

Hi! Wery powerfull tool. Nice! ) But when i put my base color with alpha channel - it was missed in this node. Maby i'm doing something wrong? Sorry for bad engl..

Thanks! I'm glad its been useful. I didn't create it with the alpha in mind. However, I made some modifications to the crop utility. Please check this version and see if it works.

Cheers,

Wes

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


I've been planning out a texture sheet for a game demo and I'll have two pieces that I'll use for walls and floors.  A 256x512 and a 512x512 piece.  I'm trying to figure it out in my head but feel a quick post should help me out more than anything.  I'm looking to stray from seams as much as possible and with these two pieces, should I build a 768x512 texture spot and lay them side to side, or create two separate textures that coincide on separate locations on the Atlas Maker tool?  Or just scrap the 256x512 mesh and stick with 512x512?


I've been planning out a texture sheet for a game demo and I'll have two pieces that I'll use for walls and floors.  A 256x512 and a 512x512 piece.  I'm trying to figure it out in my head but feel a quick post should help me out more than anything.  I'm looking to stray from seams as much as possible and with these two pieces, should I build a 768x512 texture spot and lay them side to side, or create two separate textures that coincide on separate locations on the Atlas Maker tool?  Or just scrap the 256x512 mesh and stick with 512x512?

in my knowledge of modularity, it doesnt really matter where inside of atlas you put them. The only thing that i found you must watch out when working with unity, is that you leave some padding around them, sort of same as doing UV's for lightmaps. because unity uses mipmaps and you will get visible seams if in game you go far enough from model, and mipmaps switch, there will be a seam if you dont leave padding, and fill up that padding with solid color that is close to whatever texture you have there.

for example brick texture, would have small 2-3px brownish padding around it.  I didnt try this in UE4 yet, but i assume its the same deal, since it uses mipmaps too.

so it doesnt matter how textures are positioned inside atlas...

and btw, great tool, will have to test it out first thing when i come from work :)

you can find online more info abbout padding textures in atlases: http://www.polycount.com/forum/showthread.php?t=156067

bottom line is: if ur atlas is 768x512, ur textures cant be 512 and 256px wide. cant be done. padding will take few pixels, so it doesnt matter where you put this textures in atlas and in what order because they should not be next to eachother. Screenshots in first post, where you see everything tightly packed next to eachother will not work in game engines
Last Edit: September 14, 2015, 10:47:53 am

it's funny that i was making an atlas map with substance designer :D now that you did created this thing, my atlas map will look even better! :D

Bug report:

If source material is smaller than intended document set in Atlas Maker. Offset done through Atlas maker will be done incorrectly. Had major headache last night trying to figure out what was wrong.

Bug report:

If source material is smaller than intended document set in Atlas Maker. Offset done through Atlas maker will be done incorrectly. Had major headache last night trying to figure out what was wrong.

Hi,

I'm sorry for this issue. Thanks for reporting it.

Cheers,

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

Bug report:

If source material is smaller than intended document set in Atlas Maker. Offset done through Atlas maker will be done incorrectly. Had major headache last night trying to figure out what was wrong.



Hi,

I'm sorry for this issue. Thanks for reporting it.

Cheers,

Wes

Has there been a new version updated somewhere with this fix?  I just realized this was happening now as well after I have spent days on the sheet.


Edit:  I think its the tiling amount as well.

Example:  Put a 1024 into a 4096.  Material Size set to X4 to allow same size in 4096 Texture Atlas.  Xand Y set to 1024 starting from the upper right corner.  The size ends up being 1014 (measured in photoshop from output export).
Last Edit: October 10, 2015, 02:58:51 am


Has there been a new version updated somewhere with this fix?  I just realized this was happening now as well after I have spent days on the sheet.

Edit:  I think its the tiling amount as well.

Example:  Put a 1024 into a 4096.  Material Size set to X4 to allow same size in 4096 Texture Atlas.  Xand Y set to 1024 starting from the upper right corner.  The size ends up being 1014 (measured in photoshop from output export).

Hi,

I'm sorry for this issue. I've haven't been able to fix it yet. I'm not exactly sure what is happening. Can you please explain in more detail the steps that are producing the issue?

Cheers,

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

Hi Wes, thanks for this great tool! I was wondering if there was a way to directly copy a small material into a particular location of a larger material, as opposed to tiling it and then mask blending it into the larger one. The reason being that when tiling the material with the material transform node, due to the way the pixels are interpolated each tile ends up not being symmetrical (only the whole set of tiles is symmetrical) and this is causing me issues with fine detail at the edges - I'm doing bevelled scifi plates.

EDIT: It isn't a downsampling problem, I'm getting a possible bug with the mask size/offset (maybe the same as people posted about above), it isn't correct according to a grid pattern I made in gimp to compare it with. I'm trying to debug the mask size/offset functions but it is very difficult when you cannot see the result at each step. Would be great to be able to read the output from each node in a function.

EDIT2: There seems to be a bug in the cropping node inside the AtlasMaker .sbs file. The mask seems to be bigger than it should be. When the mask X and Y are set to 1 (smallest) there is still a small mask showing, and that error is added to whatever size the mask is set to. Not really sure what to do from here since I've never tried to edit a node before. I might just make my own cropping thing with the shape node.
Last Edit: November 18, 2015, 08:18:15 pm

I haven't messed with the Atlas Maker a whole lot since it's been placed on the Share site but the one issue I've been having with trying to line up the UVs with the texture sheet I created.  I save an image file that I can use in 3ds Max and apply a quick material to work on and when I have the UVs placed "correctly, I copy and paste the mesh to see how it looks and it's always a little bit off. 

I would like to mention that I try to get my edges right in between the two textures, thinking that's how it should be.  But reading through this post, my thinking now is that those edges should be slightly within say the brick, paint, wallpaper, etc. texture.  I also overthink things as well.  Ha ha! 

Found this video....https://www.youtube.com/watch?v=wUKg6QDtDC0

Don't know why I didn't think that a snap mode wouldn't exist in Unwrap mode.  Ha ha!
Last Edit: January 09, 2016, 10:17:28 pm