当前位置: 移动技术网 > 科技>办公>硬盘 > AssetBundle打包

AssetBundle打包

2020年08月10日  | 移动技术网科技  | 我要评论
关于AssetBundle打包什么是AssetBundle?AssetBundle是热更新的一部分,用于对游戏资源进行打包,可以在游戏运行时加载。AssetBundle可以从两个方面来解释:(1) 它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件)serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有
  1. 什么是AssetBundle?
    AssetBundle是热更新的一部分,用于对游戏资源进行打包,可以在游戏运行时加载。

    AssetBundle可以从两个方面来解释:
    (1) 它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件)
    serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个)
    resource files:某些二进制资源(图片、声音)被单独保存,方便快速加载
    (2)它是一个AssetBundle对象,我们可以通过代码从一个特定的压缩包加载出来的对象。这个对象包含了所有我们当初添加到这个压缩包里面的内容,我们可以通过这个对象加载出来使用。

  2. AssetBundle打包流程
    (1)首先对想要进行打包的资源指定 AssetBundle属性,如图所示
    最下面就是AssetBundle属性
    (2)构建AssetBundle包
    (3)将AssetBundle包上传到服务器中
    (4)加载AB包和包里面的资源

  3. 如何构建AB包?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;

public class CreatAssetBundles
{
    [MenuItem("Assets/Build AssetBundle")]
    static void BuildAllAssetBundle()
    {
        string dir = "AssetBundle";//储存打包后的AB包的路径
        if (Directory.Exists(dir) == false)
        {
            Directory.CreateDirectory(dir);
        }
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);//使用BuildPipeline.BuildAssetBundles进行构建;其中BuildAssetBundleOptions为压缩方式(分为LZMA和LZ4),BuildTarget为使用的平台.
    }
}

  1. 如果加载AB包?
    主要分为两种从本地加载和从服务器上加载
    (1)从本地加载
    使用AssetBundle.LoadFromFile
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoadAB : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
       AssetBundle ab =AssetBundle.LoadFromFile("AssetBundle/wall.ab");
        GameObject GO = ab.LoadAsset<GameObject>("timg");
        Instantiate(GO);
    }

}

(2)从服务器上加载
使用UnityWebRequest
在这里插入图片描述

在最后给大家推荐一款AssetBundle工具
https://github.com/Unity-Technologies/AssetBundles-Browser
非常好用!
在这里插入图片描述

本文地址:https://blog.csdn.net/weixin_42758300/article/details/107880367

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网