When I hit “Play” in the editor, how close is it to when it’s compiled or “built”? I’ve spent the day working on a simple interior scene and my textures all look really good in my modeling program, but when I fire it up in Unity, they look pretty bad. There is no definition to the textures at all - most of them are pretty fuzzy. Others are really pixalated. I made my texture map fairly large (4096x4096) but it still looks like they are 512x512 or lower. Will they look different when I “build” it? I know I can just make a build and see but I was working on my laptop which isn’t the best system for that.
AFAIK it should be pretty close.
You should as you say, build it and see if you notice any difference. The built version should use less resources then the editor, so I don’t see why your being on a laptop would prevent the experiment.
It crashes sometime when I try to build… poorly maintained laptop with lots of glitches. I’m in the process of transferring it over to my desktop. Hopefully it will look better otherwise, I’m at a loss…
Cool.
Another thing to check
Edit->Project Settings → Quality
On my ‘beasty’ machine everything is default on good, not Beautiful or Fantastic, so best bet is that these are defaults irrespective of hardware. You can also tweak settings for each setting ![]()
This might be due to your texture import settings. By default it imports then at 1024x1024.
Well, I’m thinking it’s a problem with the way I textured it. I’m converting procedural shaders in Carrara to a texture map so I think they’re not keeping the quality I’m seeing. I’m going to replace them with seamless photo-textures I have.
I’ll check on that. Maybe I should split them up rather than putting them all on one texture map.
I’ll help you! you need to go to the settings in each image! Click on your textures in your project, and check out the properties. I usually go through all the textures, I go one by one and increase “Aniso Level” from 1 to 9; for “Filter Mode” I choose Trilinear; make sure “Max Size” is equal or bigger than the size of your texture; then in “Format” I choose TrueColor instead of Compressed, that’ll increase quality!
That will make your textures crispier, but even if you do that you’ll need even more definition, especially with textures as big as 4096x4096!
So for every mesh in your scene, you must run a script that changes the MipMapBias, to do this you need 1 single line of code, which is:
I use -2.0 even though it says in the documentation that a value less than -0.5 would reduce performance, but I’ve found that -2.0 makes big textures even crispier than -0,5, and I haven’t found any noticeable slowdowns! (A bigger value will blur your textures, you can have values bigger than 0, but you’re better off with negative values, the less the better, but it might reduce performance).
For the textures, and for each mesh, there’s no easy way to automate any of this, you have to do it one by one; I think you can do it using an editor script, but I haven’t found documentation that helps you do that. For the objects, you can make a single script that access all the game objects you want to be crisp, and changes the mipMapBias from there, that way might be easier to overview which objects are you affecting.
Thanks! That was very informative. I’ll try that. I also discovered that when Unity offers to fix something for me (i.e. normal maps) don’t let it. Fixing my normal maps myself gives me much better results.
That’s only useful for textures that are viewed at an oblique angle. If they’re not, then there’s no reason to do this.
It will also make them a little slower, and massively increase your file size and texture memory usage. Don’t do this unless compressed is really unacceptable quality (like for bitmap 2D graphics–and in that case use 16 bits if you can; true color should be a last resort).
It also increases aliasing artifacts (see here–notice how it looks absolutely horrible in motion if you set the mipmap bias to -2). I wouldn’t do this as a standard thing, but only when it makes sense, and of course it also depends on the texture; low-contrast textures aren’t affected as much.
–Eric
I have been playing around more with the settings and like the results I’m seeing. Guess I shouldn’t count on outside programs to create good results automatically in Unity. No big deal. That means I’ll just spend less time futzing around with them in my modeling program and more in Unity.