AssetBundle学习笔记
Posted battly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AssetBundle学习笔记相关的知识,希望对你有一定的参考价值。
二.AssetBundle的加载
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LoadFromAB : MonoBehaviour { // Use this for initialization void Start () { AssetBundle ab2 = AssetBundle.LoadFromFile("AssetBundles/cube.unity3d"); AssetBundle ab = AssetBundle.LoadFromFile("AssetBundles/share.unity3d"); GameObject wallprefab = ab2.LoadAsset<GameObject>("Cube"); Instantiate(wallprefab); } // Update is called once per frame void Update () { } }
在使用AssetBundle包的时候先把资源加载到内存当中。官方文档中讲述的是,先加载贴图之类的包,然后加载物体资源包,但是经过实际测试,这个加载实际上是不分先后的,这个就略屌了。为了测试是否在物体实例化出来以后贴图是否能够找到并打上,我们改写代码测试一下。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LoadFromAB : MonoBehaviour { // Use this for initialization void Start () { AssetBundle ab2 = AssetBundle.LoadFromFile("AssetBundles/cube.unity3d"); GameObject wallprefab = ab2.LoadAsset<GameObject>("Cube"); Instantiate(wallprefab); //AssetBundle.LoadFromFile("AssetBundles/share.unity3d"); } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) { AssetBundle.LoadFromFile("AssetBundles/share.unity3d"); Debug.Log("加载成功"); } } }
结果就是在鼠标左键按下的时候,物体贴图成功的加载了出来。
但是为了避免发生不可预料的结果,建议还是按照官方文档中加载步骤进行
以上是关于AssetBundle学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
小松教你手游开发unity系统模块开发Unity Assetbundle打包笔记
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段