zoukankan      html  css  js  c++  java
  • AssesBuddle的使用

    首先:编写一个处理AssetsBuddle(打包资源的按钮)的编辑器按钮;脚本如下:

    Using UnityEngine;

    Using System.Collections;

    Using UnityEditor;//注意  要引入编辑器命名空间

    Public class AssetBundleBuilder:Editor

    {

    [MenuItem("AB/Build")]

    public static void Build()

    {

    string path = Application.streamingAssetsPath;

    BuildPipeline.BuildAssetBundles(path);//将资源打包到这个路径下

    }

    }

    然后我们来测试一下:

    1:将你要打包的资源设置为预设体

    2;将下面的脚本挂在到摄像机(灯光上也行,运行场景可以直接加载就行)上

    using UnityEngine;

    using System.Collections;

    public class Test:MonoBehaviour

    {

        void Start()

    {

    StartCoroutine(LoadAB());//开启携程

    }

    IEnumerator LoadAB()

    {

    string path = "file://"+Application.streamingAssetsPath+"/leval";//打包后资源的路径

    WWW www = new WWW(path);//通过携程加载资源,放到www里

    yied return www;//等待加载完毕

    AssetBundle ab = www.assetBundle;// 将打包后的资源放到 AssetBundle里面

    GameObject obj = ab.LoadAsset("打包的资源名字")  as GameObject;//加载ab中的一个预设体,占用预设体内存

    Instantiate(obj);//加载物体占用实际内存

    //关闭ab,清除无用内存(释放AssetBundle) false释放当前资源,true释放所有资源

    ab.Unload(false);

    }

    }

    通过以上操作  就可以删掉你原来的资源,Assets里面只留下Assets和Editor(存放第一个AssetsBundleBuilder脚本)就可以啦

    运行场景可以通过AssetsBundle加载相应导报的资源到场景中;

  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/ningyongbin/p/5974100.html
Copyright © 2011-2022 走看看