Unity热更新专题(五)如何打包AssetBundle
来源:互联网 发布:array push 二维数组 编辑:程序博客网 时间:2024/06/08 06:28
Unity热更新专题(五)如何打包AssetBundle
如何打包AssetBundle?
我看了许多博客和论坛,写得有点乱,看的也有一点迷糊。而且unity4.6和Unity5.1在打包制作AssetBundle时,有很大区别。所以还是看看原API文档吧。
===================================================================================
BuildPipeline.BuildAssetBundles
public static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None, BuildTarget targetPlatform = BuildTarget.WebPlayer);
该方法就是打包制作AssetBundle的方法。
(好长的方法啊······
大概看一下
参数一:输出路径
参数二:打包的选项
参数三:平台
下面具体分析一下。
参数一:路径而已。没什么可以选的。
参数二:
描述的还是挺好理解的。
参数三:
这就更好理解了,就是Unity支持的平台。
描述:
制作在Unity编辑器里指定的所有物体的AssetBundle。
补充一点:(Unity5的新化~
1、我们创建一个cube,命名为Player。
2、把Player搞成Prefab。
我们可以看到选中Prefab时,下面有这个框。
我们点击New,标记为player.AssetBundle。
好了。下面修改代码。
创建脚本ExportAssetBundles.cs,把官方API文档上的代码贴上去。
// C# Example// Builds an asset bundle from the selected objects in the project view.// Once compiled go to "Menu" -> "Assets" and select one of the choices// to build the Asset Bundleusing UnityEngine;using UnityEditor;public class ExportAssetBundles{ [MenuItem("Test/Build Asset Bundles")] static void BuildABs() {// Put the bundles in a folder called "ABs" within the// Assets folder.BuildPipeline.BuildAssetBundles("Assets/ABs");}}
我们可以看到Unity编辑器发生了变化。
没错。工具栏上出现了我们代码中定义的东东。点击它吧~
当然,如果你的工程中没有
Assets/ABs的话,是会出错的。
创建该目录,再次点击。我们就可以看到我们想看到的了。
加载AssetBundle。很简单。
贴个示例代码吧:
using System;using UnityEngine;using System.Collections;public class Load: MonoBehaviour{ private string BundleURL = "file:///C:/cube.assetbundle"; private string SceneURL = "file:///C:/scene1.unity3d"; void Start() { //BundleURL = "file//"+Application.dataPath+"/cube.assetbundle"; Debug.Log(BundleURL); StartCoroutine(DownloadAssetAndScene()); } IEnumerator DownloadAssetAndScene() { //下载assetbundle,加载Cube using (WWW asset = new WWW(BundleURL)) { yield return asset; AssetBundle bundle = asset.assetBundle; Instantiate(bundle.Load("Cube")); bundle.Unload(false); yield return new WaitForSeconds(5); } //下载场景,加载场景 using (WWW scene = new WWW(SceneURL)) { yield return scene;AssetBundle bundle = scene.assetBundle; Application.LoadLevel("scene1"); } }}
===================================================================================
到这里吧。
0 0
- Unity热更新专题(五)如何打包AssetBundle
- Unity热更新专题(五)如何打包AssetBundle
- Unity热更新(五):AssetBundle
- Unity 热更新之AssetBundle
- Unity 热更新之AssetBundle
- Unity 热更新之AssetBundle
- unity assetBundle更新 打包变化
- [Unity热更新]unity5中的assetbundle
- Unity AssetBundle打包与资源更新
- Unity AssetBundle打包与资源更新
- Unity热更新专题(九)Unity热更新实例
- Unity热更新专题(九)Unity热更新实例
- Unity热更新专题(一)热更新简介
- Unity热更新专题(一)热更新简介
- Unity热更新专题(六)uLua简介
- Unity热更新专题(七)SimpleFramework
- Unity热更新专题(六)uLua简介
- Unity热更新专题(七)SimpleFramework
- c#使用itextsharp输出pdf(动态填充表单内容,显示中文)
- mysql 事务 与 数据库引擎
- 域传送漏洞总结
- Java中获取键盘输入值的三种方法
- 第0课第1节 刚接触开发板之接口接线工具
- Unity热更新专题(五)如何打包AssetBundle
- PhotoView源码分析(2)
- 分析Linux Apache为何访问过慢
- MATLAB-fminsearch函数的使用
- Java内存分配原理深入理解
- ZJOI2008 树的统计 树链剖分学习
- [转]Python traceback
- Zookeeper异步通知模式--watcher
- 支付宝开发的几个问题