I sometimes encounter an issue with deformed textures and losing details in some regions of my models, like normals or edge highlights, after importing my assets to Unreal.
The reason being is that Unreal rounds up UV coordinate numbers, unless full precision UVs are enabled for static mesh:
By default static meshes use half precision (16 bit) UVs in order to save memory. Enabling this option forces the mesh to use full precision (32 bit) UVs. This might be needed for certain cases when seeing artifacts with texture mapping the mesh.
Here are some examples. Left is default, right is "full precision UVs" toggled:
![Image: https://us.v-cdn.net/5021068/uploads/editor/xz/bdemrkvd9g52.png](https://us.v-cdn.net/5021068/uploads/editor/xz/bdemrkvd9g52.png)
![Image: https://us.v-cdn.net/5021068/uploads/editor/ap/xqrwjup4m215.png](https://us.v-cdn.net/5021068/uploads/editor/ap/xqrwjup4m215.png)
![Image: https://us.v-cdn.net/5021068/uploads/editor/yu/qgbiymlib57a.png](https://us.v-cdn.net/5021068/uploads/editor/yu/qgbiymlib57a.png)
"Use full precision UVs" toggle option mitigates any distortions, as you can see. However, even though I don't think it would matter too much, it is worse for optimization as a matter of fact.
So, I was thinking, if I somehow could tell Maya to use 16 bit UV coordinates instead of 32, that would solve this issue for good. At least in theory.
Is there a way to do that? Some deep buried setting in Maya, perhaps?
Replies
However, what I can't figure out is whether it is possible to make Maya automatically snap all the UVs to pixels? All I see is snapping each UV individually.
If I select all the UVs I want to snap to pixels, then select Lattice tool, enable pixel snapping, set falloff to 0, and then just move the center circle in the lattice, all the UVs will snap to pixels on the texture:
This should stop any issues with converting 32 bit UVs into 16 bit UVs in the game engine.
Telling Maya you have a very big texture (32k should be fine) will help you get very small faces working.
Where it may fall down is if you have rectangular textures and/or long thin faces.
Ok, update on the issue.
Pixel snap doesn’t seem to solve it. Even though, in theory, it should.
Left - my original textures bake. Middle - UVs were pixel snapped to pixel corners on 8k texture (tried with 4k with the same result), textures re-baked. Right - full precision UVs.
An extra loop might help
Besides, if it was problem with geometry, I would see the same warping regardless of whether I toggle full precision UVs or not, or even in Marmoset.