什么是AssetBundle?(unity官方文档翻译)
AssetBundle是unity提供的一个特定平台的归档文件(archive file),可以在运行时加载。AssetBundle包可以明确的表示互相之间的依赖关系。例如a包中的材质引用了b包中的贴图。为了在网络上高效的传输。AssetBundle可以更具实际需求选择内置的压缩算法。
AssetBundle对下载DLC很有用,可以减少安装包大小,优化终端平台的资源加载,减少运行时的内存压力。
上面是unity官方文档的翻译,AssetBundle功能总结有:游戏资源更新,减少游戏安装包大小,优化资源加载
如何使用AssetBundle
一、给对象设置AssetBundle属性
首先AssetBundle可以对所有的资源进行打包(预制体,音频,贴图,材质,甚至场景),当你选择对象的时候,如果Inspector上有AssetBundle属性的设置,就说明他可以打包。
第一个None是 包名,也可以是 目录/包名(可以创建目录),第二个None是后缀。这两个属性都是可以自定义的。(这里这个材质的包名是material 后缀是u3d,注意都是强制小写)
二、创建打包工具
当我们把要打包的材质定义好AssetBundle属性之后,就可以开始打包操作了。所有我们这里要先写一个在编辑器模式下运行的打包工具。
using System.IO;
using UnityEditor;
public class CreatAB
{
//在Unity菜单栏Assets列表下面创建一个快捷方法按钮
[MenuItem("Assets/CreatAssetBundles")]
static void CreatAssetBundles()
{
//路径(这是相对路径,项目的跟目录