- Home /
High Res in Lower file size possibities?
Hi
I just wonder if there is any possibities to lower the file size of a gigapixel image?
I want to achieve something like this > Gigapixel website http://www.gigapixel.com/hdr/hdr-yvr.html
or google map(high res).
It seems like a stupid question, but I'm still trying hard to find a way to reduce file size of it. (12000x12000 pixel)
I need to the super high pixel because I want to let the player to able to zoom extremely close to the texture but still able to see it pixel clear.
I cut the image down into 16 pieces and Set each compression to RGBA Compressed DXT5, Max Size 2048.Therefore it is not only 8192x8192 pixels.
However, no better what setting I adjust in the texture import setting, when i builds the game the size is double as large as 6 jpg files.
I tired uses different types of image formats like psd, tiff, png, but the result are still the same. The only thing that can reduce the file size is by turning off "generate Mip Maps". Howeverm, after it is turn off the image will looks pixelly funky and ugly when camera is in a distance, and ofcourse by reducing the Max size will do too, but it won't able to achieve what I want.
I'm scratching my head and wonder if there is any possibities to achieve lower file size but keep the high resolution, so when camera zoom 200% close to the image will still able to see it pixel clear.
Many many Thanks. Jason
it's hardly simple to do this. what you're talking about is exactly how Google $$anonymous$$aps (for example) works. (except you have the images locally, rather than from the www) I suggest you extensively read about how that sort of zoom-in-and-out tiling system (a la google maps) operates
Answer by Graham-Dunnett · May 13, 2013 at 10:11 AM
PSD, TIff, PNG, JPG are all source input formats. When Unity loads these textures, it will convert them into the format you have selected in the settings for your game. Sounds like you have chosen DXT5. This is a format that the graphics card on the machine you use can support. (Graphics cards do not support PSD, TIFF, etc). The docs say 64 KB for a 256x256 texture, and so your 12000x12000 will use 134M of storage, plus an extra third for mipmap levels.
Hi Grahan
Thank you for your reply. As you suggested, what compression and image format you reckon will be the most suitable? And is there any other way to push the limit even further?
Cheers.
Answer by whydoidoit · May 13, 2013 at 12:29 PM
I would imagine your best bet is to store the image divided into chunks at the very high resolution and then have scaled down versions of them for the other zoom levels. You could keep these all as .JPG files and only load them into graphics memory when you are zoomed in close enough.
To do that you would keep the source images in Streaming Assets or download them to the Application.persistentDataPath and the turn them into real textures when you needed them using a WWW object.
Your answer
Follow this Question
Related Questions
Unity 4096*4096 Texture Compression 1 Answer
Texture compression is broken? 4 Answers
How to turn off default image compression upon import 0 Answers
Recommended Sphere Texture size? 1 Answer