查看: 689|回复: 0
打印 上一主题 下一主题

[其他] AssetBundle资源打包(转载)

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-6-25 08:30:05 |只看该作者 |倒序浏览

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



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

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 06:38 , Processed in 0.072163 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部