AssetBundle5.3.4依赖包加载流程
2016-05-17 18:31
375 查看
最近又开始了打包过程的代码编写,下面是打包过程的代码,完全参考网上一前辈的,出处已经忘记了。
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Collections.Generic;
public class BuildAssetBundleAttach
{
[MenuItem("JSTool/Build AssetBundle Attached")]
static public void BuildAssetBundle()
{
BuildPipeline.BuildAssetBundles(GetOutPutPath(), 0, EditorUserBuildSettings.activeBuildTarget);
}
static public string GetOutPutPath()
{
string path = Application.streamingAssetsPath + "/AssetBundles/" + GetPlatformFolderForAssetBundles(EditorUserBuildSettings.activeBuildTarget);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
return path;
}
平台选择部分:
时实运行的时候如下:
只要设置了assetBundleName的资源,都将会打成包,至于文件夹方面的摆放等,都可以自己再重新设定,接下来要做的工作就是
将这些打包好的资源通过AssetbundleManifest文件来加载出来,过程如下:
using UnityEngine;
using System.Collections;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
public class LoadAssetBundlesTest :MonoBehaviour
{
private string url;
private string assetName;
private string assetBundleName;
private string manifestName;
AssetBundleManifest manifest;
void Start()
{
InitializeAssetBundlePath();
StartCoroutine(LoadAssetBundleManifest());
}
void OnGUI()
{
if (GUILayout.Button("加载依赖包"))
{
StartCoroutine(LoadAssetBundleAsGameobject("shexiangtou", "Object007", 1));
}
}
void InitializeAssetBundlePath()
{
#if UNITY_EDITOR
url = "file://" + Application.streamingAssetsPath + "/AssetBundles/Windows/";
manifestName = "Windows";
#elif UNITY_ANDROID
url = Application.streamingAssetsPath+"/AssetBundles/Android/";
manifestName ="Android";
#endif
}
加载assetbundleManifest文件的方法,代码还是直接上图
下载资源的过程:
加载出来之后进行什么操作可以随便改。
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Collections.Generic;
public class BuildAssetBundleAttach
{
[MenuItem("JSTool/Build AssetBundle Attached")]
static public void BuildAssetBundle()
{
BuildPipeline.BuildAssetBundles(GetOutPutPath(), 0, EditorUserBuildSettings.activeBuildTarget);
}
static public string GetOutPutPath()
{
string path = Application.streamingAssetsPath + "/AssetBundles/" + GetPlatformFolderForAssetBundles(EditorUserBuildSettings.activeBuildTarget);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
return path;
}
平台选择部分:
时实运行的时候如下:
只要设置了assetBundleName的资源,都将会打成包,至于文件夹方面的摆放等,都可以自己再重新设定,接下来要做的工作就是
将这些打包好的资源通过AssetbundleManifest文件来加载出来,过程如下:
using UnityEngine;
using System.Collections;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
public class LoadAssetBundlesTest :MonoBehaviour
{
private string url;
private string assetName;
private string assetBundleName;
private string manifestName;
AssetBundleManifest manifest;
void Start()
{
InitializeAssetBundlePath();
StartCoroutine(LoadAssetBundleManifest());
}
void OnGUI()
{
if (GUILayout.Button("加载依赖包"))
{
StartCoroutine(LoadAssetBundleAsGameobject("shexiangtou", "Object007", 1));
}
}
void InitializeAssetBundlePath()
{
#if UNITY_EDITOR
url = "file://" + Application.streamingAssetsPath + "/AssetBundles/Windows/";
manifestName = "Windows";
#elif UNITY_ANDROID
url = Application.streamingAssetsPath+"/AssetBundles/Android/";
manifestName ="Android";
#endif
}
加载assetbundleManifest文件的方法,代码还是直接上图
下载资源的过程:
加载出来之后进行什么操作可以随便改。
相关文章推荐
- [转载]河北易县:黑恶势力称“霸”房地产市场 谁为其撑腰?
- 纯数字字符串判定
- CRM
- java中类的各种定义
- Windows下adb安装配置
- 求解LambdaMART的疑惑?
- Android AndroidStudio JSR/RET are not supported with computeFrames option
- Mac配置环境
- 自定义控件(继承系统控件,非自绘)
- 自定义圆角控件
- uinty本地图片的读取和剪裁
- 阿里云持续交付平台CRP | 从代码托管,到一键发布,从持续集成,到持续交付,CRP让交付更加简单、可靠、高效
- opengl fbo 纹理 开发步骤
- 一个矩阵中最大的二维矩阵(元素和最大)
- hibernate中HQL语句
- MongoDB的界面操作工具之rockmongo
- 制作子弹痕迹(到shareMaterial)-Unity
- GBDT(MART) 迭代决策树入门教程 | 简介
- 利用AJAX实现WordPress中的文章列表及评论的分页功能
- RabbitMQ (一)第一个hello world