Search Unity

Texture quality horrible on Android

Discussion in 'Android' started by Pelajesh, Feb 19, 2015.

  1. Pelajesh

    Pelajesh

    Joined:
    Dec 7, 2009
    Posts:
    363
    I have my textures imported as sprites and they work fine if platform is set to standalone. However, if I set the platform to Android, the textures become horrible. Any idea how to fix this? androidfail.png
     
  2. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    973
    Welcome to the magic of the Android ecosystem. This is the result of downsampling gradients to RGBA16, the only alpha texture format that is common to *all* Android devices. There are ways to prepare the textures not to dither this badly, such as predithering them, but the best solution is to deploy multiple APKs,for different levels of texture compression support, in my opinion. At the very least, I'd make a GLES 3 ETC2 build and a GLES 2 ETC/RGBA16 build.
     
  3. latas

    latas

    Joined:
    Oct 9, 2013
    Posts:
    149
    Select the texture from your project file list. On the inspector properties check in the Android platform for Override preferences. Then change from Compressed to 16 bits or True color. This change will consume more memory for your overall application needs, and the size of the APK will be also increased but usually it hasn't impact in terms of performance in mobile platform.
     
    pramodRamdurg likes this.
  4. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    973
    Changing it to 16 bit will not improve the quality, this is not the result of compression, as alpha textures cannot be compressed to ETC format, it is the result of downsampling to 16 bit RGBA. True colour would fix it of course, but whether it is viable or not entirely depends on what the APK size target is.

    For example on our game true colour is basically a non-option, as it'd push us well over the 50MB base APK limit, so we just minimise the number of devices that end up with the RGBA16/ETC build by having multiple APKs.
     
  5. latas

    latas

    Joined:
    Oct 9, 2013
    Posts:
    149
    I understand, but there is no too many other options for ETC. The only remaining option would be creating alternative APK for other kind of chipsets ( compressions ). Take in mind you can have multiple APK available for download in Play Store, and depending on device it will be sent one or other to the user. It's a work you have to do only on publishing phase. This way has benefits for many users in terms of quality but probably it requires more work on your side to maintain multiple APK.
     
  6. Pelajesh

    Pelajesh

    Joined:
    Dec 7, 2009
    Posts:
    363
    I will probably go with the two apk option, as truecolor would have too big of an impact on the file size
     
  7. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,037
    Dithering and then converting to lower bitrate will fix this.