- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53488
- 精华
- 316
|
最近在做学习AssetBundle资源打包,出于个人兴趣在这里出丑了,欢迎大家吐槽。不管三七二十一先贴代码:先讲解场景打包。
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Collections.Generic;
public class ExportAssetBundles : MonoBehaviour {
[MenuItem("Tools/BuildWebplayerScene")]
static void MyBuildScene()
{
//清空缓存
Caching.CleanCache();
//地址数组,用于存储待打包的场景,需自己决定打包那些场景
string[] scenes = { "Assets/Scenes/LvTest.unity" };
//将场景打包到Test.unity3d文件中,注意打包目标是.WebPlayer的资源,用于发布成网页的资源,这里可以指定打包成.StandaloneWindows
BuildPipeline.BuildPlayer(scenes , "Assets/Resources/Test.unity3d", BuildTarget.WebPlayer, BuildOptions.BuildAdditionalStreamedScenes);
AssetDatabase.Refresh();
}
//打包场景
[MenuItem("Tools/BuildWindowScene")]
static void ExportScene()
{
//清空缓存
Caching.CleanCache();
// 打开保存面板,获得用户选择的路径 ,参1 对话框名,参2默认路径,参3默认保存名,参4资源格式
string path = EditorUtility.SaveFilePanel("Save Resource", @"E:\", "New Resource", "assetbundle");//或可以为.unity3d
if (path.Length != 0)
{
// 选择的要保存的对象
Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
string[] scenes = { "Assets/Scenes/LvB.unity" };//要打包的场景放在该数组中
//注意BuildTarget选项
BuildPipeline.BuildPlayer(scenes, path, BuildTarget.StandaloneWindows, BuildOptions.BuildAdditionalStreamedScenes);
}
AssetDatabase.Refresh();
}
}
好了打包场景就这样了,网上也一大堆希望这个对你有所帮助——羽毛
|
|