assetbundle是啥文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了assetbundle是啥文件相关的知识,希望对你有一定的参考价值。


演示机型:华为MateBookX系统版本:win10APP版本:unity2020.3.25f1assetbundle是从unity项目中打包出来的资源文件。AssetBundle文件,也叫AB包,可以存储任何一种Unity可以识别的资源,如模型、纹理图、音频、场景等资源,也可加载开发者自定义的二进制文件。AssetBundle支持3种格式的压缩,分别是LZMA、LZ4、无压缩,默认是LZMA格式的压缩,使资源文件体积减小,便于下载和传播。
参考技术A



演示机型:华为MateBookX系统版本:win10APP版本:unity2020.3.25f1assetbundle是从unity项目中打包出来的资源文件。AssetBundle文件,也叫AB包,可以存储任何一种Unity可以识别的资源,如模型、纹理图、音频、场景等资源,也可加载开发者自定义的二进制文件。AssetBundle支持3种格式的压缩,分别是LZMA、LZ4、无压缩,默认是LZMA格式的压缩,使资源文件体积减小,便于下载和传播。
参考技术B


演示机型:华为MateBookX系统版本:win10APP版本:unity2020.3.25f1assetbundle是从unity项目中打包出来的资源文件。AssetBundle文件,也叫AB包,可以存储任何一种Unity可以识别的资源,如模型、纹理图、音频、场景等资源,也可加载开发者自定义的二进制文件。AssetBundle支持3种格式的压缩,分别是LZMA、LZ4、无压缩,默认是LZMA格式的压缩,使资源文件体积减小,便于下载和传播。

Unity AssetBundle工作流

一、创建AssetBundle

1、在资源的Inspector视图下有一个AssetBundle的UI,第一个选项表示AssetBundle名称,第二个用于设置AssetBundle Variant,主要用于在不同版本资源的使用和动态替换AssetBundle。

2、在Unity的Assets文件夹下创建Editor文件夹,创建一个C#脚本,用于创建AssetBundle,代码如下:

using UnityEngine;
using UnityEditor;

public class TestAssetBundles : MonoBehaviour {

    [MenuItem("Custom Editor/Build AssetBunldes")]
    static void CreateAssetBundlesMain()
    {
        BuildPipeline.BuildAssetBundles("Assets/StreamingAssets", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }
}

注:这里的MenuItem是用于在Unity编辑器的菜单上添加一个菜单项。输出路径为Assets下的StreamingAssets文件夹(确保存在)。

3、选择菜单栏中的Custom Editor->Build AssetBundles命令,即可在输出路径中看到打包的AssetBundle。

生成的AssetBundle:

这里的test.assetbundle即是要上传到服务器上下载的AssetBundle文件(如果有依赖关系,还要上传test.assetbundle.manifest文件)。

 

二、下载AssetBundle并加载

using System.Collections;
using UnityEngine;

public class loadasset : MonoBehaviour {
    
    void Start () {
        StartCoroutine("loadAssetBundle");
    }

    IEnumerator loadAssetBundle()
    {
        string assetBundlePath = "file://" + Application.dataPath + "/StreamingAssets/test.assetbundle";
        Debug.Log(assetBundlePath);
        WWW www = WWW.LoadFromCacheOrDownload(assetBundlePath, 0);
        yield return www;
        if (www.error == null)
        {
            AssetBundle myLoadAssetBundle = www.assetBundle;

            AssetBundleRequest request = myLoadAssetBundle.LoadAssetAsync("park", typeof (GameObject));
            yield return request;

            GameObject obj = request.asset as GameObject;
            Instantiate(obj);

            myLoadAssetBundle.Unload(false);
        } else
        {
            Debug.Log(www.error);
            yield return null;
        }
    }
}

以上便是主要步骤。

以上是关于assetbundle是啥文件的主要内容,如果未能解决你的问题,请参考以下文章

assetbundle是啥文件

assetbundle是啥文件

小米手机assetbundle_0.pak是啥文件

Unity使用Assetbundle加载 实例化一个了模型 材质和原模型的颜色不同,是啥问题??

luaframework是啥文件夹

unity5本地文件assetbundle怎么加载