久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Unity C# 打包AssetBundle與場(chǎng)景

 勤奮不止 2020-05-09

轉(zhuǎn)載請(qǐng)標(biāo)明原文地址:https://segmentfault.com/a/11...

Unity2018已經(jīng)把打包過(guò)程簡(jiǎn)化很多了
我們只需要關(guān)心1個(gè)API:
1.BuildPipline.BuildAssetBundles() 打包AssetBundle
2.BuildPipline.BuildPlayer() 打包場(chǎng)景 (場(chǎng)景可以打包進(jìn)AssetBundle里動(dòng)態(tài)加載 所以不推薦用這個(gè)API了)

1.打包AssetBundle
先在資源的Inspector面板最下方 填寫資源所屬的AssetBundle名稱和后綴(后綴可以不填)
再利用BuildPipeline.BuildAssetBundles()進(jìn)行打包
填寫資源包名

2.打包Scene
(1)可以利用BuildPipline.BuildAssetBundles()進(jìn)行打包。
注意:場(chǎng)景包內(nèi)只能給.unity場(chǎng)景文件填寫資源包名,,不能給其他資源命名,,否則打包會(huì)失敗
一個(gè)場(chǎng)景ab包內(nèi)可以包含多個(gè)場(chǎng)景文件,場(chǎng)景需要的資源會(huì)自動(dòng)關(guān)聯(lián)
有些資源是Editor下專用的,。不會(huì)被打包進(jìn)ab里 比如LightingData.asset
使用方式是www加載場(chǎng)景ab包后 先調(diào)用www.assetBundle 再調(diào)用SceneManager.LoadScene("name")
填寫資源包名

(2)利用BuildPipeline.BuildPlayer()進(jìn)行打包
為方便使用 先把要打包的場(chǎng)景放入指定的文件夾 通過(guò)腳本批量打包
推薦使用方法(1)打包

3.腳本批量打包
開(kāi)始打包
打包信息

4.打包完畢
打包完畢
打包完畢

5.加載資源測(cè)試
加載資源測(cè)試

6.打包和測(cè)試腳本

AssetBundleBuilder.cs

using UnityEngine;
using UnityEditor;
using System.IO;

/// <summary>
/// 打包工具
/// <para>打包AssetBundle(Unity 2018.2.20)</para>
/// <para>ZhangYu 2019-02-26</para>
/// <para>Blog:https://segmentfault.com/a/1190000018320573</para>
/// </summary>
public class AssetBundleBuilder {

    [MenuItem("批處理/打包AssetBundle")]
    private static void BuildAssetBundle() {
        BuildAssetBundles(CurrentBuildTarget);
    }

    // 打包AssetBundles
    private static void BuildAssetBundles(BuildTarget platform) {
        // 提示信息
        string msg = "當(dāng)前平臺(tái):{0}\n輸出路徑:{1}";
        string output = Application.streamingAssetsPath + "/Abs";
        msg = string.Format(msg, platform.ToString(), output);
        if (EditorUtility.DisplayDialog("打包信息", msg, "確定", "取消")) {
            if (!Directory.Exists(output)) Directory.CreateDirectory(output);
            EditorUtility.DisplayProgressBar("信息", "打包資源包", 0f);
            BuildPipeline.BuildAssetBundles(output, BuildAssetBundleOptions.DeterministicAssetBundle, platform);
            AssetDatabase.Refresh();
            EditorUtility.DisplayDialog("提示", "打包AssetBundle完畢", "確定");
        }
    }

    // 當(dāng)前平臺(tái)
    private static BuildTarget CurrentBuildTarget {
        get {
            #if UNITY_STANDALONE
            return BuildTarget.StandaloneWindows;
            #elif UNITY_ANDROID
            return BuildTarget.Android;
            #elif UNITY_IPHONE
            return BuildTarget.iOS;
            #endif
        }
    }

}

LoadTest.cs

using UnityEngine;
using UnityEngine.SceneManagement;

/// <summary> 加載測(cè)試 </summary>
public class LoadTest : MonoBehaviour {

    private void Start () {
        LoadPrefab();
        LoadScene();
    }

    // 加載預(yù)制資源包
    private void LoadPrefab() {
        // 資源包路徑
        string path = Application.streamingAssetsPath + "/Abs/test_prefab.ab";

        // WWW下載
        Http http = gameObject.AddComponent<Http>();
        http.get(path, OnLoadPrefabAbComplete);
    }

    // 加載場(chǎng)景資源包
    private void LoadScene() {
        // 資源包路徑
        string path = Application.streamingAssetsPath + "/Abs/test_scene.ab";

        // WWW下載
        Http http = gameObject.AddComponent<Http>();
        http.get(path, OnLoadSceneAbComplete);
    }

    // 加載預(yù)制資源包完畢
    private void OnLoadPrefabAbComplete(WWW www) {
        // 實(shí)例化預(yù)制
        AssetBundle ab = www.assetBundle;
        Object prefab = ab.LoadAsset("Test");
        GameObject instance = (GameObject)Instantiate(prefab);
        DontDestroyOnLoad(instance);
    }

    // 加載場(chǎng)景資源包完畢
    private void OnLoadSceneAbComplete(WWW www) {
        // 必須寫www.assetBundle這句 這樣場(chǎng)景才能被讀取到
        AssetBundle ab = www.assetBundle;
        SceneManager.LoadScene("Test", LoadSceneMode.Single);
    }

}

7.打包插件
官方插件Asset Bundle Browser里不但提供了資源包的瀏覽功能 也提供了資源包的打包功能
如果想詳細(xì),、方便的了解打包參數(shù) 推薦使用該插件
打包插件
插件地址:https://assetstore./...
圖片描述

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多