BuildAssetBundles文件打包:

public class BuildAssetBundlesTest : Editor

{

//定义打包文件路径

public static string sourpath = Application.dataPath + "/Res";

//窗口打包按键制作

[MenuItem("XL/AssetBundle/BundleAssetsss")]

//BuildAssetBundle方法(打包主方法)

static void BuildAssetBundle()

{

//调用方法清理原有打包文件名

clearName();

//打包实现 方法

pack(sourpath);

string path = Application.streamingAssetsPath+"/haha";  //打包后文件路径

//判断是否存在,有则进行删除

if (Directory.Exists(path) == false)

{

Directory.CreateDirectory(path);

}

//固定格式

BuildPipeline.BuildAssetBundles(path,BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);

}

//清理旧的打包文件

static void clearName()

{

string[] oldName = AssetDatabase.GetAllAssetBundleNames();

for (int i = 0; i < oldName.Length; i++)

{

//删除文件名

AssetDatabase.RemoveAssetBundleName(oldName[i], true);

}

}

//根据路径进行打包

static void pack(string source)

{

//字典存放数据

DirectoryInfo folder = new DirectoryInfo(source);、

//得到数据流

FileSystemInfo[] files = folder.GetFileSystemInfos();

int length = files.Length;

//分文件夹分文件逐步打包

for (int i = 0; i < length; i++)

{

if (files[i] is DirectoryInfo)

{

pack(files[i].FullName);

}

else

{

if (!files[i].Name.EndsWith(".meta"))

{

substring(files[i].FullName);

}

}

}

}

//得到想要的文件名格式

static void substring(string sources)

{

string str01 = sources.Replace("\\", "/");

string str02 = str01.Substring(Application.dataPath.Length - 6);

string str03 = str01.Substring(Application.dataPath.Length + 1);

AssetImporter assetImporter = AssetImporter.GetAtPath(str02);

string str04 = str03.Substring(str03.IndexOf("/") + 1, str03.LastIndexOf("/") - str03.IndexOf("/")-2);

assetImporter.assetBundleName = str04;

}

}

注:文件打包需要根据设置的路径等进行设配修改文件打包的文件名

BuildAssetBundles文件打包的更多相关文章

  1. 【JavaScript】 Webpack安装及文件打包

    背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具.但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已. ...

  2. 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

    总结:                                                          使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: ...

  3. .deb文件打包

    最近因项目需要,需要把文件夹打包为.deb格式的包,幸亏一位朋友帮忙指导了我一个晚上,才得以完成,这里再次对他表示感谢. 整理打包流程如下: 请先参考此博客内容,了解deb文件打包 如何制作Deb包和 ...

  4. Linux 系统常用命令汇总(六) 文件打包与压缩

    文件打包与压缩 命令 选项 注解 示例 compress 文件名 压缩指定的文件,压缩后的格式为*.z compress install.log -d 解压被压缩的文件  .z为后缀的文件:compr ...

  5. Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤

    资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在 ...

  6. Asp.Net Web Api 2 实现多文件打包并下载文件示例源码_转

    一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件到本地实例>本文以这篇文章的基础,提供了Byt ...

  7. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  8. linux常用命令之--文件打包与压缩命令

    linux的文件打包与压缩命令 1.压缩与解压命令 compress:用于压缩指定的文件,后缀为.z 其命令格式如下: compress [-d] 文件名 常用参数: -d:解压被压缩的文件(.z为后 ...

  9. 如何将class文件打包成jar 这里提供两种方式!

    原地址:http://blog.163.com/09zzy@126/blog/static/711976652011101001530/ 如何将class文件打包成jar文件,这是一个很严肃的问题,当 ...

随机推荐

  1. 使用swiper.animate时,给一个对象添加两个动画且动画循环的方法

    swiper官网上给对象加一个动画的方法是 <div class="swiper-slide"> <p class="ani" swiper- ...

  2. Redis实现用户关注功能

    最近项目要涉及到粉丝关注问题,权衡再三还是使用Redis实现比较方便,使用Redis的有序集合可以做到根据关注的时间有序的取出列表,假设我的ID是me,别人的ID是other. 1. 添加关注 添加关 ...

  3. 关于redis-windows环境下的一些配置:

    如果报错: The Windows version of Redis allocates a memory mapped heap for sharing with the forked proces ...

  4. 割点(Tarjan算法)【转载】

    本文转自:www.cnblogs.com/collectionne/p/6847240.html 供大家学习 前言:之前翻译过一篇英文的关于割点的文章(英文原文.翻译),但是自己还有一些不明白的地方, ...

  5. weekly contest 116

    961. N-Repeated Element in Size 2N Array In a array A of size 2N, there are N+1 unique elements, and ...

  6. Angular2使用ng2-file-upload上传文件

    Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng2-uploader.ng2-uploader是一个轻便的上传文件的支持库,功能较弱,而ng2-f ...

  7. T-Sql操作Xml数据(转)

    T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...

  8. deque时间复杂度和vector,list比较

    deque supports const time insert and erase operations at the beginning or the end, insert or erase i ...

  9. Java基础笔记(十七)——继承(续)final

    final  最终的 修饰类,此类不能被继承.final与访问修饰符public位置随意,在class前即可.public final class A{ } 修饰方法,此方法不能被子类重写,但可以被子 ...

  10. CoreAnimation 核心动画 / CABasicAnimation/ CAKeyframeAnimation

    - (void)createBaseAnimation{ //基础动画 CABasicAnimation *animation = [CABasicAnimation animation]; anim ...