Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法

这篇具有很好参考价值的文章主要介绍了Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity 下载网络图片的方法,可使用WWW类或UnityWebRequest类,其中UnityWebRequest是新版的方法。

通常我们下载图片都会转成Texture,然后赋值给UI或者物体。

具体实现方法:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;

public class LoadNetImage : MonoBehaviour
{
    private string imagePath1 = "http://photocq.photo.store.qq.com/psc?/V12I366i33niTT/D58JeCw1McT8yUSxC9nwTKkKt7uD3ggcCPwGHf.kCG4HUdicWJ9EQ5ouDbp5F*R9DRS1hvwirV1qrJZO1AOKFA!!/b&bo=qgFAAQAAAAABF9o!&rf=viewer_4"; // 网络图片的路径    
    

    public Renderer render1;  //Plan对象1
    public Renderer render2;  //Plan对象2

    public RawImage image1;  //图片对象1
    public RawImage image2;  //图片对象2
    
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(LoadTextureFromNet1(imagePath1));
        StartCoroutine(LoadTextureFromNet2(imagePath1));
    }

    // Update is called once per frame
    void Update()
    {

    }
    

    //方法1
    IEnumerator LoadTextureFromNet1(string filePath)
    {
        // 创建一个WWW对象并加载本地图片
        WWW www = new WWW(filePath);

        yield return www;

        if (string.IsNullOrEmpty(www.error))
        {
            // 获取加载的纹理
            Texture2D texture = www.texture;


            //把贴图赋到RawImage
            image1.texture = texture;

            //把贴图赋到物体
            Material material = new Material(Shader.Find("Standard"));
            material.mainTexture = texture;
            render1.material = material;
        }
        else
        {
            Debug.LogError("下载失败:" + www.error);
        }
    }

    //方法2
    IEnumerator LoadTextureFromNet2(string filePath)
    {
        // 创建一个UnityWebRequest对象并加载本地图片
        UnityWebRequest www = UnityWebRequestTexture.GetTexture(filePath);

        yield return www.SendWebRequest();

        if (www.result == UnityWebRequest.Result.Success)
        {
            // 获取加载的纹理
            Texture2D texture = DownloadHandlerTexture.GetContent(www);

            //把贴图赋到RawImage
            image2.texture = texture;

            //把贴图赋到物体
            Material material = new Material(Shader.Find("Standard"));
            material.mainTexture = texture;
            render2.material = material;
        }
        else
        {
            Debug.LogError("下载失败:" + www.error);
        }
    }
}

使用上面方法,运行前:

unity局域网下载图片,unity,游戏引擎,c#

运行后:

unity局域网下载图片,unity,游戏引擎,c#

完美把网络图片Load下来,并赋到UI和物体上。文章来源地址https://www.toymoban.com/news/detail-762422.html

到了这里,关于Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • unity中实现3D物体在UI前方

    在Unity中,如果你想要将3D物体显示在UI的前方,可以通过Canvas和RawImage来实现。以下是一些步骤: 创建Canvas: 在场景中创建一个Canvas对象。你可以在Hierarchy视图中右键点击,选择UI Canvas,或者在创建菜单中找到。Canvas是用来渲染UI元素的。 创建RawImage: 在Canvas中创建一个Ra

    2024年02月20日
    浏览(41)
  • Unity Canvas不同模式下实现UI追随物体

    在Canvas不同渲染模式(RenderMode)下实现UI跟随3D物体功能。 利用WorldToScreenPoint()将物体的世界坐标转换成屏幕坐标,然后更新UI的坐标: 1.UI跟随3D物体 2.UI跟随鼠标 RectTransformUtility.ScreenPointToLocalPointInRectangle换算出UI元素在Canvas的2D坐标: 1.UI跟随3d物体 2.UI跟随鼠标(此处我的分辨

    2024年02月11日
    浏览(29)
  • 【Unity】获取UI物体在屏幕上的位置

    获取ui在自身Canvas的相对位置且canvas全屏 ui的屏幕坐标就是自身相对于canvas位置加上canvas大小的1/2;

    2024年02月12日
    浏览(37)
  • Unity 加载本地或网络图片并转为精灵(Sprite)的方法

    有时候我们需要把加载的图片转换成Sprite来使用。 方法: 步骤一:加载本地或网络图片并转换成Texture,这里不再赘述,可参考: Unity 加载本地图片的方法-CSDN博客 Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法-CSDN博客  步骤二:把Texture转换成Sprite。 方法是使用

    2024年02月04日
    浏览(36)
  • Unity Dotween插件物体、ui的移动 旋转 缩放效果

    Unity Dotween插件物体、ui的移动 旋转 缩放效果 #脚本应用命名空间 using DG.Tweening; ##让游戏物体平移 //参数一:要移动到的位置 //参数二:动画完成要多少秒 transform.DOMove(new Vector3(1,3, 8.08f),5.5f); ##让游戏物体旋转 //参数一:要旋转成的样子的坐标 //参数二:旋转动画多少秒完成 trans

    2024年02月01日
    浏览(39)
  • Unity功能测试3D物体和UI的点击事件

    我们在功能开发中 当UI和3D物体在一起的时候点击事件通常会有这么几种情况 1、UI和3D物体同时响应事件 这种情况很常见,如果是故意有次功能需求那将不需要改动.实现代码 3D物体上挂载 UI上挂载 这里面ExecuteAll这个方法也可以处理同理响应事件的问题(已注释) 2、UI和3D物体

    2024年02月05日
    浏览(47)
  • unity当前物体朝向某个物体的方法

    汇总一下以上三种朝向某个物体的方法: 使用Transform.LookAt方法:这个方法可以将当前物体的正面指向目标物体。使用方法如下: 使用Quaternion.LookRotation方法:这个方法可以根据两个向量的方向计算出物体的旋转。使用方法如下: 使用Vector3.RotateTowards方法:这个方法可以将当

    2024年02月09日
    浏览(37)
  • Unity3D实现鼠标悬浮UI或物体上显示文字信息

    Unity工具 大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 本篇文章实现一个鼠标悬浮在ui或者物体上显示文字的功能 unity鼠标悬浮ui显示文字 鼠标进入UI执行的 鼠标离开UI执行的 鼠标在ui里滑动执行的 1. 2. 搭建比较简单,各位顺便搭建吧。

    2024年02月04日
    浏览(54)
  • Unity 获取物体的子物体的方法

    Unity 中要获取物体的子物体,可以使用以下一些方法。 1、只获取一级节点的子物体: 使用该方法只会获取物体中一级节点的子物体。 2、获取物体的所有节点的子物体,使用GetComponentsInChildren方法: 使用上面方法可以获取物体中所有节点的子物体,但它会包括该物体本身。

    2024年02月05日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包