Tools(四)——FileU3DBuild

原创 2017年09月13日 20:15:21
目录为:Assets/Scripts/Tools/Editor,
FileU3DBuild.cs
这文件其实也只是单个文件打包成assetbundle而已.
using UnityEngine;
using UnityEditor;
using System.IO;


public class FileU3dBuild  {

    //只能选择文件,不能选择文件夹
    [@MenuItem("BoLong/Build  AssetBundles/From Files")]
    static void ExportAssetBundles(){
        //相对于项目文件夹的目录
        //例如:Assets/Scripts/TestScript.cs
        string path = AssetDatabase.GetAssetPath(Selection.activeObject);

        //path1:Assets/Scripts
        string path1 = Path.GetDirectoryName(path);



        BuildAssetBundleOptions option = BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets;//资源包编译选项

        if(path1.Length != 0)
        {
            path1 = path1.Replace("Assets/","");

            string [] fileEntries1 = Directory.GetFiles(Application.dataPath + "/" +path1);
            foreach(string fileName in fileEntries1)
            {
                //排除meta文件
                if (fileName.IndexOf(".meta") == -1)
                {
                    string filePath =  fileName.Replace("\\","/");

                    int index = filePath.LastIndexOf("/");
                    //   /TestScript.cs
                    filePath = filePath.Substring(index);

                    string localPath = "Assets/" + path1;
                    if(index > 0 )
                    {
                        //文件相对于项目文件夹的目录
                        localPath += filePath;
                    }

                    Object t = AssetDatabase.LoadMainAssetAtPath(localPath);
                    if(t != null)
                    {
                        string bundlePath = "Assets/" + path1 + "/" + t.name + ".unity3d";
                        //这在5.x里好像已经不能用了
                        BuildPipeline.BuildAssetBundle(t,null,bundlePath,option);
                    }
                }
            }
        }
        else 
        {
            Debug.LogError("path null");
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

TQ2440 学习笔记—— 3、如何在ubuntu 9.10 下安装vmware-tools?

用vmware虚拟机安装了ubuntu之后,为了实现更加强大的功能,比如说直接从windows主机拖文件进入ubuntu,以及加强ubuntu的性能,我们一般都要安装vmware tools。在Win...

Chromium OS——下载源码3之配置depot_tools

安装depot_tools并将其路径加到PATH中

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

android gradle tools 3.X 中依赖,implement、api 和compile区别

转载:android gradle tools 3.X 中依赖,implement、api 指令 转载地址:http://blog.csdn.net/soslinken/article/detail...

关于 failed to find build tools revision 23.0.0 rc3的问题

========================================================== 项目里面的子项目中的gradle文件有些版本是不对应的。修改成你可以使用的版本就可...

Cortex-M3 - Programming STM32-Discovery using GNU tools Startup code

Start up code is run just after microcontroller is reset and is executed before main program. As lin...

PHP的SMS Server Tools 3驱动网管程序

有关SMS Server Tools 3的配置和使用见上一偏文章,这篇来分享我的PHP驱动程序(转载请注明出处): <?php /** * Created by JetBrains PhpSt...

用Vmware和vm tools虚拟机装Linux Ubuntu16 配置anaconda python3环境 安装tensorflow/tflearn

Authoried by Monana Contact me via hemonan@vip.163.com 0、安装前的准备答疑 1.很多人都会有疑问,我到底在虚拟机里装linux好,还是...

spring3的velocity-tools-2.0配置问题,修改后支持classpath下的工具配置文件

spring3.0的org.springframework.web.servlet.view.velocity.VelocityToolboxView不支持velocity tools2.0版本,需重...
  • zshake
  • zshake
  • 2014-10-10 11:53
  • 1173

制作initrd(3):/etc/initramfs-tools/modules配置文件分析

这是前面:一文增补,简单解释在制作initrd过程中一些原理。     中提到如果想向initrd.img中添加新的模块,可在/etc/initramfs-tools/modules文件中添加相应模...

android gradle tools 3.X 中依赖,implement、api 指令

在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,一个是implement 和api,这两个都可以进行依赖添加,但是有什么区别呢?
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)