UH1L3——AB包依赖
UH1L3——AB包依赖 本章代码关键字 12AssetBundleManifest //主包的依赖文件assetBundleManifest.GetAllDependencies() //传入包名,得到该包依赖的所有的包名 AB包依赖 当某个资源使用了另外一个AB包内的资源,则可以说该资源对那个AB包存在依赖 假设我们创建了一个红色材质球,让modelAB包中的Cube使用它,而不将这个材质球打包进AB包中 则下次进行AB包打包时,该材质球将被默认的打包到modelAB包内 而如果将这个红色材质球打入到其他AB包诸如head内,而只加载model包,在加载Cube将会导致Cube的材质丢失 因为model内并不存在Cube的材质 可见,一个资源身上用到了别的AB包中的资源 如果只加载这时自己的AB包,通过它创建对象,将会出现资源丢失的情况 这种时候需要把依赖包一起加载了才能正常 1234567//加载AB包AssetBundle assetBundle =...
UH1L2——AB包资源加载
UH1L2——AB包资源加载 本章代码关键字 123456789101112AssetBundle.LoadFromFile() //指定AB包文件路径,加载AB包assetBundle.LoadAsset() //从AB包中加载文件,通过名字加载(不推荐)assetBundle.LoadAsset(, typeof()) //从AB包中加载文件,通过名字和类型加载(返回Object类型,需要as成对应的类型)assetBundle.LoadAsset<>() //从AB包中加载文件,通过名字和泛型加载(热更新无法使用)AssetBundle.LoadFromFileAsync() //异步加载AB包,返回AssetBundleCreateRequestAssetBundleCreateRequest ...
UH1L1——AB包资源打包
UH1L1——AB包资源打包 AB包资源打包工具选择 使用Unity编辑器开发的自定义打包工具 官方提供好的打包工具:AssetBundles-Browser-master 关于高版本Unity导入AssetBundles-Browser-master 对于高版本Unity中,AssetBundles-Browser已经不能通过包管理器进行下载(发现包管理器中没有对应工具不用着急) 因为:高版本Unity用Addressables功能封装了AB包功能 你仍然可以在资料区下载AssetBundles-Browser-master包文件导入你的工程中 或者从github上去获取该脚本:Releases · Unity-Technologies/AssetBundles-Browser (github.com),下载最晚发布的源代码即可 若导入后报错,只需删除导入内容中的示例文件夹(test文件夹)即可 打开AssetBundles-Browser窗口 点击工具栏:Window ——> AssetBundle...
U4S4——可寻址资源管理系统 Addressables
U4S4——可寻址资源管理系统 Addressables 前置知识 委托与事件(必备) AssetBundle(必备) Resources同步异步加载 ScriptableObject 协同程序基本原理 Addressables Addressables 翻译过来是可寻址的意思,它是可寻址资源管理系统 是Unity从2018.2版本开始,建议用于替代AssetBundle的高阶资源管理系统,在之后的Unity的新版本中,AssetBundle 将渐渐被淘汰 但是,AssetBundle 对于大家来说,还是必备的知识点,因为目前市面上还有很多的项目依旧在使用较老版本的Unity进行开发或者迭代, 所以 AssetBundle 还是一种主流传统的资源管理方式 Addressables 和 AssetBundle 的主要作用是一样的: 管理资源 热更新 减小包的体积 本系列学习内容 导入Addressables 资源加载基础 寻址资源设置 指定资源加载 Label标签的作用 动态加载单个资源 动态加载多个资源 配置相关 Profile...
UH1——AssetBundle
UH1——AssetBundle AssetBundle 特定于平台的资产压缩包,类似于压缩文件,资产包括:模型、贴图、预设体、音效、材质球等等 AssetBundle 是热更新和 Addressable 的基础,我们必须掌握它 本系列学习内容 AB包资源打包 AB包资源加载 AB包依赖 AB包资源管理器 AssetBundle的作用 相对Resources下的资源,AB包更好管理资源 相对Resources文件还有两大优势: 减少包体大小 可压缩资源 减少初始包大小 可进行热更新 资源热更新 脚本热更新
ZMUIL6——高性能系统
ZMUIL6——高性能系统 高性能系统要做的工作 高性能系统是为了解决UI性能问题,增加游戏的流畅度而设计的一系列性能解决方案。 主要针对渲染、重绘、顶点、UI组件、等多个方面进行性能的优化处理。 他的功能有以下几点: 一键优化合批。 自动根据图集图片和相邻组件的特征进行重新排序。 避免使用SetActive引起的UI重绘和GC垃圾。 用CanvasGroup和Scale进行代替。 使用UI对象池。 避免频繁的克隆物体导致的卡顿和GC。(在之前的UIModule里已经实现了,隐藏窗口不会直接销毁窗口对象,可复用) 智能化禁用不必要的组件属性。 从而来避免一些不必要的性能开销。 界面预加载。 针对复杂一些的界面我们可以使用预加载进行提前加载物体,来确保在真正使用界面时,能够流畅度加载出界面。 **高性能文字描边。**Unity描边组件是拷贝4份相同的文本顶点数占用量巨大。 一个字母的Text加上Untiy的描边一共占用30个顶点。 而我们的Text同样是一个字母加上描边能做到只占用6个顶点。性能是Unity组件的5倍。 (这课没讲,不用记辣) 组件自动序列化。...
ZMUIL5——堆栈系统
...
ZMUIL4——自动化系统
ZMUIL4——自动化系统 自动化系统要做的工作 在拼接完UI面板后,自动化系统可以根据特定的解析规则解析UI面板,得到各个需要管理的UI控件的控件类型和控件名 根据以上的解析结果自动生成对应的组件查找脚本/组件数据脚本以及Window逻辑类脚本 自动化系统会自动完成繁杂的关联组件,监听函数声明与添加,重写生命周期函数等工作,让我们可重心放在UI控件交互逻辑的编写上 组件查找脚本/组件数据脚本负责获取并管理UI控件,供Window逻辑类调用UI控件,初始化方法里将Window逻辑类里监听函数添加到控件中 Window逻辑类是我们编写界面的交互的脚本,我们直接在该脚本内生成的各个函数内编写逻辑即可,对外接口函数在API Function代码块内编写 自动化系统会自动让Window逻辑类继承WindowBase,重写各个生命周期函数,预留对外的API...