码迷,mamicode.com
首页 > 编程语言 > 详细

Unity进阶----AssetBundle_03(2018/11/07)

时间:2018-11-08 16:27:18      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:mon   内存   undle   scene   tor   class   对应关系   stl   Plan   

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 }

 

 


压缩包对应关系:

技术分享图片

 

 

 

更改路径位置:

技术分享图片


Unity进阶----AssetBundle_03(2018/11/07)

标签:mon   内存   undle   scene   tor   class   对应关系   stl   Plan   

原文地址:https://www.cnblogs.com/Future-Better/p/9922920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!