纳金网

标题: AssetBundle资源打包(转载) [打印本页]

作者: 烟雨    时间: 2015-6-25 08:30
标题: AssetBundle资源打包(转载)

最近在做学习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();
    }
}



好了打包场景就这样了,网上也一大堆希望这个对你有所帮助——羽毛






欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5