Author Topic: Getting substances to tile for modular environment assets.  (Read 9082 times)

OK so heres an interesting problem. im building an environment and i really need the textures to be seamless at they run left to right (top to bottom not so much. the problem i have however is that i have the UVs packed in pretty tight, so while the diferent parts have unique materials the UVs themselves are on the same sheet. is there any way to get a specific area to tile?  the UV map here is basically the sort of thing i need to tile. could i say create a mask and tell the masked area to tile or anything even vaguely like that?

Hi @blake_guyan ,
You are not the first one who wants to tackle this issue  :)

I would say that creating your texture is you easiest problem : creating the UVs and/or the shader will be more complex, as the shader has to understand how to tile only in this zone.

One of the way to do would be to create your tiled texture and to use a 2d transform (where you disable the tiling) and to make it fit to your UVs. Then repeat the problem...

That said, the texture will be distorded...

If your UVs only have to tile horizontally, I would place them one on top of the other so you can really make the texture tile horizontally.

haha, had a feeling you were going to say that.  yeah, i could just make it so that my uvs are all aligned left-right, its just a bit of a waste of UV space. my other plan would be to scale them down a little and have basically a 2048 map and have my uv positioned right left within each quater of the 0-1 UV space. that way when im done i can go into SD and just use a transform uv then scale it and offset it, so i can be as exact as possible.

You could also use a pixel processor to automate that. i'll post an example..
Product Manager - Allegorithmic

First I generate a UV coords image (just two linear gradients in R and G). it represents coordinates from 0 to 1 in UV space.

Then I apply a secondary UV unwrap to the mesh so that the previous map fits on the surface. Here I just map each face so that it fills the entire UV space: the final texture will tile both horizontally and vertically.

I bake this result to the first UV (here I used 3dsmax, I could have use the transferred map baker from SD). This step could done directly using the "mesh info" shader from vRay (in case you own vray..).

Finally, I create a pixel processor node

If you have multiple input textures, we would have to use an ID map, sample the ID map to sample in the correct input texture plugged to the pixel processor node.

Make sure you use 16bit images along the process (png or tiff). also it'll only work with the substance GPU engine (SSE engine does not support 16bit color images).

Last Edit: May 24, 2015, 02:16:29 pm
Product Manager - Allegorithmic

you sir are a legend. thats spectacular.

i think this might warrant putting on some sort of sticky thread?

Really cool as always  ;)
Victorinox  now includes the pixel processor in its swiss knives ;-)

aye. spent all day in SD making use of this.

very cool node nicolas!

Hey guys quick question - wasn't it possible to drag and drop directly into the graph from win explorer before?  I can't seem to do this now.

Hey arvinmoses,

it's better to link or import images. Drag and drop doesn't work.

Best regards
Environment Artist - Twitter

Drag&drop from explorer to the graph looks to work for me, at least with bitmap, sbs and sbsar.

What kind of resource are drag&dropping ?
Also what OS are you running ?
Product Manager - Allegorithmic

Nice one this....  Just what I need. Will try it out. Soon. And for real guys. This kind of stuff would make you guy emperor instead of kings of textures.  Madness

  Made this one a favorite. Thanks.
---------------------------------------------------------------------------------------------------------------------------------------------------------------- with yoghurt and lots of fresh fruits.

Nice one Nickolas, if only i could understand how to use this lol ??? :-[

Any chance of an explanation how to use this? please!

What do you mean ?
In what situations you would use it or how to actually make it in SD ?
Product Manager - Allegorithmic

@gelbuilding you can use it to place a template texture wherever you want on  one or more UVs (ex: a logo)

If you update the template logo, al the other textures will be updated.