拿一个简单的Cube 来打包
先建立好层级文件夹Editor Test 文件下放资源
文件夹名字自定义自己熟悉最好 我自己那个简单明了 接下来上代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
using System.IO;
public class CreateAssetBundles : Editor
{
static List files = new List();
[MenuItem(“AssetBundle/CreateAssetBundle”)]//编辑器扩展菜单
static void AssetBundles()
{
Recurtion(“Assets/Test”);
//资源导入器
for (int i = 0; i < files.Count; i++)
{
AssetImporter assetImporter = AssetImporter.GetAtPath(files[i]);
string path = files[i].Replace(“Assets/”,string.Empty);
path = path.Substring(0,path.LastIndexOf("."));
assetImporter.assetBundleName = path;
//ab 是资源的包名
assetImporter.assetBundleVariant = “ab”;
}
//创建的文件夹
Directory.CreateDirectory(“AB/ABTest”);
//发布的平台
BuildPipeline.BuildAssetBundles(“AB/ABTest”, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
}
///
/// 递归遍历文件夹下的文件夹和文件
///
///
private static void Recurtion(string path)
{
string[]fileNames = Directory.GetFiles(path);
string[] dirs = Directory.GetDirectories(path);
foreach (var fileName in fileNames)
{
string extension = Path.GetExtension(fileName);
//.meta文件给去除
if (extension.EndsWith(".meta"))
{
continue;
}
//菜单层级
files.Add(fileName.Replace("\","/"));
}
foreach (var dir in dirs)
{
Recurtion(dir);
}
}
}
对资源打包命名 为 ab
把继承editor的脚本放在这个Editor文件夹下面 注意命名空间的引入 效果出现一个AssetBundle菜单栏
点击assetbundle 进行打包
最后效果为在这里插入图片描述
生成.ab文件与ABTest文件 需要右键点击刷新一下才能显示出来
大功告成!!!!