Unity制作游戏AB包

需要注意的是在游戏场景运行的情况下,不能编译AB包,不运行的情况下编译AB包需要使用Unity的扩展菜单功能,首先需要建立菜单用来编译AB包。

1、建立AB包的名字,首先选中需要创建包的素材文件,然后在Inspector面板的最下方有一个两条横线,

把鼠标悬浮到横线上,鼠标向上拖动最下方就会出现AssetBundle的选项,

选择中间的选项,点击New创建AB包的名字即可

建立菜单:此脚本需要继承Editor类,并且引用Editor命名空间,凡是继承Editor类的脚本必须放到项目Editor文件夹下。

1、  创建菜单使用编辑器扩展功能,只需要在静态方法前加上[MenuItem(菜单目录)]就可以在菜单列表创建一个自定义名字的菜单。

    [MenuItem("打包/AB")]
static void ABTest()
{
Debug.Log("开始AB包");
BuildPipeline.BuildAssetBundles("Assets/Prefabs",
BuildAssetBundleOptions.None,
BuildTarget.StandaloneWindows64);
}

编辑菜单

AB包创建完成之后,只需要在创建出来的文件中找到跟你设置的AB包名字一样的文件,上传到Web服务器,并且能够根据链接下载就行。

2、接下来只需要使用Unity的WWW网络类下载就可以了,下载之后就可以使用了。

     void Start()
{ StartCoroutine(GetCube()); }
IEnumerator GetCube()
{
WWW w = new WWW("http://192.168.0.105/cube");
yield return w;
if (w.isDone)
{
AssetBundle ab = w.assetBundle;
GameObject ga = ab.LoadAsset<GameObject>("Assets/Prefabs/Cube.prefab");
ga = Instantiate(ga);
}
}

加载AB包

Unity加载AB包的更多相关文章

  1. Unity加载AB资源

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class AssetBun ...

  2. unity加载ab后,场景shader不起效问题(物件表现黑色)

    需要把unity自带的shader,加入到默认列表

  3. Unity加载AssetBundle的方法

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

  4. [转]全面理解Unity加载和内存管理

    [转]全面理解Unity加载和内存管理 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质 ...

  5. spring加载jar包中多个配置文件(转)

    转自:http://evan0625.iteye.com/blog/1598366 在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <co ...

  6. 解决IDEA中Maven加载依赖包慢的问题

    原理:maven加载jar包过程,默认的是先扫描本地仓库,若本地仓库没有,则扫描远程仓库下载.默认的conf/settings.xml文件没有配置远程仓库,所以扫描的是maven的中央仓库(在国外), ...

  7. JAVA动态加载JAR包的实现

    如何动态的加载这些驱动!不可能把所有的数据库驱动都集成到JAR包中吧?!于是动态加载驱动的JAR包就产生了!其实这些在做系统基础代码时,经常用到,只是一般我们没有机会去搞而已. 动态加载JAR包,使用 ...

  8. 全面理解Unity加载和内存管理

     全面理解Unity加载和内存管理http://game.ceeger.com/forum/read.php?tid=4394&fid=2&uid=6507 1.用简单的“for”循环 ...

  9. 仿写自己的一个加载语言包的L函数

    <?php /** * [L 加载语言的L的方法] * @param [string] $key [语言键的名称] * @return [string] $value [取到的语言值] */ f ...

随机推荐

  1. springboot配置logback日志

    springboot配置logback日志 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日 ...

  2. CTF-SSH服务渗透

    环境 Kali ip 192.168.56.102 Smb 靶机ip 192.168.56.101 0x01信息探测 首页发现有类似用户名的信息 先记录下来 Martin N Hadi M Jimmy ...

  3. [BZOJ4947] 字符串大师 - KMP

    4974: [Lydsy1708月赛]字符串大师 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 739  Solved: 358[Submit][Sta ...

  4. [POI2015]PIE

    题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色.你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求:( ...

  5. POI读入Excel用String读取数值类型失真问题(精度丢失)

    问题:POI读取Excel数值单元格时,读取的小数数值与真实值不一致 话不多说,直接上代码! public static String getRealStringValue(Cell cell) { ...

  6. Vulnhub靶场渗透练习(五) Lazysysadmin

    第一步扫描ip    nmap 192.168.18.*  获取ip 192.168.18.147 扫描端口 root@kali:~# masscan - --rate= Starting massc ...

  7. Vue系列---源码调试(二)

    我们要对Vue源码进行分析,首先我们需要能够对vue源码进行调式(这里的源码调式是ES6版本的,不是打包后的代码),因此首先我们要去官方github上克隆一份vue项目下来,如下具体操作: 1. cl ...

  8. 图片放大缩小插件 zoom.js 怎么用

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf ...

  9. Spring Boot - 访问外部接口最全总结

    Spring Boot - 访问外部接口 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如调用外部的地图API或者天气API. Spring ...

  10. 02 Python学习笔记-基本数据类型(二)

    一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...