(转)Unity AssetBundle爬坑手记
转自:http://www.cnblogs.com/ybgame/p/3973177.html


- Object obj = AssetDatabase.LoadMainAssetAtPath("Assets/Test.png");
- BuildPipeline.BuildAssetBundle(obj, null,
- Application.streamingAssetsPath + "/Test.assetbundle",
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets
- | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);



- WWW w = new WWW("file://" + Application.streamingAssetsPath + "/Test.assetbundle");
- myTexture = w.assetBundle.Load("Test");
- Directory.GetFiles("Assets/MyDirs", "*.*", SearchOption.TopDirectoryOnly);
- Directory.GetDirectories(Application.dataPath + "/Resources/Game", "*.*", SearchOption.AllDirectories);
- string newPath = "Assets" + mypath.Replace(Application.dataPath, "");
- newPath = newPath.Replace("\\", "/");
- Object obj = AssetDatabase.LoadMainAssetAtPath(newPath);


- string.Format("file://{0}/{1}", Application.streamingAssetsPath, bundlePath);
- string.Format("jar:file://{0}!/assets/{1}", Application.dataPath, bundlePath);


- IEnumerator LoadBundle(string url)
- {
- WWW www = = new WWW(url);
- yield return www;
- if (www.error != null)
- {
- Debug.LogError("Load Bundle Faile " + url + " Error Is " + www.error);
- yield break;
- }
- //Do something ...
- }




- //将所有对象加载资源
- Object[] objs = bundle.LoadAll();
- //加载名为obj的资源
- Object obj = bundle.Load("obj");
- //异步加载名为resName,类型为type的资源
- AssetBundleRequest res = bundle.LoadAsync(resName, type);
- yield return res;
- var obj = res.asset;


- //需要先实例化
- GameObject obj = GameObject.Instantiate(bundle.Load("MyPrefab")) as GameObject;


- bundle.Load("MyPrefab", typeof(GameObject))




- string path = Application.streamingAssetsPath;
- BuildPipeline.PushAssetDependencies();
- BuildTarget target = BuildTarget.StandaloneWindows;
- BuildPipeline.BuildAssetBundle(AssetDatabase.LoadMainAssetAtPath("Assets/UI_tck_icon_houtui.png"), null,
- path + "/package1.assetbundle",
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets
- | BuildAssetBundleOptions.DeterministicAssetBundle, target);
- BuildPipeline.BuildAssetBundle(AssetDatabase.LoadMainAssetAtPath("Assets/New Material.mat"), null,
- path + "/package2.assetbundle",
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets
- | BuildAssetBundleOptions.DeterministicAssetBundle, target);
- BuildPipeline.PushAssetDependencies();
- BuildPipeline.BuildAssetBundle(AssetDatabase.LoadMainAssetAtPath("Assets/Cube.prefab"), null,
- path + "/package3.assetbundle",
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets
- | BuildAssetBundleOptions.DeterministicAssetBundle, BuildTarget.StandaloneWindows);
- BuildPipeline.PopAssetDependencies();
- BuildPipeline.PushAssetDependencies();
- BuildPipeline.BuildAssetBundle(AssetDatabase.LoadMainAssetAtPath("Assets/Cubes.prefab"), null,
- path + "/package4.assetbundle",
- BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets
- | BuildAssetBundleOptions.DeterministicAssetBundle, target);
- BuildPipeline.PopAssetDependencies();
- BuildPipeline.PopAssetDependencies();












- [Serializable]
- public class ResConfigData
- {
- public string ResName; //资源名字
- public string BundleName; //包名字
- public string Path; //资源路径
- public int Vesrion; //版本号
- }
- [System.Serializable]
- public class ResConfig : ScriptableObject
- {
- public List<ResConfigData> ConfigDatas = new List<ResConfigData>();
- }




- ResConfig obj = (ResConfig)AssetDatabase.LoadAssetAtPath(path, typeof(ResConfig));
- if (obj == null)
- {
- obj = ScriptableObject.CreateInstance<ResConfig>();
- AssetDatabase.CreateAsset(obj, path);
- }


- EditorUtility.SetDirty(obj);
最后,发现之前的一些文章被“原创”了,请勿“原创”这篇文章
(转)Unity AssetBundle爬坑手记的更多相关文章
- Unity AssetBundle爬坑手记
这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷! AssetBundle是Unity推荐的 ...
- Unity AssetBundle 踩坑记录
Unity AssetBundle 踩坑记录 editor 下选择什么平台的 ab 加载 Material doesn't have a color property '_Color' UnityEd ...
- Unity AssetBundle
Unity AssetBundle爬坑手记 - 夜阑卧听风吹雨 时间 2014-09-15 16:55:00 博客园精华区原文 http://www.cnblogs.com/ybgame/p/39 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...
- Android爬坑之路
做了那么久前端,现在终于可以回到我的老本行, 今天我用了一天的时间配置里Android开发环境,mac和windows双平台,eclipse和IDEA双平台,别问为什么,我就喜欢,中间大坑不断,再加上 ...
- kali linux安装virtualbox虚拟机之爬坑经历
很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...
- 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历
项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...
- AngularJs (二) 搭建Deployd 服务爬坑
Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...
随机推荐
- [刘阳Java]_快速搭建MyBatis环境_第2讲
1.MyBatis的环境配置 导入MyBatis包, mybatis-3.2.8.jar 导入MySQL驱动包, mysql-connector-java-5.1.24-bin.jar 创建表的实体类 ...
- Mapped Statements collection does not contain value fo
Mapped Statements collection does not contain value for后面是什么类什么方法之类的: 错误原因有几种: 1.mapper.xml中没有加入name ...
- MFC学习笔记
获取窗口句柄 FindWindow 根据窗口名获取 GetSafehWnd 取你程序所在窗口类的句柄 GetActiveWindow ...
- 一个无缝滚动的jquery插件
$.fn.imgscroll = function(o){ var defaults = { speed: 40, amount: 0, width: 1, dir: "left" ...
- 用数组取到当前栈内的ViewController 并根据下标取某个ViewController
NSArray *navArray = self.navigationController.viewControllers; TabsViewController *tabsVC = [[TabsVi ...
- oracle数据库升级记(记一次10.2.0.3版本升级到11.2.0.1版本的过程)
操作系统:windows xp 已有数据库版本:10.2.0.3 升级目标版本:11.2.0.1 步骤大纲: 在源操作系统(安装有10.2.0.3数据库的操作系统)上安装11.2.0.1数据库软件,然 ...
- listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
1.错误提示:Cannot have multiple items selected when the SelectionMode is Single. 刚刚在处理两个Listbox时,将其中一个li ...
- SQL:无法解决 equal to 操作的排序规则冲突。
更改存储过程的时候,在SQL中出现了 “无法解决 equal to 操作的排序规则冲突”错误,网上搜之,发现是表之间元素创建时排序规则不同(一个是collate Chinese_PRC_CI_AI_W ...
- 判断AngularJS渲染页面完成
$scope.$on('$viewContentLoaded', function(){ }); // 或者 $scope.$watch('$viewContentLoaded', function( ...
- 【CMD】日常总结
命令脚本可以提升工作效率,之前用过也写过一些脚本,但时间一长就忘记了.写篇随笔记录一下,随用随记哈. 调用程序 //切换到某个路径下 cd D:\Glodon\GDW\GDW\Release\Bin ...