2013年10月24日 星期四

NGUI Atlas


  1. why use atlas?
    因為atlas只要一個draw call,但是會造成這張atlas內的圖的z值深度都是一樣的
  2. 不會減少圖的size
  3. 壓縮的部分在Texture的import type改成"Advenced",取消掉MipMap(因為是使用平行視角的camera)所以不需要,而圖片壓縮的Default Type改成AutoCompressed,再到各個版本去修改Default值
    (1)IOS的地方勾起Override,並且壓縮格式改成RGBA Compressed PVRTC 4,而壓縮程度改成Best。
    (2)Android的部分勾起Override,這邊根據圖片是否需要帶有Alpha透空的效果,沒有的話選擇RGB Compressed ETC1,有的話則選擇RGBA Compressed DXT5,主要是因為現行還是有部分爛手機沒有支援DXT5,不然理論上還是都選DXT5。Unity已出了新版的選項,可選擇RGB Compressed ETC2(需要OpenGL ES 3.0以上),可讓圖片帶有Alpha的也可做壓縮。如果真的想連舊型手機都要支援的話,得將原圖RGB及Alpha分成兩張圖並使用RGB Compressed ETC1,再改寫NGUI  UITexture的shader傳這兩張圖進去
  4. 最主要的Atlas還是會造成管理上的問題,因為有些會合併,有些會有兩張以上的Atlas,其實相當麻煩,目前還沒有想到好的方式來去做管理,又可以省到效能的方式。