unity|加载AB包|有依赖关系的AB包
进阶,异步加载AB包,请看《异步加载有依赖的AB包》
目录
为什么AB包会有依赖关系呢?
步骤
代码
为什么AB包会有依赖关系呢?
例如导入一个预制体的时候,预制体可能有图片,如果只把这个预制体打进AB包,那这个预制体的图片就没有打入AB包内,因此,要额外将图片导入另一个AB包。那么,这两个AB包就有依赖关系。依赖关系为:放有预制体的AB包依赖放有图片的AB包。
记录依赖关系的是配置文件(后缀名是.manifest)。其中,有两个配置文件会记录依赖关系。一个是主AB包,即和打AB包的文件夹同名的配置文件;另一个是预制体的AB包的配置文件。
要把预制体连它的纹理贴图加载出来,步骤如下:
1、加载主AB包,注意:不是放有所有AB包的文件夹,而是和文件夹同名的AB包——主AB包。
2、获取主AB包的配置文件。
3、获取预制体AB包依赖哪些包,获取这些依赖包的包名。
4、加载所有依赖包。
5、加载预制体AB包。
------------------获取AB包完毕---------------------------------
6、从预制体AB包中获取预制体。
7、实例化预制体(显示到场景中)。
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class Load : MonoBehaviour
{//处理依赖关系的加载,必须加载主AB包,因为依赖关系都存储在主AB包中void Start(){//加载主AB包(不是ab文件夹,是ab文件!)AssetBundle main = AssetBundle.LoadFromFile("主AB包‘路径’(无后缀名)");//获取AB包的配置文件AssetBundleManifest manifest = main.LoadAsset<AssetBundleManifest>("AssetBundleManifest");//分析预制体所在AB包,依赖哪些AB包string [] deps= manifest.GetAllDependencies("预制体AB包‘名’(无后缀名)");//加载依赖的AB包for(int i=0;i<deps.Length;i++){AssetBundle.LoadFromFile("存放所有文件夹的路径/" + deps[i]);}//加载预制体所在的AB包AssetBundle imageab= AssetBundle.LoadFromFile("预制体AB包路径(无后缀名)");//加载预制体(内部资源)GameObject prefab = imageab.LoadAsset<GameObject>("预制体名字");//附://实例化GameObject gob = Instantiate(prefab);//设置父物体gob.transform.SetParent(GameObject.Find("/Canvas").transform);}}
unity|加载AB包|有依赖关系的AB包相关推荐
- R包操作相关:安装、卸载、加载、移除、已经安装的包、包的路径、函数查看等
R包操作相关:安装.卸载.加载.移除.已经安装的包.包的路径.函数查看等 查看已经加载的R包: (.packages()) 列出包所在的路径: .libPaths() 查看已经安装的包的详细信息: i ...
- R包库安装及数据加载:一次安装多个R包、一次加载多个R包
R包库安装及数据加载:一次安装多个R包.一次加载多个R包 目录 R包库安装及数据加载 R包安装 一次安装多个R包 加载需要的R包
- IDEA maven项目查自动查看依赖关系,解决包冲突问题
IDEA maven项目查自动查看依赖关系,解决包冲突问题 参考文章: (1)IDEA maven项目查自动查看依赖关系,解决包冲突问题 (2)https://www.cnblogs.com/jpfs ...
- 在RHEL5.0中用YUM解决RPM包的依赖关系
一. 使用yum实现本地安装RPM包的依赖关系: 1. 添加一块硬盘,新分区并挂载到/install目录 (也可以是其他目录)或直接在现有文件树中建一个新目录如/install 2. 将linux的光 ...
- andriod studio 查看项目依赖_Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图...
Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项 ...
- webpack4下import()模块按需加载,打包按需切割模块,减少包体积,加快首页请求速度...
一:背景 因为项目功能越加越多,打包后的体积越来越大,导致首页展示的时候速度比较慢,因为要等压缩的js的包加载完毕. 首页展示的时候只需要对应的js,并不需要全部的js模块,所以这里就可以用按需加载, ...
- Unity加载进度条
转载自:http://www.58player.com/blog-2537-89690.html 背景 通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长.为了避免这个问题 ...
- Unity加载倾斜摄影模型/激光点云,开源
[重大更新]现已支持WebGL 业余时间尝试了下用Unity加载倾斜摄影模型/激光点云,目前支持Bentley ContextCapture生成的3MX格式 源码见 https://github.co ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
IntelliJ IDEA使用教程 (总目录篇) Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Pr ...
最新文章
- LINQ to SQL语句之 Count/Sum/Min/Max/Avg
- python流程控制语句-python学习 流程控制语句详解
- 操作系统学习笔记-2.1.4进程通信
- 作为程序员,你怎么看待16岁女生产子?
- 板式橡胶支座弹性模量怎样计算_Midas Civil支座模拟的详细解决方法
- 击溃音乐服务器第一人!周杰伦新歌首发,QQ音乐服务器一度崩溃
- 看完阿里的代码规范,立马学会代码分层,再也不会被同事怼
- 题目57 6174问题
- Mybtis进行mysql数据库的修改表名操作
- tomcat之servlet容器
- visio导出图片模糊的解决方案
- [重庆思庄每日技术分享]-数据库创建组件时报错ORA-30554: XDB.XDB$ACL_XIDX is disabled
- 杭州电子科技大学 计算机专硕复试分数线,2020杭州电子科技大学考研复试分数线已公布...
- Rayson API 框架分析系列之2:API服务开发
- 在树莓派上驱动CSI摄像头
- ASP中Split分割字符串函数的实例用法
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java科研信息管理503pp
- Android设置透明状态栏,仿ios状态栏
- 从你的全世界路过---陌陌X-SIGN还原
- i tell you 微软各种 操作系统 应用程序 开发工具 下载