zoukankan      html  css  js  c++  java
  • unity 打包资源及网络请求资源包


    第一步 导包


    在Assets新建一个Editor目录 

    新建一个Test类

    using UnityEngine;
    using System.Collections;
    using UnityEditor;
     
    public class Test : Editor
    {
        //打包单个
        [MenuItem("Custom Editor/Create AssetBunldes Main")]
        static void CreateAssetBunldesMain ()
        { 
            Object[] SelectedAsset = Selection.GetFiltered (typeof(Object), SelectionMode.DeepAssets); 
            foreach (Object obj in SelectedAsset) 
            { 
                string 	targetPath = Application.dataPath + "/StreamingAssets/" + obj.name + ".assetbundle";
                if (BuildPipeline.BuildAssetBundle (obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies)) {
                    Debug.Log(obj.name +"资源打包成功");
                } 
                else
                {
                    Debug.Log(obj.name +"资源打包失败");
                }
            }
            //刷新编辑器
            AssetDatabase.Refresh ();   
             
        }
         
        [MenuItem("Custom Editor/Create AssetBunldes ALL")]
        static void CreateAssetBunldesALL ()
        {
             
            Caching.CleanCache ();
      
     
            string Path = Application.dataPath + "/StreamingAssets/ALL.assetbundle";
      
             
            Object[] SelectedAsset = Selection.GetFiltered (typeof(Object), SelectionMode.DeepAssets);
      
            foreach (Object obj in SelectedAsset) 
            {
                Debug.Log ("Create AssetBunldes name :" + obj);
            } 
            if (BuildPipeline.BuildAssetBundle (null, SelectedAsset, Path, BuildAssetBundleOptions.CollectDependencies)) {
                AssetDatabase.Refresh ();
            }else{
                 
            }
        }
         
        [MenuItem("Custom Editor/Create Scene")]
        static void CreateSceneALL ()
        {
            //清空一下缓存
            Caching.CleanCache();
            string Path = Application.dataPath + "/MyScene.unity3d";
            string  []levels = {"Assets/Level.unity"};
            //打包场景
            BuildPipeline.BuildPlayer( levels, Path,BuildTarget.WebPlayer, BuildOptions.BuildAdditionalStreamedScenes);
            AssetDatabase.Refresh ();
        }
         
    }


    选择须要导出的prefab 在菜单中找到Custom Editor

    导出就可以,导出的目标目录 为StreamingAssets  

    show in explore 就能够找到导出的 assetbundle


     网络请求资源包


    须要注意的是:调用网络请求,须要使用协同 tartCoroutine(load());

    load 函数例如以下

    private IEnumerator load() {
    		WWW www = new WWW("http://localhost/model/Cube.assetbundle"); 
    		yield return www;
    		print("load complate:------------------------------------"+Time.time);
     
    		
        }




  • 相关阅读:
    Linux下Kafka单机安装配置
    MySQL30条规范解读
    MySQL联合索引最左匹配范例
    Percona Data Recovery Tool 单表恢复
    SQL中的where条件,在数据库中提取与应用浅析
    【leetcode】908. Smallest Range I
    【leetcode】909. Snakes and Ladders
    【leetcode】910. Smallest Range II
    【leetcode】395. Longest Substring with At Least K Repeating Characters
    【leetcode】907. Sum of Subarray Minimums
  • 原文地址:https://www.cnblogs.com/blfshiye/p/3756399.html
Copyright © 2011-2022 走看看