Download

Unreal Engine 4 Messing Up UV's on Import

Does anyone know what might be causing UV’s to import wrong into Ue4? The uv’s are distorted and stretched on some parts, they aren’t like this in 3ds max, and I imported into Marmoset, and its fine there too. Heres a picture of some tile to show you what I mean.

3ds Max

9023cd2b966631afb1975fa7f59e304a9df3c19a.jpeg

UE4

fdb0d70d34e2068524435efb515547084735501c.jpeg

Post a picture of your UVs and a wireframe view of your model. My first thought is you might want to make sure your model is triangulated before exporting to UE4.

I just tried triangulating first, no luck there. Heres a shot of the uvs and the wireframe, it seems like a ue4 import issue, because the .fbx looks fine in marmoset and 3ds max upon reimport.

aaaaa.jpg

The only thing that jumps out is your edge loops are not ideal for this type of surface. Try making your loops more vertical and horizontal.

Hey Sargentcrunch -

FrankieV is correct, your edge loops should be hort. and vert. in nature around your missing tiles, but your unwrap also looks distorted (squished) which with you triangulated edge loops could cause the distortion you are seeing in the engine.

Looking at that UV Map template it’s not really well UV mapped and looks like your faces are overlapping each other, spread it out a bit more, That could solve your problem I suppose.

Thanks for posting the shot of your UV editor. I immediately see the issue. You have your UV charts (Groups of UV faces and verts) very far from 0,0-1,1 (The grid area) in the UV editor. Unreal uses low-precision UV coordinates to save memory making anything outside that area look pretty bad. You can quickly fix this 2 ways:

  1. Move your charts back on top of the grid and get them to be as close to 0,0-1,1 as you can. You can move things pretty easily in the UV editor using the Absolute/Relative Transform and using whole numbers to move your charts closer to 0,0-1,1 space. Select your entire group/chart then use the Relative Transform to type in a whole number. In the example below, I’d select my whole chart, turn on Relative transform and type in -9.0 for the U and -8.0 for the V.
    To clarify, in UV space, if your vertex is at 14.5,12.45, it’s visually the same as 0.5,0.45 as the texture generally repeats, so moving it -9,-8 should make no visual difference, but be better in UE4.
    When you reimport, your issue should be fixed.

2)If you don’t care about memory use and overhead or don’t want to go back and fix things, you can open the static mesh in UE4 Editor and look for Use Full Precision UVs and enable the checkbox.

Good luck.
–Tom

Awesome post Tom, cheers for that!

But looking at the model itself, you can see the verxtex’s and edge lines are not model’d very neatly which will give you some problems when you import it into game engine.

Hey Tom that fixed it, thank you. Its weird, other engines never had trouble with that (tiling textures and uvs being far away). As for the comments about the model not being neat, game engines can handle edges that aren’t perfectly horizontal or vertical (games triangulate models which are angled edges)

Great :smiley:
The low-precision UV system the Unreal ues has been in effect at least since Ue3, presumably to deal with the previous gen consoles severe memory limitation. It really only saves a few Kb per mesh, but multiplied by a couple hundred meshes is a lot of data. I’ve also never had that issue with other game engines, so I’d just assume that they generally use full precision floating point UV coordinates. Unreal has a few of these “hacks” lingering around to maximize game performance at the cost of additional production time, flexability or simply requiring the artist to be more careful.

Oh ok, yeah that makes sense, I am definitely going back to fix the uvs and try to do it without the full precision uvs, to save memory anyways. Can’t get lazy when it comes to game performance haha. Thanks for the help Tom, always good to learn new things.

hi i saw i another thread that there is some issues with the uv (maps 6 light) when exporting from 3d studio max, exporting from maya will let you work without problems.

I don’t have any issues with lightmap uvs though (I think that is what you mean). I also don’t have access to Maya so I can’t use it anyway.

I would hope your lightmap coords were all within 0,0-1,1 to begin with.

daimaku>Could you link to that thread? I’m not a Maya user but I have access to it and would be interested to see what the differences are.

I use both Max and Maya and have never had any issues with either, Max has always been pretty good to me, aside from it’s UVing tools being a bit pants.

here is the link to the exact post

and here is the complete thread

My 3ds exports the second uv channel just fine. And @Tom, yeah they are in the 0-1 square

Hello, I’ll post my question here, as it is under the same topic.
I have a problem with import of fbx/obj in UE4.13.
For some reason the UV-map is lost during import.
When importing the same exact file to UE.4.12 on another computer the UV is all good.

I have tried importing different objects, ant the result is all the same.
I model and UV-map in Rhino.

For now the fix is to take the files through UE4.12 and exporting them again before importing til UE4.13.

Does anyone ave any idea of what c