2
\$\begingroup\$

I'm using 1024 textures for smaller buildings and 2048 for larger one's. Basic workflow:

1) Unwrap in Blender

2) Smack a concrete texture on it

3) paint some dirt here and there.

Result:

enter image description here

This only works for small buildings. Here is an example from Battlefield 2, they put a small 128x128 brick texture and tiled it across the entire building and added Dirt on top of that.

enter image description here

Is there a way to do this using Unity or do I have to create my own custom shaders? (God forbid)

\$\endgroup\$
2
\$\begingroup\$

Yes, this can be done with the Unity Standard Shader.

Check the section labelled "Secondary Maps" - here you can specify an additional albedo (surface colouration) and normal (bump) texture to layer with the Main Maps above, at a different tiling frequency and offset. You can even specify a different UV set for these maps to use, if they need to wrap around your model differently than the main texture (eg. to preserve visual continuity at UV seams at a different scale)

Usually this is done at a higher tiling rate, to add detail maps that help hide texture interpolation when the camera gets very close to the surface. But you can also use a fractional tiling amount to add this larger-scale grime to break up surfaces from a distance.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.