untiy使用http下载资源

这篇具有很好参考价值的文章主要介绍了untiy使用http下载资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提醒

部分API需要将Unity的 Edit/PrejectSetting/Player/OtherSetttings/AConfiguration/ApiCompatibilityLevel 设为.NetFramework 才可以使用
untiy使用http下载资源,unity,untiyhttp,unity文章来源地址https://www.toymoban.com/news/detail-817140.html

下载一个资源并保存到本地

    private IEnumerator DownloadFormServer_IE(string url, string path)//从服务器下载资源  path保存路径
    {
        Debug.Log("正在下载" + url);	
        string assetName = Path.GetFileName(url);
        UnityWebRequest request = UnityWebRequest.Get(url);       
        request.SendWebRequest();
        if (request.result == UnityWebRequest.Result.ProtocolError || request.result == UnityWebRequest.Result.ConnectionError)
        {
            Debug.Log(request.responseCode);
            Debug.Log(request.error);
            yield break;
        }
        while (!request.isDone)
        {
            string totalDownloadDataStr = "0kb";//总下载量 不是下载速度,可以根据总下载量计算下载速度
            if (request.downloadHandler != null && request.downloadHandler.data != null)
            {
                float speed = request.downloadHandler.data.Length / 1024;
                if (speed > 1024)
                {
                    speed = (speed / 1024);
                    totalDownloadDataStr = speed.ToString("f") + "mb";                
                }
                else
                { 
                    totalDownloadDataStr = speed + "kb";                
                }
            }
            //打开一个面板显示下载进度条 UIKit是QF框架提供的API
            UIKit.OpenPanel<AlertPanel>(new AlertPanelData(
                "正在下载" + assetName + "\n"
                + "进度" + (request.downloadProgress*100).ToString("f") + "%  "+ totalDownloadDataStr + "\n"
                + "第" + (assetsManagerModel.currentDownlaodFinishIndex + 1) + "\\总共" + assetsManagerModel.waitDownloadAssetsList.Count
                ));
            yield return null;
        }

        DownloadHandler downloadHandler = request.downloadHandler;
        Debug.Log("下载完成");
        byte[] data = request.downloadHandler.data;
        using (FileStream fs = new FileStream(path, FileMode.Create))//将下载好的数据写入本地
        {
            fs.Write(data, 0, data.Length);
        }
    }

下载一张图片

    private IEnumerator DownloadOnePicture_IE(string url, Action<Texture2D> callBack)//在callBack里可以直接对下载的图片进行例如给精灵赋值这类操作
    {
        if (string.IsNullOrEmpty(url)) yield break;
        UnityWebRequest request = UnityWebRequestTexture.GetTexture(url);
        yield return request.SendWebRequest();
        Texture2D texture2D = DownloadHandlerTexture.GetContent(request);
        callBack?.Invoke(texture2D);
    }

到了这里,关于untiy使用http下载资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity 之 Addressable可寻址系统 -- 资源远程加载 | 资源预下载 -- 进阶(三)

    Unity 之 Addressable可寻址系统 -- 资源远程加载 | 资源预下载 -- 进阶(三)

    概述:实现方式是使用Unity的可寻址系统结合云资源分发(AA+CCD)的形式。本篇文章就来为讲解CCD的使用介绍,以及AA+CCD使用的示例。 在Hub界面的游戏云选项,可以看到官网介绍入口: CCD:全称Cloud Content Delivery,译为:云端资源分发。 Unity 推出首个用于实时游戏更新的端到端

    2024年01月16日
    浏览(13)
  • 【unity】 untiy中如何导出FBX

    【unity】 untiy中如何导出FBX

    打开unity 菜单中Window -----Package Manager 点击下面的Adv… 勾上Enable 选择 I understand 关掉窗口 选择下面的 Unity Registry 点击安装 安装好以后 GameObject — Export To FBX…就可以了 选中你需要导出的文件 ,就可以直接导出FBX文件了 知道你存放的路径就看到了

    2024年02月15日
    浏览(12)
  • Unity微信小游戏资源下载失败问题

    Unity微信小游戏资源下载失败问题

    unity导出微信小游戏后,打开报错 plugin.js:77 [PLUGIN ERROR 11:30.26.366] 下载资源包失败: networkType: wifi ; isVisible: true downloadFile:fail createDownloadTask:fail invalid url {}(env: Windows,mg,1.06.2210310; lib: 2.27.2) 这个问题是导出时没有填写游戏资源CDN 原来的版本没问题,升级之后出现的 游戏资源CD

    2024年02月09日
    浏览(13)
  • Unity制作一个地形,下载地形资源、绘制地形,添加树、草,草可摆动

    Unity制作一个地形,下载地形资源、绘制地形,添加树、草,草可摆动

    选择了Terrain Tools,添加至我的资源 在unity中打开 菜单栏  窗口 包管理器,找到已经获取的资源 下载并导入 全选、导入  方法二: 导入已经下载过的资源 (.unitypackage:Unity package file) 资源菜单 - 导入/项目视图 - 资源 - 右键 - 导入/直接拖拽进项目视图 - 资源 打开下载的资

    2024年01月22日
    浏览(13)
  • Unity 从服务器加载AssetBundle资源写入本地内存,并将下载保存的AB资源从本地内存加载至场景

    AB资源打包后有一个【目录文件】AssetBundle,他保存了所有AB资源的路径与名称, 通过aLLAssetBundleURL链接路径 组拼 从【目录文件】获得的AB资源的名字,然后再协程方法内编写相关代码,从而实现从服务器加载资源的功能。详细见代码。

    2024年02月13日
    浏览(13)
  • Unity从0到放弃的学习之路day2——导入PMX模型,下载资源导入

    Unity从0到放弃的学习之路day2——导入PMX模型,下载资源导入

    ​                                                                                          ——倚东风,一笑嫣然,转盼万花羞落。         什么!辛辛苦苦码了许久竟然被吞了!!!!又卑微的重新写了一遍,!这未保存的内容也太多了!放弃放弃!必

    2024年02月07日
    浏览(22)
  • 2023-06-19 Untiy进阶 C#知识补充2——C#版本与Unity的关系

    一、Unity 与 C# 版本 Unity 版本 C# 版本 Unity 2021.2 C# 9 Unity 2020.3 C# 8 Unity 2019.4 C# 7.3 Unity 2017 C# 6 Unity 5.5 C# 4 ​ 更多信息可以在 Unity 官网说明查看:Unity - Manual: C# compiler (unity3d.com) ​ 之所以不同 Unity 版本支持的 C# 版本不同,主要是不同 Unity 版本使用的 C# 编译器和脚本运行时版

    2024年02月12日
    浏览(10)
  • Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案

    Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案

    最近在玩Unity,跟着tutorial做点项目,但是在下载免费资源时,只有从网站上点“打开Unity”,才能在本地Unity Editor的Package Manager里找到这个资源(且点一下下面的刷新就没有了),并且点击Download时弹出窗口“Accepting Terms of Service and EULA” You need to accept Asset Store Terms of Servic

    2024年01月16日
    浏览(18)
  • unity资源管理方案-YooAsset的使用

    unity资源管理方案-YooAsset的使用

    我们在开发项目时,会发现资源管理模块往往在项目架构中扮演着重要的角色,而且一个游戏的流畅性和内存方面的性能优化,往往也能看到资源管理的影子,所以一个优秀强大的资源管理方案对一个项目开发者来说是一个强大的轮子。 YooAsset是一套用于Unity3D的资源管理系统

    2024年01月20日
    浏览(13)
  • Unity使用 Addressables 预加载所有资源,提现加载资源,发布webgl加载缓慢问题

    Unity使用 Addressables 预加载所有资源,提现加载资源,发布webgl加载缓慢问题

    Addressables 我也是刚接触,知道的不是很多,基本的用法还是知道一些的 1 .在Window–Package Manager里找到Addressables进行安装   2.选择资源,点击Assets中的一个资源,在Inspector面板上就会出现一个勾选Assressable,也就是是否加入资源打包的分组,和AssetBundle分组是一个性质。选上以

    2023年04月08日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包