Comments (19)
您好,我是YooAsset的原创作者。YooAsset是开源只有半年的一款资源管理插件,还有很多不足和需要完善的地方,如果您觉得有什么不好的地方或者需要改善的地方可以提issue或者进群大家一起讨论。
-
这个插件有的功能Addressable都有,Addressable有的功能它还没有,比如事件调试器;
YooAsset是提供了Debug调试器的,可以帮助查看是否有资源泄漏的问题,不过还不够完善,后面还要增加载入耗时和内存统计。以及帧数据对比,帧数据导出等等。
事物辩论是双向的,YooAsset有的,Addressable它也没有,例如:UIElements编写的界面,着色器变种收集器,同时支持内置构建管线和可编程构建管线,支持着色器统一收集机制,,原生文件下载和管理,基于资源对象的资源包依赖管理方案(这个是YooAsset独有的),太多了就不一一列举了。 -
API也没有Addressable简单,比如Addressable1个API可以实现它3个API的功能。
YooAsset全局只提供了一个静态类来给开发者使用,基于API是只做一件事情好,还是同时可以做三件事情好,就仁者见仁了。 -
对async和UniTask的支持也不好
澄清一点,YooAsset自身也支持异步编程的,而且还很方便的扩展一下就可以支持UniTask, ETTask。AA是Unity官方的插件库,被UniTask支持我觉得一点也不奇怪。
另外我想官方既然提供了这么好用的资源管理插件,为什么市面上还涌现出那么多开源的资源插件库呢,例如:YooAsset, XAsset, CatAsset, BundleMaster, ABSystem,还有很多优秀的开源框架也内置了自己的资源管理系统。我觉得这个问题非常有意思。
from yooasset.
aa也并没有那么完美吧,我从上个月初开始接ab资源热更时开始接触aa,unity2021.3.6版本的aa是1.19.19版本,使用起来感觉并不是很稳定,尤其是使用同步加载接口WaitForCompletion的时候,在同步加载一个本地已缓存资源时会直接报错,而且错误信息也很难懂,在论坛提问后被认定为是这个版本的bug:
https://forum.unity.com/threads/error-when-loading-prefab-using-waitforcompletion-method.1350545/
之后还遇到一个问题如这篇博客所写:
https://blog.csdn.net/cc_shan/article/details/125976078
后续又发现包体随着更新可能会越来越大,官方提供的接口CleanBundleCache并没有立刻清除本地没用的资源,同样的论坛提问:
https://forum.unity.com/threads/cleanbundlecache-doesnt-seem-to-clear-old-assets.1285892/
但是并没有收到官方的回复,UWA上倒是有相关讨论:
https://answer.uwa4d.com/question/5ee9ea195d07d80acd262421
不过折腾了一番当时记得这个解决方法不是很好用,具体细节已经记不大清了。在这之后各种杂七杂八的问题都在论坛有看到过,最后压垮我的最后一根稻草是这篇帖:
https://forum.unity.com/threads/my-addressables-bug-reports-and-questions-collection.1135966/
我承认我的水平比较菜,遇到问题会先去论坛寻找解决方法而不是直接看源码自己改,但是至少作为官方插件且被标记为release版本,一般在编写demo的时候应该不会遇到太多的问题,但当时用下来给我的感觉就是aa在最初完全就是按照异步页游那样的**去写的,后续才关注到玩家需要怎样怎样的资源管理,然后在后续版本慢慢打补丁,于是就会出现一些bug。我并不站队aa或者YooAsset,只是在放弃aa后尝试用了下这个插件确实很快速的完成了demo,并且资源管理这块不再是令我头痛的问题了,当然也可能是我对aa的理解并不够深入,如果上述问题确实有解决方法的话也欢迎指正交流,我只是看到这个issue突然有些感悟所以写了这么多,其实也就是想表达一下尝试接入aa失败之后转到YooAsset的苦逼打工仔的心路历程:joy:
from yooasset.
就aa底层那老太太裹脚布一样一层裹一层的代码,居然还会有人认同……看设计模式看傻了吧……
from yooasset.
你在胡说什么?
from yooasset.
http://www.liuocean.com/2022/06/24/wei-shen-me-pao-qi-le-addressable/
这篇文章上的内容, AA 的问题目前解决了吗?UniTask 官方支持了 AA,这个没错,但是你读过里面的代码嘛?UniTask 中对 AA 本身的 progress 的进度获取就是错的,当前的进度 = 已经下载的文件数量 / 总体的文件数量。
而且 UniTask 本身设计成这样子就是为了方便后续扩展,对 YooAsset 的扩展支持也完全符合 UniTask 本身的设计初衷,又谈何食物链上下游?
AA 里的事件调试器,对应的就是 debug 工具,YooAsset 也支持
from yooasset.
AA官方没解决,可以自行扩展或修改解决。
官方源码架构比较好,阅读起来也挺容易,扩展起来没遇到难点,你说的这些问题目前都已解决或能解决。总比自己重新造轮子强。
另外下载进度= 已经下载的文件数量 / 总体的文件数量。这个在AA官方文档里有详细说明,其实是有2种,UniTask只实现了其中一种,不是什么影响选择的大问题。
我说的都是我看到的东西,和感受的东西,没有任何一条胡说吧?一上来就怼别人,素质有待加强,虽然开源精神不错~
from yooasset.
如果 issue 本身有理有据,没啥问题。这条 issue 本身就是完全不了解 YooAsset 的主观恶意偏见,对你自然没有好态度。而且UniTask 进度问题是因为最开始 AA 压根就没有 下载 size 的进度,后续版本才加上来的,这条本身就是误导开发者。
不要抛下 AA 核心问题视而不见,你喜欢用 AA,自己用就好了,并不是你轻飘飘一句 自行扩展或修改就能解决掉的。
from yooasset.
既然敢开源,就要敢接受质疑,不要怼天怼地的。你做的很好,自然会有人用,甚至被官方收购。不是怼出来的。
from yooasset.
接受的是合理的质疑,而不是无端揣测和恶意评论。不要张嘴就来。
from yooasset.
我不是 YooAsset 的作者,只是看不惯这种张嘴就来的评论。
from yooasset.
唉。祝好。
from yooasset.
详细看了下,个人观点,仅供参考。 这个插件有的功能Addressable都有,Addressable有的功能它还没有,比如事件调试器; API也没有Addressable简单,比如Addressable1个API可以实现它3个API的功能。 对async和UniTask的支持也不好,Addressable自身支持async,而UniTask又自身支持Addressable,这个项目是自身支持UniTask,有点食物链上下游的感觉。
"详细看了一下",但说出的东西暴露了你的傲慢和无知,兄弟
from yooasset.
一天时间SLG已从Addressable转YooAsset
from yooasset.
aa坑逼玩意 谁用谁知道 没人强迫
from yooasset.
论据不足啊兄弟。要喷就摆点干货出来。
from yooasset.
谁用谁知道,Addressable真是难用的一批,我19年就想用它,试了一下立马放弃。年初帮另一个项目做优化用的也是Addressable,难受的我快吐了。
from yooasset.
addressables 取消下载和暂停下载都不支持……
from yooasset.
AA最不好用的一点在于,资源包 不 可 移 植!
有好兄弟尝试过吗?能移植吗?
打出来的bundle只能依赖addressable才能加载,想把bundle内置到组件里移植给其他项目几乎不可能
from yooasset.
项目现在就是用addressable , 我踏马已经肠子都悔青了。 脑抽信任官方方案,从[email protected] 就陆陆续续自己改了不少代码。
from yooasset.
Related Issues (20)
- 如果遇到超大资源, 有没有考虑加入分段下载机制? 例如有参数可以配置分段大小的门槛 (超过一定的字节, 启用分段下载)
- SBP方式打包SpriteAtlas,精灵散图的Texture会被打入bundle HOT 2
- 2019版本Unity用2.X的Yoo 脚本IWebRequester编译报错
- WebGL不支持存新版本号存沙盒吗? HOT 1
- 可以设置下载并发相关的参数吗? HOT 2
- WebGl因为version不缓存的原因,导致每次进游戏都会加载读本地缓存的版本,必出一个404,望优化 HOT 2
- add "delete default yoo folder name “option
- 2.1.1版本中,如果当前有未结束的资源下载,调用ForceUnloadAllAssets会报错 HOT 4
- 在安卓移动平台,华为和三星真机上有极小概率加载资源包失败 : Unable to open archive file
- 打包会打包到脚本图标
- 2.1.1版本 使用HybridCLR热更,报错。 HOT 4
- 2.1.1版本,打包不了原生文件 HOT 1
- 关于使用YooAsset做本地化方案的问题 HOT 2
- 能支持微信小游戏的WXAssetBundle吗,会更省内存 HOT 3
- LoadRawFileAsync 加载原生文件问题。 HOT 4
- 2.1.2版本,打包为什么会把link.xml一起打包呢?是有什么用途吗? HOT 4
- ab的依赖信息 对应不上 HOT 7
- 异步加载的过程中转同步 HOT 1
- 怎么在一个文件夹下加载多个文件?
- 扩展分组激活规则的时候,没有信息,逻辑不好写
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yooasset.