I’m very new to creating game assets for unity, but I have a few questions regarding texturing.
What is the normal process for texturing large objects without tiling? Is there a way to create an object that has several textures mapped to it or do you normally break the object up into smaller textures?
For example, I created this floor tile in blender and textured it. The problem is that the floor tile is 20x20x1 units in size. As you can see the texture @ 2048 isn’t large enough to span the entire object and it looks horrible.
How does one match object size in units to texture size? In other words, is there a way to determine the max size in units an object can be for a particular texture size? Is there a formula that uses the view distance or something like that?
Generally speaking, you use shaders and multiple textures to accomplish the look your after. For example, using your example above, here are a few ideas:
Use multiple textures that are blended together based on vertex attributes to accomplish the non-tiled look. (This is a technique I use a lot in MegaSplat, for instance, but isn’t designed as much for man made materials)
Convert the brick edges and symbol into a signed distance field and use it to blend between a concrete and grunge texture, all of which are much lower res than what your currently using. Signed distance fields can be extremely low res, but still look like vector graphics under magnification.
Let the brick tile, but overlay the symbol. The symbol will break up the tiling enough that you don’t notice it much on the bricks, and the bricks can be higher res that way. Layering textures at different scales is an effective way to break up tiling.