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).
Answer by Meltdown
Mar 15, 2012 at 05:24 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.
Yes we do that, that helps a lot. Tweeking the aniso level and filter helps too.
Answer by Tekksin
Oct 27, 2013 at 10:52 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.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a user guide.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
For troubleshooting common problems with Unity 5.x Editor (including Win 10).
Answers and Comments
6 People are following this question.
Image appears clear on Iphone and strange on Android devices
iOs weird textures (good on android) the reason? How to fix ?
Transferred game from Android to IOS. Why is the file size so much larger?
Transfered from Android to IOS. Why is the game play jerky now?
iOS vs Android build