注: 编辑器扩展方面 Unity5 AssetBundle
Unity5对AssetBundle做了很大的调整,与旧版很大不同,例如,如果一个资源已经打包,如果该资源没有任何更新,那么该资源将不会被打包。打包的同时会生成该文件同名的“*.manifest”文件,该文件中记录了打包后的bundle文件的相关信息。
此外,在Inspector面板中还多出了AssetBundle的名称和文件扩展名的的选项,如图:
最近有个需求需要通过以编辑器扩展方式实现同时设置多个资源文件的AssetBundle文件名和后缀。
代码如下:
[MenuItem("Tool/SetFileBundleName")]
static void SetBundleName()
{
#region 设置资源的AssetBundle的名称和文件扩展名
UnityEngine. Object[]
selects = Selection.objects;
foreach (UnityEngine. Object selected in selects)
{
string path
= AssetDatabase.GetAssetPath(selected);
AssetImporter asset
= AssetImporter .GetAtPath(path);
asset.assetBundleName = selected.name; //设置Bundle文件的名称
asset.assetBundleVariant = "unity3d";//设置Bundle文件的扩展名
asset.SaveAndReimport();
}
AssetDatabase .Refresh();
#endregion
}
这样,在Project面板中选中多个资源点击菜单项“Tool/SetFileBundleName”就自动将AssetBundle项设置为资源的名字,将后缀设置为“unity3d”。
注意:此时Inspector面板并没有及时刷新,可能看到的还是None,但是实际上已经设置了,只需要鼠标点击其他任意文件,再点回来就可以看到。
版权声明:本文为博主原创文章,未经博主允许不得转载。