Unity 制作翻书电子书,外部异步加载千张图片
Hello!这是我的第一篇文章,希望在你阅读这篇文章之后对你能有帮助。
之前我做过两次电子书的程序,用的都是网上随便一搜就能找到的插件,很方便,参数调节都是现成的,图片拖到编辑器中基本就拿来就能用。
But这次我就抓瞎了,因为这次需要加载的图片大概有一万多张,共计十六卷,试想,这么多图片就算压缩到很小,拖到编辑器里,让程序跑起来,内存也就爆了(因为我很天真,所以我试过不行,而且书页不能压缩太小,不然字就看不清楚了)。
所以我就想了第一个方案,干脆把书本内容做成TXT文本,图片太多,内存会爆,人家用文本加载,加载时间也会极短,后期不管是文本内容替换,以及后期程序维护都是十分的方便啊!所以我就开始我的大业(相信我们用过这个unity电子书插件大家都知道,这个书页必须要用Image Or RawImage,所以我们要用文本导入,需要通过计算生成PNG文字图片,还可以自己加背景图进行合成,其实更符合我们灵活方便的功能,其实这两个功能我已经实现。But难点在于我们需要用程序对我们获取的文本进行断章断点,进行书页生成,我已经根据生成的书页首位空格文字内容的字节和计算进行断章,但是后来发现每行字节不同,可能多一个字或者少一个字,且一次性生成几十张还阔以,成百上千张就会有严重的卡顿,自己没有好的方法解决,就放弃了)生成图片如下,左侧是Text,右侧是生成的图片:
困难总是要解决的,所以有了第二个的方案,方法其实不好,但是解决了目前的问题,所以有时间还是需要把上面的方案好好研究一下。外部一次性加载六七百张图片,我加载的每张图片分辨率是716*1122,*JPG格式,单张160-180KB,效果出来如下,第一卷加载了670张图片,用时如下。
图片加载到我们书本预制体的列表中
效果视频如下!
bandicam 2020-05-26 15-28-01-648
下载源工程的连接,附带音效,有需要的欢迎大家来下载啦!
https://download.csdn.net/download/qq_39851527/12462036