我正在为一家艺术公司编写一个全高清2D引擎,希望它是跨平台的,并使用OpenGL和C++编写。我遇到的主要问题是如何处理所有这些高清精灵。艺术家们以24fps的速度绘制了图形,并将其导出为png序列。我已将它们转换为DDS DXT5格式(不理想,因为需要DirectX头文件才能加载),可以大大减小文件大小。游戏中的某些场景可能会同时有5或6个动画精灵,每个精灵可能由200多个帧组成。目前,我正在将精灵加载到指针数组中,但即使使用压缩纹理,这也需要太长时间来加载,并且使用了相当多的内存(完整场景约占用500MB)。
所以我的问题是,您是否有任何关于如何处理如此高数量级帧的想法或技巧?我想到了一些想法:
- 使用swf格式存储Flash中的帧 - 实现2D骨骼动画系统,替换png序列(我担心关节可见)
像Castle Crashers这样的游戏如何快速加载具有出色的高清图形呢?
所以我的问题是,您是否有任何关于如何处理如此高数量级帧的想法或技巧?我想到了一些想法:
- 使用swf格式存储Flash中的帧 - 实现2D骨骼动画系统,替换png序列(我担心关节可见)
像Castle Crashers这样的游戏如何快速加载具有出色的高清图形呢?