AssetBundle Manager and Example Scenes
示例 1:加载资源
- 使用 “Asset/AssetBundles/Simulation Mode” 菜单打开模拟模式
- 打开 “AssetBundleSample/Scenes/AssetLoader” 场景
- 注意场景是个空的只有一个主摄像机,方向光和游戏对象 “Loader”
- 进入 PlayMode
- 然后会注意到一个 cube 已经从 AssetBundle 加载到场景里面了
这个场景是被 “LoadAssts.cs” 脚本驱动的。
在脚本编辑器里面打开脚本 “AssetBundleSample/Scripts/LoadAssets.cs”
脚本里有两个公共变量: public string assetBundleName;
和 public string assetName;
- public string assetBundleName; 保存了要被加载的 AssetBundle 的名字
- public string assetName; 保存了要已加载的 AssetBundle 中加载的资源的名字
这个脚本是由一个 Start()
函数和被 Start()
调用的两个协程组成的。Initialize()
调用了 DontDestoryOnLoad()
, 设置了 AssetBundle 的路径和初始化了 AssetBundle 清单。在 InstantiateGameObjectAsync()
中,如果资源不为空,AssetBundleManager.LoadAssetAsync()
调用资源和 AssetBundle 的名字。
重点注意下,在 “AssetBundleSample/Assets” 路径下查看 “MyCube” 资源,会发现 “MyCube” 依赖于 “MyMaterial”,而 “MyMaterial” 依赖于 “UnityLogo”。脚本中只有 “MyCube” 资源被调用,但是所有的依赖资源都被正确的加载了。
AssetBundle 的路径怎么设置也值得注意下。当场景在编辑器中或者从一个开发版 Build 中运行时,这段代码会给本地资源服务器设置 AssetBundle 的位置。(更多关于开发版 Build,请查看发布 Builds 文档。)模拟模式开启后,AssetBundle 会在编辑器中被模拟,这个设置将不会被使用。
对 DontDestoryOnLoad()
作用的理解。虽然在这个非常简单的脚本中并不是绝对需要它,但是他的存在是假设这个脚本会作为一个更复杂的项目的 AssetBundle 加载器基础,它需要在场景变化的以后依然存在。
示例 2:加载场景
- 使用 “Asset/AssetBundles/Simulation Mode” 菜单打开模拟模式
- 开始 “AssetBundleSample/Scenes/SceneLoader” 场景
- 注意场景是个空的只有一个主摄像机,方向光和游戏对象 “Loader”
- 开打 PlayMode
- 然后会注意到一个 cube 和 plane 已经从 AssetBundle 加载到场景里面了
这个场景被 “LoadScene.cs” 脚本驱动着。
在脚本编辑其中打开 “AssetBundleSample/Scripts/LoadScenes.cs” 脚本。
脚本里有个两个公共变量:public string sceneAssetBundle;
和 public string sceneName;
- sceneAssetBundle; 保持了要加载的 AssetBundle 的名字
- sceneName; 保持了要从已加载的 AssetBundle 里加载的场景的名字
这个脚本是有一个 Start()
函数和被 Start()
调用的两个协程组成的。Initialize()
调用了 DontDestoryOnLoad()
, 设置了 AssetBundle 的路径和初始化了 AssetBundle 清单。在 InitializeLevelAsync()
里使用 AssetBundleManager.LoadLevelAsync()
调用场景名字和 isAdditive
来请求一个场景。如果场景为空,AssetManager 会在控制台显示出错误,然后协程结束。
重点注意下,在 “AssetBundleSample/Assets” 路径下查看 “MyCube” 资源,会发现 “MyCube” 依赖于 “MyMaterial”,而 “MyMaterial” 依赖于 “UnityLogo”。只有 “TestScene” 场景被请求了。但在 “TestScene” 中的 “Cube” 和所有依赖的资源都被 AssetBundle Manager 正确的加载了。
AssetBundle 的路径怎么设置也值得注意下。当场景在编辑器中或者从一个开发版 Build 中运行时,这段代码会给本地资源服务器设置 AssetBundle 的位置。(更多关于开发版 Build,请查看 发布 Builds 文档。)模拟模式开启后,AssetBundle 会在编辑器中被模拟,这个设置将不会被使用。
对 DontDestoryOnLoad()
作用的理解。虽然在这个非常简单的脚本中并不是绝对需要它,但是他的存在是假设这个脚本会作为一个更复杂的项目的 AssetBundle 加载器基础,它需要在场景变化的以后依然存在。
点击下载
转载于:https://www.cnblogs.com/jiahuafu/p/9115106.html
AssetBundle Manager and Example Scenes相关推荐
- AssetBundle and the AssetBundle Manager介绍
AssetBundle and the AssetBundle Manager 介绍 AssetBundle允许从本地或者远程服务器加载Assets资源,利用AssetBundles技术,Assets ...
- [译]使用AssetBundle Manader
AssetBundle and the AssetBundle Manager 介绍 AssetBundle允许从本地或者远程服务器加载Assets资源,利用AssetBundles技术,Assets ...
- unity 异步加载网络图片_一个非常好用的AssetBundle资源加载器
Loxodon Framework Bundle是一个非常好用的AssetBundle加载器,也是一个AssetBundle冗余分析工具.它能够自动管理AssetBundle之间复杂的依赖关系,它通过 ...
- Unity最新版打包AssetBundle和加载的方法
一.设置assetBundleName 二.构建AssetBundle包 三.上传AssetBundle到服务器 四.把AssetBundle放到本地 五.操作AssetBundle 六.完整例子 七 ...
- unity当前项目里面AssetBundle和加载的方法总结
2017年10月14日 19:24:14 醉忘天涯一线天 阅读数:9021 出处:https://blog.csdn.net/lmyfx/article/details/78236225 版权声明:本 ...
- AssetBundle 资源打包 加载 卸载
1 给要打包的资源设置标记,表示对应的包名: 2 Unity5 AssetBundle不需要我们来管理引用关系了 3 可以使用代码批量设置包名 AssetImporter ai = AssetImpo ...
- Unity有哪些让做项目事半功倍的插件值得推荐?
Unity开发最好的地方就是有各种强大的插件,有哪些插件让大家事半功倍,稳定强大 值得推荐学习和入手呢?Unity5.0之后,制作UI 以及UI的动画,UI特效,大家一般都使用什么插件?或者说有什么好 ...
- Unity 官方教程 学习
Interface & Essentials Using the Unity Interface 1.Interface Overview https://unity3d.com/cn/lea ...
- Unity 插件使用笔记
目录 AssetBundle AssetBundle Manager EasySave UGUI-Edito Unity Favourites Panel Curvy Spline 流体插件Obi F ...
- Unity 资源管理(Assets,Resources,AssetBundles)
0x00 一下子看了太多,还是比较细地看的,因为是英文的文档如果不仔细读,感觉太容易左进右出了--现在来整理下能记住的,后面实际使用的时候再来完善. 现在 unity 在推新功能,可定位资源管理系统( ...
最新文章
- C++实现判断两个单词是否为变位词
- 【opencv4】opencv视频教程 C++ 7、手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)
- 在Editplus中搭建Ruby开发环境
- js之ActiveX控件使用说明 new ActiveXObject()
- 深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作
- mysql 判断日志时间早_MySQL5.7慢查询日志时间与系统时间差8小时原因详解
- matlab三相系统电阻折算,基于MATLAB三相异步电动机调压调速系统方案.doc
- java程序如何安装到手机上_java怎么安装到手机?手机安装java的教程
- python爬携程_Python crawler:对携程的航班数据进行抓取,python,爬虫,爬取
- ut红种状态解决办法汇总
- ubuntu安装photoshop
- Nuendo学习之旅——音程和和弦
- 手把手教你用JAVA实现“声音复刻”功能(复刻你的声音)标贝科技
- 基于STM32的RC522模块读写数据块以及电子钱包充值扣款系统的设计
- “智慧新电商”全渠道获客+智能服务接待
- 带bitlocker解密的pe_BLDU 一键解锁bitlocker加密的磁盘
- 入行数据分析要知道数据挖掘到底是做什么的
- 安卓手机扫二维码从FTP服务器下载apk
- 抛物线断面临界水深莫洛图
- Android Framework框架分析