[坑]Unity5.X—— AssetBundle
2017-07-04 17:19
211 查看
首先,应当给资源设置AssetBundleName
这里设置的是shape/cube,注意只能小写,可以利用/进行分层
设定完毕后,创建一个Editor文件夹并创建脚本BuildAssetBundle,扩展编辑器,代码如下
此时,在编辑器上出现扩展:
在AssetBundle菜单下,点击Build AssetBundles即可在Assets/AssetBundles文件下生成对应的AssetBundle
[需要注意的是,Assets/AssetBundles不会自动创建,需要在点击Build AssetBundles之前先手动创建文件夹]
如果没有问题的话,在编辑器下就会生成对应的文件:
但是,在执行时,Unity报错
解决办法 : 使用绝对路径来指定BuildAssetBundles的输出路径,更正后代码如下:
这里设置的是shape/cube,注意只能小写,可以利用/进行分层
设定完毕后,创建一个Editor文件夹并创建脚本BuildAssetBundle,扩展编辑器,代码如下
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class BuildAssetBundle{ [MenuItem("AssetBundle/Build AssetBundles")] static void BuildAllAssetBundles() { BuildPipeline.BuildAssetBundles("Assets/AssetBundles", BuildAssetBundleOptions.ForceRebuildAssetBundle, BuildTarget.StandaloneWindows); } }
此时,在编辑器上出现扩展:
在AssetBundle菜单下,点击Build AssetBundles即可在Assets/AssetBundles文件下生成对应的AssetBundle
[需要注意的是,Assets/AssetBundles不会自动创建,需要在点击Build AssetBundles之前先手动创建文件夹]
如果没有问题的话,在编辑器下就会生成对应的文件:
但是,在执行时,Unity报错
ArgumentException: The output path "Assets/AssetBundles" doesn't exist UnityEditor.BuildPipeline.BuildAssetBundles (System.String outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTargetGroup targetPlatformGroup, BuildTarget targetPlatform) (at C:/buildslave/unity/build/artifacts/generated/common/editor/BuildPipelineBindings.gen.cs:488) UnityEditor.BuildPipeline.BuildAssetBundles (System.String outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform) (at C:/buildslave/unity/build/artifacts/generated/common/editor/BuildPipelineBindings.gen.cs:481) BuildAssetBundle.BuildAllAssetBundles () (at Assets/Editor/BuildAssetBundle.cs:10)
解决办法 : 使用绝对路径来指定BuildAssetBundles的输出路径,更正后代码如下:
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class BuildAssetBundle{ [MenuItem("AssetBundle/Build AssetBundles")] static void BuildAllAssetBundles() { string path = Application.dataPath + "/Assets/AssetBundles"; BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.ForceRebuildAssetBundle, BuildTarget.StandaloneWindows); } }
相关文章推荐
- [Unity5.X]AssetBundle总结
- Unity3D 资源热更新之AssetBundle(Unity5.x)基础用法
- Unity 5.x AssetBundle零冗余解决方案
- Unity5.x版本AssetBundle打包研究
- Unity异步加载AssetBundle方案,4.x版本资源加载(5.x版本资源可以参考插件AssetBundleManager)
- Unity5.x版本AssetBundle加载研究
- unity5.X 初步学习 AssetBundle(一) 打包1
- Unity5.X AssetBundle打包
- unity-------------------Unity5.X 新版AssetBundle使用方案及策略
- 【Unity开发】Unity5.x版本的AssetBundle打包
- Unity5.x AssetBundle 的变化
- unity5.x assetbundle打包和加载
- Unity 5.x AssetBundle零冗余解决方案
- Unity 5.x中的AssetBundle(一)
- Unity5.x AssetBundle 的变化
- Unity 5.x中的AssetBundle(一)
- Unity 5.x中的AssetBundle(二)
- Unity教程之-Unity5.x版本AssetBundle加载研究
- Unity5.X 新版AssetBundle使用方案及策略
- Unity 5.x 的 AssetBundle的基本使用 (1)