AssetsBundle
Posted aeboke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AssetsBundle相关的知识,希望对你有一定的参考价值。
简单的ab生成代码
using UnityEngine;
using UnityEditor;
using System.IO;
public class CreatAssestBundle {
static string MyAssestPath = Application.dataPath + "/MyStreamingAssets";
[MenuItem("AB/AssestBundle文件生成")]
static void CreatAB()
{
CreatFolder();
//第一个 打包生成文件路径 第二个 不用管 第三个打包平台
BuildPipeline.BuildAssetBundles
(
MyAssestPath,
BuildAssetBundleOptions.None,
BuildTarget.StandaloneWindows
);
//文件夹刷新
AssetDatabase.Refresh();
}
/// <summary>
/// 路径处理
/// </summary>
static void CreatFolder()
{
if (Directory.Exists(MyAssestPath))
{
Directory.Delete(MyAssestPath, true);
}
Directory.CreateDirectory(MyAssestPath);
}
}
ab资源加载代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreatAB : MonoBehaviour
{
public UnityEngine.UI.RawImage m_image;
IEnumerator Start()
{
//AssestBundle 路径
string MyAssestPath = "file://" + Application.dataPath + "/MyStreamingAssets/text";
//using (WWW www = new WWW(MyAssestPath))
using (WWW www = WWW.LoadFromCacheOrDownload(MyAssestPath, 0))
{
yield return www;
//获取AssestBundle
AssetBundle AB = www.assetBundle;
//解压AB中想要获取的资源
Texture tex = AB.LoadAsset<Texture>("QQ图片20181031155650");
Debug.Log(tex.name);
m_image.texture = tex;
//false 释放无用资源 true 释放所有资源
AB.Unload(false);
}
}
}
以上是关于AssetsBundle的主要内容,如果未能解决你的问题,请参考以下文章