Unity AssetBundles基础入门

一 ,  准备制作一个AB包(以预制体为例)

       a, 制作1个胶囊体预制体

Unity之AssetBundles基础_AB

         b, 设置预制体CapsuleAB为AB包

              1, 进入CapsuleAB的"Inspector"面板

              2, 设置AssetBundle如下所示

Unity之AssetBundles基础_AB_02

       ①, ab/good    ,   ab为文件夹  good为生成AB文件的名称

       ②, 后面的ab 可以理解为good文件的格式. 如下图所示:

Unity之AssetBundles基础_Unity3D_03

二 , 制作AB包

1, 核心代码:

登录后复制

using System.IO;
using UnityEditor;
using UnityEngine;

public class CreateAssetBundles : MonoBehaviour
{
    [MenuItem("AlexHu/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        string assetBundleDirectory = "AssetBundles";
        if(!Directory.Exists(assetBundleDirectory))
        {
            Directory.CreateDirectory(assetBundleDirectory);
        }
        BuildPipeline.BuildAssetBundles(assetBundleDirectory, 
                                        BuildAssetBundleOptions.None, 
                                        BuildTarget.StandaloneWindows);
    }
}

注解:

①, assetBundleDirectory : 将生成的AB资源放在项目更目录下(并非Assets目录下) , 如上面的ab/good , 就是在assetBundleDirectory 下生成一个ab文件夹, 将good放在ab文件夹中

②, 要将 CreateAssetBundles 放在Assets/Editor文件夹下.

Unity之AssetBundles基础_Unity3D_04

③, 这样 Unity IDE上会出现AlexHu的菜单, 操作 AlexHu -> Build AssetBundles 就可以生成AB包了

Unity之AssetBundles基础_Unity3D_05

三 , 使用AB资源(本次使用本地加载方式:AssetBundle.LoadFromFile为例)

代码如下:

登录后复制

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
/// <summary>
/// 简单的AB,从本地加载
/// </summary>
public class ABSimpleDemo : MonoBehaviour
{
    private void Start()
    {
        AssetBundle ab = AssetBundle.LoadFromFile("AssetBundles/ab/good.ab");
        GameObject go = ab.LoadAsset<GameObject>("CapsuleAB");
        GameObject prefab =  Instantiate(go);
        prefab.transform.parent = this.transform;
    }
}

scene:

Unity之AssetBundles基础_AB_06

四, 结果

Unity之AssetBundles基础_Unity3D_07



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空