BuildAssetBundles文件打包
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文件打包的更多相关文章
- 【JavaScript】 Webpack安装及文件打包
背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具.但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已. ...
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: ...
- .deb文件打包
最近因项目需要,需要把文件夹打包为.deb格式的包,幸亏一位朋友帮忙指导了我一个晚上,才得以完成,这里再次对他表示感谢. 整理打包流程如下: 请先参考此博客内容,了解deb文件打包 如何制作Deb包和 ...
- Linux 系统常用命令汇总(六) 文件打包与压缩
文件打包与压缩 命令 选项 注解 示例 compress 文件名 压缩指定的文件,压缩后的格式为*.z compress install.log -d 解压被压缩的文件 .z为后缀的文件:compr ...
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在 ...
- Asp.Net Web Api 2 实现多文件打包并下载文件示例源码_转
一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件到本地实例>本文以这篇文章的基础,提供了Byt ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- linux常用命令之--文件打包与压缩命令
linux的文件打包与压缩命令 1.压缩与解压命令 compress:用于压缩指定的文件,后缀为.z 其命令格式如下: compress [-d] 文件名 常用参数: -d:解压被压缩的文件(.z为后 ...
- 如何将class文件打包成jar 这里提供两种方式!
原地址:http://blog.163.com/09zzy@126/blog/static/711976652011101001530/ 如何将class文件打包成jar文件,这是一个很严肃的问题,当 ...
随机推荐
- Socket编程--TCP粘包问题
TCP是个流协议,它存在粘包问题 产生粘包的原因是: TCP所传输的报文段有MSS的限制,如果套接字缓冲区的大小大于MSS,也会导致消息的分割发送. 由于链路层最大发送单元MTU,在IP层会进行数据的 ...
- 《Linux内核设计与实现》读书笔记(九)- 内核同步介绍
存在共享资源(共享一个文件,一块内存等等)的时候,为了防止并发访问时共享资源的数据不一致,引入了同步机制. 主要内容: 同步的概念 同步的方法-加锁 死锁 锁的粒度 1. 同步的概念 了解同步之前,先 ...
- docker网络模式----入门docker的难点
众所周知,现在docker是轻量级虚拟化的典型代表!这段时间想要建立一个分布式系统,但是手头上主机没那么多,所以使用docker进行虚拟化,但是在使用的过程中对网络这一部分是一直不太理解,特别找了一篇 ...
- html5 canvas绘制矩形和圆形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Binder学习笔记(二)——defaultServiceManager()返回了什么?
不管是客户端还是服务端,头部都要先调用 sp < IServiceManager > sm = defaultServiceManager(); defaultServiceManager ...
- LinkExtractor 构造器各参数说明
LinkExtractor 构造器各参数说明 特例: LinkExtractor构造器的所有参数都有默认值 各参数说明: allow 接收一个正则表达式或一个正则表达式列表,提取绝对url与正则表达式 ...
- truts2标签-forEach标签
<c:forEach begin="1" end="${obj.portnum}" step="1" varStatus=" ...
- linux下将当前目录下的文件名存到一个文本文件里
如果只是想得到当前目录下(不包括子目录)的相关文件时:ls -l | grep ".gz$" > 1.txt 如果想得到当前目录下,包括子目录中的相关文件时,应该用find ...
- 阿里云服务器部署Tornado应用指南
本篇详细介绍tornado应用部署到阿里云服务器上的全过程. Tornado程序地址:github https://github.com/ddong8/ihasy.git 准备工作:阿里云服务器Cen ...
- 【Leetcode】Remove Duplicates from Sorted List II
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...