Unity2022年总结Assetbundle基本原理,实战技巧和工具

(需要有程序知识,能阅读代码,不做过多框架,层次分析,请自行找链接+练习)

国庆赋闲在家,所以有时间搞搞Unity的Assetbundle资源加载

AssetBundle是Unity官方的一个资源包工具,类似的游戏文件就是我们熟悉的,obb文件,mod

无论是视频,贴图,音效,还是特效等等的资源,都需要AssetBundle

用过UNity的小伙伴都知道Unity几乎支持所有的格式,无论3D,2D,其实关键就在于AssetBundle

但如此重要的资源管理,甚至是核心技术,Unity官方几乎是只字未提

相关工具也是少的可怜:

(文章最后会给出所有关于AssetBundle的索引,一些实战的工具)

(主要感觉,Unity官方也是刻意隐藏,因为这么核心的内容,必须to C,给客户使用的同时,又不能让客户知道太多,风险问题不得不考虑)

(不过经过了这些年的国际事件,最近的欧洲事件,哥也越来越了解Unity官方的思路,以前想不通的问题也迎刃而解,唯有继续前行,干就完了)

重点如下:

1.下面的几点zaiji某些同仁总结的好,而且我自己实践过一遍确实如此

2.很多基础方法,基础API,无论Unity怎么升级也没有变,且不说要不要向上兼容,官方自身也不敢改动太多(一个没什么错的代码,你会随便去改么?),现在感觉Unity官方有点刻意隐瞒,他们本身有实力,开发流程也完善,很少出BUG,就是不公开,这几年招了中国的员工提供技术支持,人多了,更近了,反而更不公开,更加“闪烁其词”

Unity的资源加载分类:

  • Resource
  • DataPath
  • PesistantPath
  • StreamingAssets
  • AssetDataBase

StreamingAssets 资源处理

StreamingAssets下面的文件读取有一些规则还是得注意一下,有点记忆偏差就会出事。

1. StreamingAssets目录直接用Application.streamingAssetsPath获取就行;

2. AssetBundle.LoadFromFile可以读取StreamingAssets下的AssetBundle;

3. Windows & ios平台,用C# File类是可以读取普通文件的;

4. Android平台,用C# File类不可以读取普通文件,这个一定要注意,原因看官方文档

    https://docs.unity3d.com/Manual/StreamingAssets.html

    On Android, the files are contained within a compressed .jar file (which is essentially the same format as standard zip-compressed files). This means that if you do not use Unity’s WWW class to retrieve the file, you need to use additional software to see inside the .jar archive and obtain the file. 

    Android平台可以用WWW读取。

AssetBundle内存占用

优化和原理可参考之前的博客:

AssetBundle包解析,反编译 


AssetBundle资源包统计和分析

‘同样可参考之前博客:

官方的AssetBundleBrower

Unity Asset Bundle Browser tool

You can use the Asset Bundle Browser to view and edit the configuration of asset bundles in your Unity project.

你可以在你的UnityProject内使用AB 浏览器预览哥编辑,AB的配置文件

For more information, see the Unity Asset Bundle Browser documentation.

更多信息,请看:

Note: This tool is an unsupported utility. Viewing extremely large asset bundles can lead to slow performance and memory issues. The Github repository linked from this page contains the latest source code and supersedes any other sources.

这个工具不是官方支持的工具,预览超大AB文件的时候可能会卡顿和占内存。下面提供的链接 of GitHub的代码库,当然会提供最新的源码,和一些替代方案(咳咳。。。。开源就是提供代码啊,。。。。。难道github真的只是同性交友网站么,还是我一直理解错误)

Installation

To install the Asset Bundle Browser:

  1. Open the Unity [Package Manager]((https://docs.unity3d.com/2020.1/Documentation/Manual/upm-ui.html) in your Project (menu: Windows > Package Manager).
  2. Click the + (Add) button at the top, left corner of the window.
  3. Choose Add package from git URL…
  4. Enter https://github.com/Unity-Technologies/AssetBundles-Browser.git as the URL
  5. Click Add.

The Package Manager downloads and installs the package’s “master” branch.

AssetBundle相关资料索引

(解析,神作)

Unity3d好东西应该被看见_分享一个Assetbundle分析工具_avi9111的博客-CSDN博客

(远古之神作)

关于Unity内存管理的最详细解说没有之一_avi9111的博客-CSDN博客

(打包AB,Report,Unity2017之后)

report.......................(暂缺)

(打包,不成熟的工具)

Unity AssetBundleGraphy插件源码框架分析_avi9111的博客-CSDN博客

(AB,合并,拆分)

。。。。。。。。。。。(暂缺)

(AB各种路径)

。。。。。。。。。。。。(不重要,越少歧义越好,主要还是Android , IOS , PC这3个平台)

(没什么用。。。其实。。。除非你为了科研,做深入研究)

Unity3d插件分享之Assetbundle工具2021最好用工具没有之一_avi9111的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值