Texture detail being lost?

Hello.

Working in Unity iPhone (although it happens in the standard edition of Unity also) we seem to be losing a huge amount of definition on our textures, depending upon the viewing angle. If the camera is looking at a polygon straight on, our detail is there, otherwise the texture appears washed out, the detail goes, and it looks terrible.

In Maya with hardware rendering the model with texture applied looks fine.

In Unity.

Any ideas?

E.

Its most likely related to distance of the camera to the object (-> mipmapping) and that you use texture compression which is the default for all imported textures.

On the pc you can additionally ramp up anisotropic filtering to keep the good quality for angled / further away objects.

As good as in the modeller they will likely never be unless you worked with normal bitmap data there too. If you used procedural texture etc you just had much more texture data in there (ofte 4096x4096 or even larger) than you have after export.

Thank you for the reply. The texture is a 512x512 PSD, it’s not procedural. It’s a simple OBJ, UV mapped, with a normal (we use for bump) and diffuse texture. It’s the same for other meshes we are trying, they are fine in everything but when imported into Unity, they turn ugly.

The difference when turning texture compression off is little to none it seems, at least on our meshes.

In Silo, simple UV bodge and random map applied…

Imported OBJ into Unity, made new shader, apply the same texture…

It does the same with FBX also.

For the Silo issue, your UVs aren’t getting properly exported.

For the texture smearing, like dreamora said, try upping the Aniso Level of the texture. Also see what happens when you triangulate the geometry in Maya before importing it into Unity.

PS- moving to Support since this isn’t specific to Unity iPhone.

Hello.

Silo seems to be exporting the UV’s fine, as the model will load into Maya with UV intact. We’ve tried triangulating manually before export, we get the same error. Exporting via FBX and OBJ give the same error, from Silo, Modo, Maya and ZBrush.

Could it be a shader issue within Unity rather than a geometry/UV issue?

Thanks for the help.

E.

that they transport between different modellers does not needfully mean that the data remain intact.

Modellers support additional, dynamic texture mapping approaches, that don’t work in realtime engines commonly, as they require baked in UV coordinates (for example cube uv projections and alike).
Additionally, Unity only supports up to 2 UV sets per vertex but this shouldn’t be of interest here.

That nothing but the pixel top left appears (thats my guess due to the single color), is near always an issue related to UV data not beeing present ( and thus assumed to be 0,0), I wouldn’t assume that it is based on the material used.

another not unimportant fact is that Unity iPhone is basing on Unity 2.1 while Unity Indie is 2.5.1
Thats important because Unity 2.1 expects FBX 2006.xx and the current Unity version expects 2009.xx

What’s confusing me is that I haven’t changed my method of getting work into Unity, other assets are fine, unless I’m mistaken and have changed something without realising.

I’ll try again through Maya.

Thanks for the help, it’s interesting. :slight_smile:

The iPhone has no anisotropic filtering, so increasing this will have no effect, except in the editor.

–Eric

and how does it affect the editor? my editor isn’t working properly. Is it because of anisotrofic filtering?