zoukankan      html  css  js  c++  java
  • Unity进阶----AssetBundle_03(2018/11/07)

    1. 为啥有AB包? 因为资源需要更新, 避免更新一次打包一次 动态修改.

    2. AB包注意啥? 依赖关系 找依赖关系应该找到对应的平台!!! 

    3. 打包策略是分场景打包 若文件被文件夹包含打包出来的就是文件夹的名字 否则是场景文件夹名称

    4. 当我AB包从硬盘加载完成之后 是不是就该加载到内存 并实例化了? 带有缓存的ab加载机制

    5.脚本不允许出现在打包目录的 dll

    6.知道加载的过程 说出来! 这个很重要(依赖加载必须会). 知道框架的基本作用 以后会拿出来用或修改 

    7. Lua: Lua语言和其他脚本语言有一致特性 Python C很大的渊源 

    8.操作步骤:

    a. 指定场景

    b. 指定abname

    c.指定objinabname

    d. 协同

    e. 委托 void string

    f.在委托里面进行物体的实例化操作

     1 using System.Collections;
     2 using System.Collections.Generic;
     3 using UnityEngine;
     4 using UnityEngine.SceneManagement;
     5 using LLWHABFW;//引用框架
     6 
     7 public class Scene03Boll : MonoBehaviour {
     8 
     9     private string _abScene = "scenes03";
    10 //压缩场景的名字---------------------------------->"a"
    11     private string _abName = "scenes03/scenes03.ab";
    12 //压缩场景中物体的名字----------------->"b"
    13     private string _obj01InAB = "Plane.prefab";
    14 //在scenes03.ab中预制体Plane的名字---------->"c"
    15     private string _obj02InAB = "Sphere.prefab";
    16 //在scenes03.ab中预制体Sphere的名字-------->"c"
    17     private List<GameObject> _mylist;
    18     void Start()
    19     {
    20         _mylist = new List<GameObject>();        StartCoroutine(AssetBundleMgr.GetInstance().LoadAssetBundlePack(_abScene, _abName, heheda));
    21  //解压所需物体及其依赖-------------------------------------->"d"(参数最后一个为"e")
    22     }
    23     
    24     void Update () 
    25     {
    26         if (Input.GetKeyDown(KeyCode.Space)) 
    27         {
    28             for  (int i=0;i<_mylist.Count;i++)
    29             {
    30                 Destroy(_mylist[i]);
    31             }
    32             _mylist.Clear();
    33 
    34             AssetBundleMgr.GetInstance().DisposeAllAssets(_abScene);
    35             ABManifestLoader.GetInstance().Dispose();
    36             
    37             StartCoroutine("ssss");
    38         }
    39     }
    40     private void  heheda(string yu)
    41 //实例化------------------------------------------------>"f"
    42     {
    43         GameObject plan, boll;
    44         plan = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj01InAB, false) as GameObject;
    45         boll = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj02InAB, false) as GameObject;
    46        _mylist.Add( Instantiate(plan));
    47        _mylist.Add(Instantiate(boll));
    48     }
    49     IEnumerator ssss() 
    50     {
    51         yield return new WaitForSeconds(3);     
    52         SceneManager.LoadScene("1");
    53     }
    54 }

     


    压缩包对应关系:

     

     

     

    更改路径位置:


  • 相关阅读:
    MySQL性能优化(二):优化数据库的设计
    MySQL性能优化(一):优化方式
    PTA 07-图4 哈利·波特的考试 (25分)
    PTA 06-图3 六度空间 (30分)
    PTA 06-图2 Saving James Bond
    PTA 06-图1 列出连通集 (25分)
    PTA 05-树9 Huffman Codes (30分)
    PTA 05-树8 File Transfer (25分)
    PTA 05-树7 堆中的路径 (25分)
    PTA 04-树6 Complete Binary Search Tree (30分)
  • 原文地址:https://www.cnblogs.com/Future-Better/p/9922920.html
Copyright © 2011-2022 走看看