我这边独立开发了个项目,由于美术资源是打包好了的,非ab包。是自定义格式PAK。
我在unity中之前是放在 StreamingAssets 里,使用using (FileStream fs = new FileStream(filePath, FileMode.Open)) 打开并调用的。
但由于工程准备到安卓环境测试,现在想请问老师,怎么加载 StreamingAssets的资源,我目前用的方法是:
UnityWebRequest www = UnityWebRequest.Get(path);
yield return www.SendWebRequest();
byte[] results = www.downloadHandler.data;
但遇到个问题,这种资源加载是异步加载,而我的序列帧播放需要同步阻塞等待资源加载完成后替换当前图像的,而且每张图片使用Get就需要请求一个300MB的数据包,而如果把文件down下来,用缓存保存MemoryStream就会导致内存使用过大,之前用FileStream读取就比较顺畅。
请问老师有没有unity加载StreamingAssets较好的方案?或者是将这些PAK文件放到其他位置处理例如Resources?
处理这个问题已有两天,百度Google找了不少,还是没有头绪。恳请Trigger老师赐教。谢谢!
同学你好,文件格式能不能解压出来素材,如果解压出来素材就很好处理,按平时我们学习的方法来。资源还是建议打AB。不过不管什么方式如果很大是不能放streamingAssets里的,之前也反馈过了,这个文件只放一些简单的一两张小图,一点配置文本类型的文件就可以了。文件最好放在resources里去读。因为没有做过pak打包的问题,所以没有办法提供一些非常好的思路。资源管理可以找一下ocean老师问问看,可以把问题发布在资源管理那个课程下,那个课程也比较好,同学可以去学习一下,可能会有启发。