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. WebGoat系列实验AJAX Security

    WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...

  2. Android之Home键监听封装

    众所周知,我们监听返回键事件,无法是下面两个方法: @Override public void onBackPressed() { //do something //super.onBackPress ...

  3. WPF之MVVM模式(2)

    我们都想追求完美 Every view in the app has an empty codebehind file, except for the standard boilerplate cod ...

  4. ubuntu - 14.04,该如何分区安装(初学者或不用它作为生成环境使用)?

    ubuntu14.04,实际上现在它的安装很简单了,全图形界面,可以选择母语,但是实际使用起来如果分区不当,会让我们付出惨痛的代价,那么我们应该怎么分区安装呢? 如果我们并不是把它作为专业的服务器,或 ...

  5. 安装SSH,配置SSH无密码登陆

    环境:ubuntu16.04 Ubuntu 默认已安装了 SSH client,所以我们还需要安装 SSH server: sudo apt-get install openssh-server 安装 ...

  6. Object detection with deep learning and OpenCV

    目录 Single Shot Detectors for Object Detection Deep learning-based object detection with OpenCV   这篇文 ...

  7. Python flask虚拟环境安装

    1.安装virtualenv 2.在当前路径下创建文件夹,启动虚拟环境 3.在使用虚拟环境前需激活,前面出现(env说明在虚拟环境中).虚拟环境中默认安装了pip,所以直接pip安装flask 4.在 ...

  8. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.socket

    一.解决var/run/mysqld没有pid和sock文件 MySQL下mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次m ...

  9. linux进程切换问题

    #define switch_to(prev,next,last) do { \ unsigned long esi,edi; \ asm volatile("pushfl\n\t" ...

  10. Python中使用Beautiful Soup库的超详细教程

    [参考文献] http://www.jb51.net/article/65287.htm