【发布时间】:2019-01-21 02:57:22
【问题描述】:
我正在制作一个交互式图书应用程序,播放器将卷曲页面并看到每页的 spritesheet 动画。我曾尝试单独加载精灵(300 张图像,大小为 512x512)。但是当我尝试这种方法时,ipad 崩溃并说内存问题。我检查了统一的内存配置文件,应用程序正在将“1.2 GB”加载到内存中。它是如此巨大,所以 ipad 是对的。
所以首先我认为我只需要加载指定的页面数,当播放器翻页时,我可能会加载新资源并销毁以前的页面资源。当我尝试它时,当玩家翻页时,它会冻结几秒钟来加载新的精灵,这对用户体验来说太糟糕了。
我现在正在考虑的第二件事,假设我有 30 帧用于 1 个精灵动画,只需将 30 帧放入纹理中,并且仅使用此纹理进行精灵动画。我的意思是,我需要使用 1 个包含所有帧的精灵图集纹理,而不是使用 30 个不同的图像,并且我可以在运行时更改 rect 以呈现精灵动画。但是不知道怎么才能只用1个纹理来呈现30帧呢?
【问题讨论】:
标签: unity3d memory sprite-sheet atlas