原来在UNITY中使用system.io下的所有函数都可以用相对路径 : Assets/xx

代码如下图,这样就不用在绝对路径和相对路径之间不断转换了。

想要得到绝对路径时就傅 Application.dataPath  + xxx

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class abbuilder
{[MenuItem("AssetBundle/BuildABx")]public static void BuildAB(){var rootPath = "Assets/ResInGame";if (!Directory.Exists(rootPath)){Debug.LogError("file not exist:" + rootPath);return;}var files = Directory.GetFiles(rootPath, "*", SearchOption.AllDirectories);var abBuilds = new List<AssetBundleBuild>(files.Length / 2); //估计值,肯定够了,因为每个文件夹也有META文件var stopwt = System.Diagnostics.Stopwatch.StartNew();var t1 = stopwt.ElapsedMilliseconds;foreach (var item in files){var dir = Path.GetDirectoryName(item);var fileName = Path.GetFileName(item);if (item.EndsWith(".meta"))continue;var relativeDir = item.Substring(17);var abBuild = new AssetBundleBuild();abBuild.assetBundleName = relativeDir;abBuild.assetNames = new string[] { item };abBuild.assetBundleVariant = "ab";//Debug.Log(item + "\n" + fileName + "\n");
abBuilds.Add(abBuild);}var abPath = Application.dataPath.Substring(0, Application.dataPath.Length-6) + "Bundles";if (!Directory.Exists(abPath)){Directory.CreateDirectory(abPath);}var dt1 = stopwt.ElapsedMilliseconds - t1;BuildPipeline.BuildAssetBundles(abPath, abBuilds.ToArray(), BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.Android);var dt2 = stopwt.ElapsedMilliseconds - t1 - dt1;EditorUtility.DisplayDialog("", dt1 +"," + dt2, "ok");}
}

posted on 2019-06-12 12:06 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

原来在UNITY中使用system.io下的所有函数都可以用相对路径 : Assets/xx相关推荐

  1. Unity中获取一个物体下所有的子物体的方法

    Unity中获取一个物体下所有的子物体的方法 方法1(获取全部子物体,无论子物体SetActive是否为true): using System.Collections; using System.Co ...

  2. 如何将struct System.Byte byte []转换为C#中的System.IO.Stream对象?

    如何将struct System.Byte byte[]转换为C#中的System.IO.Stream对象? #1楼 查看MemoryStream类. #2楼 您正在寻找MemoryStream.Wr ...

  3. Unity中实现Scene模式下的鼠标操作效果

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

  4. 【.Net实用方法总结】 整理并总结.NET 中的 System.IO.Pipelines(管道)

  5. 关于UNITY中System.Drawing引用失败的处理方法

    关于UNITY中System.Drawing引用失败的处理方法 今天在使用EPPlus中,遇到一个处于This type has been forwarded to assembly 'System. ...

  6. 错误 CS1069 未能在命名空间“System.IO.Ports”中找到类型名

    错误 CS1069 未能在命名空间"System.IO.Ports"中找到类型名 这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于 ...

  7. Unity中使用TexturePacker优化图集

    转自:https://blog.csdn.net/Happy_zailing/article/details/87190150 TexturePacker是一款非常牛逼的打图集软件,是一款收费软件.这 ...

  8. ASP.NET中删除文件夹下的文件

    一般在上传文件的时候,特别是一些比较大的媒体文件的时候,只会把文件的路径存在数据库中,而媒体文件则单独存在某个文件夹里.通过System.IO下的file.delete方法删除. 例2: string ...

  9. Unity中调用手机中的粘贴功能

    最近有个小需求,就是点击一个按钮,然后复制整个文本中的内容..然后根据网上大神们的教程找到了思路.. https://blog.csdn.net/u011416077/article/details/ ...

最新文章

  1. 成功解决AttributeError: module ‘tornado.web‘ has no attribute ‘asynchronous‘
  2. Hashtable、HashMap、TreeMap总结
  3. 【数据库】数据库查询之关键字except,having
  4. mysql dba环境验收_面对一个全新的环境,作为一个Mysql DBA,应该了解
  5. 动态路由 RIP的配置方法
  6. 卡巴斯基称发现美国中情局CIA 开发的新恶意软件
  7. Scrapy框架的使用之Spider Middleware的用法
  8. eclipse下载支持compiler compliance level 1.8的插件
  9. Qt的下载安装全教程
  10. 毕业设计选题管理系统
  11. 世界三大统计分析软件sas splus spss
  12. 欢乐颂 c语言编程代码,欢乐颂
  13. 硬件设计——PWM原理与设计
  14. gets,fgetc,fgets,getc,getchar,putc,fputc,putchar,puts,fputs函数详讲
  15. 黑马程序员Netty全套教程,全网最全Netty深入浅出教程,Java网络编程的王者
  16. CD 20 打气球的最大分数
  17. bzoj 1208 宠物收养所 Splay入门
  18. js 预编译 AO对象跟GO对象
  19. 三角形外心坐标的计算公式
  20. 企业宣传片的转场技巧

热门文章

  1. 笔记-项目沟通管理-如何改进项目沟通
  2. Leaflet中使用leaflet.polylineDecorator插件绘制箭头线及虚线矩形
  3. SpringBoot+ElementUI实现通用文件下载请求(全流程图文详细教程)
  4. 讲故事的用户故事样例之1
  5. 异或方式找到一组数组中不重复的两个数(同班同学方法)
  6. spark python3.6_在mac上搭建spark+ipython环境
  7. mac版lightroom cc_Photoshop问世30周年 Mac和iPad版获重要更新
  8. 神策智能推荐 | 运营后台,你的智能分发“万能助手”
  9. 标签体系、用户分群、用户画像「玩味」解读,你沦为形式主义了吗?
  10. Spring注入方法