Large Objects = Large Textures

Okay so I have started to build my map with large pieces instead of smaller pieces due to the tile effect, what I have now noticed are the textures are huge and stretched now that I have made larger objects. Here is an example:

If you look at the image you will notice towards the arch the texture becomes very stretched but doesn’t happen anywhere else for some reason. Although the rest of the wall has massive textures it doesn’t have that stretch that you see next to the arch on both sides.

Here is the model and wire frame:

I am aware the UV is quite messed up although because it’s such a large object I don’t know how to unwrap large objects.

Any ideas what I can do?

Thanks :slight_smile:

A fast and simple fix would be to use a TextureCoordinate node into the material and tile the texture untill you get the resault you need, but this works only with tileable texture.

Hi Nickmadd,

Bio90 is right that you’ll need to use a TextureCoordinate node in your material. Although, I do want to point out that some of the stretching seen above and to the sides of your arch will still be an issue. I’ve attached a screen shot of the part in question that will cause the issue.

Stretching UVs.PNG

The main cause of this will more than likely be related to your object having Ngons (any polygon that has more than four sides). This can also cause issues with your assets in gameplay as well. Nearly all, if not all, game engines do not like any asset that is not a 4 sided polygon. If you look at the UV in the mesh viewer/editor you’ll probably see that UE4 has triangulated this part of the mesh for you and is what is causing the stretching.

If you have any questions about it I’m certainly more than happy to help!

Thank you!

Tim

Hello Tim,

How does the engine handle triangles or does it prefer quads overall I know quads are better for animation but is their a performance hit for either type of polygon?

Hi BladeandChalice,

The engine will triangulate any mesh that is brought in. It’s able to calculate it much more precisely if you have quads because they can be split into triangles. Something like above will not not necessarily calculate right.

I’ve attached two images. The first is from 3Ds Max where I’ve not triangulated or quadulated the mesh on the left. The box is used as a reference for a cube that is quads all around.

The second image is from UE4 where the mesh is triangulated on import. You can see why this would not be the best option! It will connect and triangulate on its own. This is not the best way to control your mesh’s UVs as it can cause stretching and UV issues.

If you have any other questions let me know!

Tim

OK what jumps out is you never never ever (did I say never? :D) terminate your edge loops at the corners link in the pic example. This “will” cause streaking problems as you tile as the UV map is not a 1-1 mapping of the object in question. If your going to tile then your edge loops must be vertical and horizontal across the surface plane. Do that and the texture will not stretch at 45 degree angles.

Thanks I’ll have to get rid of those ngons :slight_smile: One question I do have… I have tried using the TextureCoordinate node and noticed when I try to shrink my textures with it no changes are made? I have got it to work with my smaller meshes just not this one. Could be the size of the object?

You could also scale those UV Maps up if you don’t want to use a TextureCoordinate node.

The entire mesh is unwrapped in less than half of that image, so it’s not surprising that the textures are very large on your object. So if you wanted a reference, you could open that particular texture in the UV Editor scene on the right, so it replaces the empty grid. Then, you could scale your UV Maps up bigger until the texture appears the way you want. At least it would look appropriate for that particular texture. In the 3D View on the left, in the properties column on the right side of that window, under Shading check the box for Textured Solid to see the textures on your mesh within Blender.

As already stated the faces around the arch aren’t mapped well, so when applied, I can see why its stretching. Did you Smart UV unwrap those? It looks like it inverted the arch in the UVMap. If it did that, you could always try to switch to an ortho side view. Then unwrap from Project View. You’ll have to adjust the faces that are parallel to the view so they aren’t infinitely stretched, and obviously scale up the UVMap, but this should ensure that the arches are properly mapped.

(I’m assuming you know the shortcut keys for all this)