unity場景和資源打包
using UnityEngine;
using UnityEditor;
using System.Collections;
#if UNITY_EDITOR
public class CreatScensAndBunddle : MonoBehaviour {
[MenuItem("Assets/資源打包")]
static void BuildAllAssetBundles_pc()
{
BuildTarget targetPlatform = BuildTarget.StandaloneWindows64;
BuildAssetBundleOptions assetBundleOptions = BuildAssetBundleOptions.None;
string outputPath = Application.dataPath + "/MyAssets";
//string outputPath = Application.dataPath + "/StreamingAssets/WebGL";
BuildPipeline.BuildAssetBundles(outputPath, assetBundleOptions, targetPlatform);
}
[MenuItem("Assets/場景選擇打包")]
static void MyBuild()
{
var path2 = EditorUtility.OpenFilePanel("開啟我們的UNITY場景", "", "unity"); //場景選擇
string[] paths = path2.Split('/');
string MyScens = paths[paths.Length - 1];
string MysecnsName = MyScens.Split('.')[0];
Debug.Log(MysecnsName);
// 需要打包的場景名字
string[] levels = { "Assets/" + MysecnsName + ".unity" };
// 注意這裡【區別】通常我們打包,第2個引數都是指定資料夾目錄,在此方法中,此引數表示具體【打包後文件的名字】
// 記得指定目標平臺,不同平臺的打包檔案是不可以通用的。最後的BuildOptions要選擇流格式
BuildPipeline.BuildPlayer(levels, Application.dataPath + "/" + MysecnsName + ".unity3d", BuildTarget.StandaloneWindows64, BuildOptions.BuildAdditionalStreamedScenes);
// 重新整理,可以直接在Unity工程中看見打包後的檔案
AssetDatabase.Refresh();
}
}
#endif