im动画89帧png序列,通过每512 x 512帧放置两帧来减少一半。但我有重要的图像质量问题(有损)
有没有人知道动画89帧动画的好方法,而不会损失质量或使处理器消失?
一切顺利。答案 0 :(得分:4)
PVRTC肯定会让你的图像看起来有损,但有办法解决这个问题。使用纹理图集可能会有所帮助,因为PVRTC通常会弄乱图像的边缘,并导致透明度问题。 我还会尝试关闭你拥有的任何mipmap过滤器(最近和线性过滤器,但特别是最近的,当与PVRTC结合使用时,可以使它看起来更模糊)并尝试打开线性纹理过滤器,它将混合一切,使损失不那么明显,只是看起来有点模糊。您还可以将图像保存得比绘制它们大(即使用PVRTC压缩512x512图像,但将其绘制为256x256)。 2BPP PVRTC将使纹理占用RGBA 4444的1/8内存,因此即使增加这样的大小(占用4倍的内存)也可以节省2倍。但是,如果您只是使用4BPP,那么如果您需要将图像大小调整一倍,那么您可以使用RGBA 4444。
对于需要更详细的大图,PVRTC通常不是一个好策略。对于图标等,您可以看到显着的节省,特别是因为您可以将它们绘制得更小。
Mipmap是这样制作的(不要这样做):
glGenerateMipmapOES(
GL_TEXTURE_2D
);
你可以打开这样的线性纹理滤镜:
GL_TEXTURE_2D
你肯定不想要这样做:
glTexParameteri(
GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
);
答案 1 :(得分:0)
我正在使用cocos2d做类似的项目。如果每个纹理执行一个图像或者可能尝试使用RGBA 4444格式,您的图像可能看起来更好。
但如果你确实使用cocos2d,那就非常简单了。一旦你下载了cocos2d,就会有非常好的示例代码。