UVs layout looks different in UE4 and Max

hey guys,
Im having here an issue that is driving me crazy, after importing some wall meshes i noticed that the UV layout is slightly different than what i have setup in Max. Beside of Max i also tried the mesh in Substnace Designer and Painter, all of them are showing correct results beside of UE4 where the UV layout is wrong.

hmm you could try “Use Full Precising UVs” in your mesh asset settings.

I just split the areas where the hard edges are, so its no longer like one big strip which goes above the Standard UV Area in Max… That seems to fix the problem, casue the UV layout looks now how it should in UE4. However this didnt explains why UE4 can’t handle this mesh/UVs, since i like wrote before, the mesh/UVs just looked fine in any other application.

I will also try “Use Full Precising UVs” thanks for the tip…

It is may resulting from having more sides to applie the texture. Maybe you map them wrong in UE4, but Max and other applications does it by itself with a correct UV-Function.

Did u find a workaround till now? Maybe i have a Solution for you. Just PM me and ill send you an Blueprint-code snippet.

The workaround is basicllay not to have super long UV’s that go beside the X and Y area for UV’s in Max or Maya.
If i go to far beside the X and Y borders, the UV’s are no longer matching in UE4. So bascially i had to split super long meshes… “only the UV’s” by applying some extra edges on the mesh.

Did you run into the same problem ? And how have you sloved it with blueprints ?

I misstold myself and meant Material, not blueprint, sorry :frowning:

I work around that with my 6-Axis Texture Mapping based on AbsoluteWorldSpace. Heres my offered Function. This link will expire in 1 Day:

I use it then like this in a Material to create several Material Instances: (Link never expire)

Following Parameters are tweakable in an Material Instance:


For you these Parameters + Function on top should do the thing:
Use 6-Axis-Mapping (ON)
UseLocalSpace (OFF)
Displacement (0.0)
Iteration (2.0)
MaxDistance (5000)
MinDistance (1000)
Tess on-off (0)
Blend Smoothness (1)
OffsetX/Y/Z and Tiling : If it doenst show correctly, tweak these. The offset then do the Magic and moves a Texture on the Mesh itself. May this can correct your UVs if they arent showed correctly from the 6-Axis Mapping itself.

I hided the Group “TriplanarTextures”: Theyre is space for 2 Albedos (Object Top, Object Sides), 2 Normals (Object Top, Object Sides), 2 Heightmaps (Object Top, Object Sides). (I made Object Top seperated cause so i can map for example Snow, always on Top of an Object, even if i rotate it/move it. This method also should fix your UVs.

To clarify: This isnt how Normals should be mapped tri-planar (3-axis)/hex-planar (6-axis). They should be mapped in a Tangent Space tho.

Hope this helps out. May you can make a answer back, i may have an second solution if this one dont work. But this one is also helpful for soooo much other things. And its hard to find such a solution in the internets.

EDIT: With this function you should be able to have longer UVS than X/Y Axes. This maps based on AbsoluteWorldSpace, so if you scale the mesh, the textures doesnt stretch, they mapped on each other beside, and not on the object space itself.

Thank you very much! Thats a huge material setup you have there… I will try it as soon im back on my working desk.

What about the performance impact? Have you noticed something using your material setup ?

Im just worried that the “Triplanar node” will be kinda expensive…

Overall, i think the Performance Impact isnt that hard. I use this to Map my complete Landscape. Or better said, i use this for my Rock-Combinations. :slight_smile: In your fault you also dont need Tesselation overall, and i use it too. :slight_smile:
you should avoid to make small objects with that function. Bigger area to map the texture is better. You will see what i mean. :slight_smile:

I have one question to you: Are you using 4.18, and when you are, does your LandscapeGrassOutput work? Just interested. For me it doesnt work on this version and im curious if this is maybe an Bug or something. ^^

Edit: You probably wont need 6-Axis mapping. Except your Mesh that is textured is seen by the other Side of the object. (then its inverted and u should turn on 6-axis.) (It is really easy with Material Instances! Youll need them also for saving performance, as the Engine dont need to render mooore Materials that are always the same, except texture differences. :slight_smile: )

Can’t wait to test it myself, when im back home, i mean this triplaner material seems to be for sure a good solutions in some cases. Not sure what kind of problem you have with the LandscapeGrassOutput but i work mainly on inerior scenes so i can’t really tell you if there are any issues. I would check the forum, if the issue is a 4.18 issue it will be for sure alreday reported.

Probably the better way would be to get the exact UVs from your Mesh, and design a texture directly specially for the model with the UVlayout.

Anyways, hope you got this working this way too. And not to expensive i hope :slight_smile: