I have a texture compression question. I am using Unity and right now I am using png for my texture format. I went through and used save for web png24 format to lower the file size. Not sure if this is the best way.
When I did a build and looked through the txt files it says my file size was much larger than what it shows in the folder. When I saved it using " save for web" I thought it saves it as its new files size and not as a compression. How do I save a texture as its true file size?
I heard that unity will uncompress the textures anyway during the build so whats the point of compressing textures?
Replies
Therefore, you should always give Unity your uncompressed files and let it do the compression for you. You can choose which kind of compression to use for each platform in the import settings in the Inspector for each texture. If you don't want any compression due to lossyness or a non-power-of-two texture, you can set the format to Truecolor.
As you've already mentioned it wouldn't make any sense, would it?
So forget this. Unity compresses into various types (depending on build target) of video card compatible formats.
Depending on what you put in this file can be bigger then your source file.
This might sound confusing but "texture compression" in unity should be more referred to as "texture conversion". That way it makes more sense
You've got some options with Unity for it's texture compression, which are on the texture itself, as well as some per-platform options.
It is possible to load some simple formats into Unity at run time (JPG and PNG). But even then it's going to convert it in memory to its own format that's compatible with the graphics card.
If you're looking for smaller texture size, try the crunched compression option that Unity has (although the image quality will suffer).
http://wiki.polycount.com/wiki/Texture_formats
Usually my work flow is creating a psd file then doing as save as PNG , then drag the png into unity. Is this a proper way?
Also what do you guys use for unity?
and for making the texture file size down, you guys do that within the texture itself within unity?
thanks again. I just never really had to do this. I usually just created a texture and if the model is small then I would use a small texture size.
I use my PSDs directly in Unity, works great.
The only time I avoid using PSDs directly is when the PSD is really large, and we're using source control to share files among our team (SVN, Perforce, etc.). In that case the programmers don't want the slowdown from having to grab my latest giant PSD files, so I save a TGA format for Unity instead.
But really, if the PSD is gigantic, then usually that means I'm doing something wrong. Like using a huge number of unnecessary layers.
Another reason to use an intermediary though is if I'm using a higher bit depth, 16 or 32 for example instead of the standard 8 (24 bit color is 8 bits per channel), but the engine doesn't support the higher depth. Then I preconvert down to what it needs. But I think Unity supports 16bit? Haven't used 16bit in a while.
Didn't know about the dot trick, I'll keep that in mind in future