www下载ab包

2 篇文章 0 订阅
2 篇文章 0 订阅

www下载远程ab包

最近一直在忙WebGL的项目,简直蛋疼,尤其是内存方面,什么都得节省,不敢让模型做太高精度的贴图,ui也是,但是这个项目模型量有点多,导致加载时间简直长到不能忍受,于是还是把资源打成ab包,上传服务器,在网站打开后再进行下载使用

打ab包

unity打ab包很简单 把想要打包的资源,在assetlabel框里定好assetbundle名字就行,然后把以下代码放进Editor文件夹内,之后在Assets/Build AssetBundles菜单栏中点击build就可以新生成一个assetbundles文件夹,里面就是生成的ab包
在这里插入图片描述

using System.IO;
using UnityEditor;
using UnityEngine;

public class BuildAB : MonoBehaviour
{

    //[MenuItem("AssetBundle/Package (Default)")]
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        string assetBundleDirectory = "Assets/AssetBundles";
        if (!Directory.Exists(assetBundleDirectory))
        {
            Directory.CreateDirectory(assetBundleDirectory);
        }
        BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
    }
}

www下载ab包

把ab包上传到服务器以后,就要下载了,这里我用的是www下载,直接上代码

IEnumerator wwwDown() {

        www= new WWW(url);//url链接记得带ab包的后缀,没有就不加
        yield return www;
        if (www.isDone) {
            isDown = false;
            Destroy(Lodding.gameObject);
            AssetBundle ab = www.assetBundle;
            Scenes = ab.LoadAsset<GameObject>("scenes.prefab");
            dancerMan = ab.LoadAsset<GameObject>("DancerMan.prefab");
            ab.Unload(false);//false:只卸载用过的资源  true:卸载全部资源
            Train.gameObject.SetActive(true);
            //Instantiate(go);
        }
        //释放资源(非托管资源)
        www.Dispose();
    }

下载完成后,最好记得unload ab包,如果你是存入本地,直接true,如果是像我一样只是临时放入变量中的话,就false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值