当我应该使用多个 2048x2048 精灵 sheet 而不是一个 4096x4096 精灵 sheet
When I should use multiple 2048x2048 sprite sheets rather then a single 4096x4096 sprite sheet
我正在开发一款将 2D sprite-sheets 用于 NPC 动画的游戏。我很难决定使用哪一个:1 个大的 4096x4096 sprite-sheet 或每个字符的多个 2048x2048。
如果我使用 sprite sheet 大小 2048 选项,我将不得不几乎每秒为不同的动画状态来回切换 sprite-sheets(这是针对每个 NPC 角色屏幕)。考虑到屏幕上通常会有不止一种类型的 NPC 渲染,这听起来需要很多处理能力。
还有移动设备的纵横比。我计划为移动设备和 PC 发布。在线研究显示 2048x2048 是安全点,但今年是 2020 年,手持设备比以往任何时候都更强大。在现代设备上,我们真的仍然受限于 2048x2048 吗?
那么哪个在 PC 上表现更好,移动设备是否有选择,例如使用 OpenGL 图形库加载和渲染大位图?如果不是,我将不得不降低移动版本的精灵分辨率?
提前致谢。
这取决于你想要什么,在 2020 年我们仍然存在纹理大小的问题,但现在更多的是关于内存节省和压缩纹理,而不是关于 4096 纹理大小的硬件能力。
硬件能力
关于硬件,android 上的大多数 OpenGL ES 2.0 设备对 2048x2048 纹理都有限制,您可以查看那里的设备数量 -https://developer.android.com/about/dashboards/index .html.
对于 iOS 最后一个不支持 4096x4096 纹理的设备 -
iPhone 3GS
iPhone 4
iPad
iOS 设施的较新设备支持 4096x4096 纹理。
内存和压缩
4096 和 2048 纹理之间的差异四倍,对于所有手机游戏来说,这超过了他们需要的不是非常详细的模型。和地图集这真的有必要吗?因为你需要记住这个巨型纹理对当前场景有用的部分。
例如,PVR 压缩器只支持最大 2048 的纹理,而不是 4096。这是移动设备上最常用的纹理压缩类型。
我正在开发一款将 2D sprite-sheets 用于 NPC 动画的游戏。我很难决定使用哪一个:1 个大的 4096x4096 sprite-sheet 或每个字符的多个 2048x2048。
如果我使用 sprite sheet 大小 2048 选项,我将不得不几乎每秒为不同的动画状态来回切换 sprite-sheets(这是针对每个 NPC 角色屏幕)。考虑到屏幕上通常会有不止一种类型的 NPC 渲染,这听起来需要很多处理能力。
还有移动设备的纵横比。我计划为移动设备和 PC 发布。在线研究显示 2048x2048 是安全点,但今年是 2020 年,手持设备比以往任何时候都更强大。在现代设备上,我们真的仍然受限于 2048x2048 吗?
那么哪个在 PC 上表现更好,移动设备是否有选择,例如使用 OpenGL 图形库加载和渲染大位图?如果不是,我将不得不降低移动版本的精灵分辨率?
提前致谢。
这取决于你想要什么,在 2020 年我们仍然存在纹理大小的问题,但现在更多的是关于内存节省和压缩纹理,而不是关于 4096 纹理大小的硬件能力。
硬件能力
关于硬件,android 上的大多数 OpenGL ES 2.0 设备对 2048x2048 纹理都有限制,您可以查看那里的设备数量 -https://developer.android.com/about/dashboards/index .html.
对于 iOS 最后一个不支持 4096x4096 纹理的设备 -
iPhone 3GS
iPhone 4
iPad
iOS 设施的较新设备支持 4096x4096 纹理。
内存和压缩
4096 和 2048 纹理之间的差异四倍,对于所有手机游戏来说,这超过了他们需要的不是非常详细的模型。和地图集这真的有必要吗?因为你需要记住这个巨型纹理对当前场景有用的部分。
例如,PVR 压缩器只支持最大 2048 的纹理,而不是 4096。这是移动设备上最常用的纹理压缩类型。