2d回合制游戏中的人物动画应该用什么格式?

xychzh 2010-11-18 08:55:47
我测试了一下,dx9创建100个纹理(尺寸320×240),如果格式是BMP或DDS需要300毫秒左右,如果是JPG,则要700毫秒左右,而如果是PNG,则需要高达1800多毫秒。

那对于2D回合制游戏,写实版的,如大话西游2这类。游戏中会用到大量的人物待机、行走、奔跑动画,请问这些图像用什么格式比较好??
我想,如果是考虑到磁盘空间,那就是PNG了,省空间,但其创建纹理消耗的CPU太高了。但如果不用PNG,用DDS的话,那就很占磁盘空间,比如一个128×128的80帧行走动画,其DDS格式就高达4M左右。如果是100个人物,那就是400M……
(你还不能压缩,你一压缩,这种带半透明色的图像就会变得很模糊)。

一般用哪个格式?
或[来源:GameRes.com]者不仅仅这些,还需要自己写解压缩算法?

...全文
324 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xychzh 2010-11-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gamemagic 的回复:]
可能2d的质量下降比较明显,这个我也没办法了
3D经过光照等计算后,根本看不出来哪里有问题
[/Quote]

有道理。
gamemagic 2010-11-20
  • 打赏
  • 举报
回复
按理说DXT5压缩的图片,一般人很难看出颜色有问题。
如果你不打算用DXT的话,可以使用A5G6B5(16位)格式的像素。
不过它好像不支持alpha通道,解决方法是,把alpha分离到另一张单独的纹理,绘制时可以在pixel shader内合并
xychzh 2010-11-19
  • 打赏
  • 举报
回复
现在问题是带有半透明图片若转成dxt1或dxt5就会模糊,
gamemagic 2010-11-19
  • 打赏
  • 举报
回复
可能2d的质量下降比较明显,这个我也没办法了
3D经过光照等计算后,根本看不出来哪里有问题
gamemagic 2010-11-19
  • 打赏
  • 举报
回复
一楼说的很有道理,关键是资源分配调度机制 就像进程CPU时间分配一样。
gamemagic 2010-11-19
  • 打赏
  • 举报
回复
占磁盘空间?为什么不用7Z打包压缩?7Z算法是公开的。
可以预解压在一个CACHE文件内,然后文件映射。
xychzh 2010-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jerris 的回复:]
dds格式是可以压缩的,而且很小,不失真。PNG,TGA用的比较多。都行。

游戏运行时,还可以通过加载压缩,可以占用很少的内存。像DX9就提供了D3DFMT_DXT*来压缩纹理
最重要的是加载调度,何时预先加载,何时销毁,才能保证用最少的内存来工作。
[/Quote]

我把一个半透明的图像,转成dxt1和dxt5格式,结果都变模糊了。而用A8R8G8B8则不会模糊。
jerris 2010-11-19
  • 打赏
  • 举报
回复
dds格式是可以压缩的,而且很小,不失真。PNG,TGA用的比较多。都行。

游戏运行时,还可以通过加载压缩,可以占用很少的内存。像DX9就提供了D3DFMT_DXT*来压缩纹理
最重要的是加载调度,何时预先加载,何时销毁,才能保证用最少的内存来工作。
xychzh 2010-11-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gamemagic 的回复:]
压缩后质量肯定会下降。
要知道DXT不同于PNG,它是有损压缩的
[/Quote]
不是一般的模糊。这个我不好解释了。
gamemagic 2010-11-19
  • 打赏
  • 举报
回复
压缩后质量肯定会下降。
要知道DXT不同于PNG,它是有损压缩的

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧