So I've been working with iOS and Android for a while and we're still trying to have everything optimized and working fine.
The first problem we want to solve is about images quality / file size (we're working with 2D).
We learned that the "Compressed" option when working specially with iOS is a bad option. All images get a very bad quality for 2D graphics. It works fine if it's a texture with a lot of noise or something, but with gradients and plain cartoon style images it makes the final image looks pretty bad.
So we learned that we could just use Truecolor, then the images would look great, sharp, perfect. But consumes a lot of memory and space. We decided to get our 960x640 images divide it by 2 getting 480x360 images. They look great on iPhone, but they're not HD, and won't look great on iPad either (need to confirm) but that was the best option so far: half sized images, using truecolor.
The last option would be to use the 16 bits option with full size images, and we're still testing it. So far they look great if you don't use gradients and the size displayed in the image preview is way better than the truecolor option.
By the way, I'm guessing that size displayed in the preview is the memory usage, am I right?
Anyway, my question is: how can I design images to work with this 16 bits option? Not just to save physical app space but also to make sure they'll look fine when set to 16 bits inside Unity. Photoshop has a 16 bits mode options, but I don't think it's the same 16 bits we're talking about inside Unity, because in Photoshop even the 8 bits options create smoother gradients than when selection 16 bits images in Unity. Btw, we use Illustrator to design most of our graphics (if that matters in this case).
asked Mar 15, 2012 at 04:04 AM
Not sure if you've tried it, but click on your image in the Asset pane, then make sure it is not imported as a Texture, but as GUI. This can remarkably improve the image quality.
answered Mar 15, 2012 at 05:24 AM
Unity seems to have a problem dealing with images that are 16 bits, because the option "max size" has a smallest option of "32bits". So I would assume it's best to stick to at least 32 bit files (32 x 32 pixels in photoshop). This way you know where your pixels are going. Otherwise, unity may crunch some pixels, depending on how you're viewing the game. That's my experience, at least.
But to directly answer your question:
Texture type: Texture Alpha from grayscale: unchecked alpha is transparency: checked (unless your 32 x32 file is covered in color!) Wramp mode: Clamp Filter Mode: Point (this will keep your hard edges and will solve your problem)
then the default options below that:
max size: 32 bits. if your file exceeds that in any direction, then accomodate to the larger numbers. Format: 16 bits.
That should keep all of your hard edges. By remember, especially if they're animated sprites, messing with 16 x 16 frames may cause some unwanted looking movement.