当前位置: 首页 > article >正文

在Unity中用Ab包加载资源(简单好抄)

第一步创建一个Editor文件夹

第二步编写BuildAb(这个脚本一点要放在Editor中因为这是一个编辑器脚本,放在其他地方可能会报错)

using System.IO;
using UnityEditor;
using UnityEngine;

public class BuildAb : MonoBehaviour
{
    // 在Unity编辑器的菜单栏中添加一个菜单项
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        // 定义Ab包的输出目录
        string assetBundleDirectory = "Assets/AssetBundles";
        // 检查目录是否存在,如果不存在则创建该目录
        if (!Directory.Exists(assetBundleDirectory))
        {
            Directory.CreateDirectory(assetBundleDirectory);
        }
        // 使用BuildPipeline构建AssetBundles
        // 参数1:输出目录
        // 参数2:构建选项,这里使用默认选项(None)
        // 参数3:目标平台,这里选择Windows平台
        BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
    }
}

把脚本编译完成后就能在菜单中看到我们刚刚添加的选项了

第三步创建一个资源文件夹再创建一个预制体放进去

第4步给你需要打包的Ab包取名字(这里取的是abtext)

第五步打包Ab资源

打包完如果出现了这个文件夹那就说明打包成功了

第六步编写读写资源脚本ReadAbBag

using System.IO;
using UnityEngine;

public class ReadAbBag : MonoBehaviour
{
    void Start()
    {
        string path = Path.Combine("Assets/AssetBundles", "abtext");//ab包路径
        AssetBundle assetBundle = AssetBundle.LoadFromFile(path);//加载AssetBundle
        //读取需要的资源
        GameObject obj = Instantiate(assetBundle.LoadAsset<GameObject>("block"),gameObject.transform);//加载prefab
    }
}

第七步创建一个空对象并将刚刚编写的脚本拖上去

 

运行游戏就能读取到刚刚打包的AB资源了

大致流程

新年第一篇文章,祝大家新年快乐 !


http://www.kler.cn/a/463169.html

相关文章:

  • UniApp | 从入门到精通:开启全平台开发的大门
  • Rust 泛型、特征与生命周期详解
  • 【开源社区openEuler实践】hpcrunner
  • Formality:官方Tutorial(一)
  • NLP 中文拼写检测纠正论文-07-NLPTEA-2020中文语法错误诊断共享任务概述
  • CMake配置区分Debug和Release模式
  • 家政预约小程序05活动管理
  • Centos文件已删除空间未释放
  • leetcode 3280. 将日期转换为二进制表示 简单
  • Spring Boot 3 文件下载、多文件下载以及大文件分片下载、文件流处理、批量操作 和 分片技术
  • Java工程师实现视频文件上传minio文件系统存储及网页实现分批加载视频播放
  • 12.30-1-5学习周报
  • 【时时三省】(C语言基础)动态内存函数realloc
  • Node.js 常用命令全攻略
  • VSCode 插件开发实战(十三):如何添加个性化欢迎信息
  • Whiteboard-of-Thought——让大语言模型在白板上写下它们的推理过程,可以大大提高模型在视觉推理能力
  • Github - 如何提交一个带有“verified”标识的commit
  • 【漫话机器学习系列】031.数据增强(Dateset augmentation)
  • 安装、快速入门
  • npm 切换镜像源
  • MySQL5.7主从同步配置
  • mysql查询报错java.sql.SQLException: Illegal mix of collations for operation ‘UNION‘
  • 【智行安全】基于Synaptics SL1680的AI疲劳驾驶检测方案
  • 原生js封装ajax请求以及css实现提示效果和禁止点击效果
  • Android笔试面试题AI答之Android基础(9)
  • 扩充vmware磁盘大小以及分区