Unity 加载本地图片的方法

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

Unity加载本地图片有不少方法,一般使用以下这些:

1、使用System.IO下的File.ReadAllBytes方法:

    //方法一
    void LoadTextureFromFile1(string filePath)
    {
        // 创建一个Texture2D
        Texture2D texture = new Texture2D(1, 1);

        // 加载图片数据
        byte[] imageData = File.ReadAllBytes(filePath);

        // 将图片数据加载到Texture2D对象中
        texture.LoadImage(imageData);

        // 创建一个新的材质
        Material material = new Material(Shader.Find("Standard"));

        // 将加载的纹理应用到材质上
        material.mainTexture = texture;

        // 将材质应用到游戏对象上        
        render1.material = material;

    }

2、 使用System.IO下的数据流FileStream加载

    //方法二
    void LoadTextureFromFile2(string filePath)
    {
        //创建数据流并加载图片
        FileStream files = new FileStream(filePath, FileMode.Open);

        byte[] imgByte = new byte[files.Length];
        files.Read(imgByte, 0, imgByte.Length);
        files.Close();

        Texture2D texture = new Texture2D(1, 1);
        texture.LoadImage(imgByte);
        
        Material material = new Material(Shader.Find("Standard"));        
        material.mainTexture = texture;               
        render2.material = material;
    }

3、使用www类:

    //方法三
    IEnumerator LoadTextureFromFile3(string filePath)
    { 
        // 创建一个WWW对象并加载本地图片
        WWW www = new WWW(filePath);
        
        yield return www;
        
        if (string.IsNullOrEmpty(www.error))
        {
            // 获取加载的纹理
            Texture2D texture = www.texture;

            image1.texture = texture;
        }
        else
        {
            Debug.LogError("下载失败:" + www.error);
        }
    }

4、由于www类在新版中已经过时了,所以在新版Unity中我们可以使用UnityWebRequest类加载本地图片:

    //方法四
    IEnumerator LoadTextureFromFile4(string filePath)
    {        
        // 创建一个UnityWebRequest对象并加载本地图片
        UnityWebRequest www = UnityWebRequestTexture.GetTexture(filePath);
        
        yield return www.SendWebRequest();
        
        if (www.result == UnityWebRequest.Result.Success)
        {
            // 获取加载的纹理
            Texture2D texture = DownloadHandlerTexture.GetContent(www);

            image2.texture = texture;            
        }
        else
        {
            Debug.LogError("下载失败:" + www.error);
        }
    }

加载效果如下:Unity分别用4种方法加载本地图片_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-772710.html

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

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

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

相关文章

  • UNITY 基础之 实现动态加载网络端、PC端和 ANDROID 端指定路径下的图片的简单方法

    Unity中的一些基础知识点,便于后期查看学习。 本节介绍,如何动态加载网络上,电脑上或者Android手机上指定路径的图片的简单方式,方法不唯一,仅供参考。 1、UnityWebRequest 发起网络请求,DownloadHandlerTexture 作为发起下载图片,解析得到图片 2、下载地址不仅支持网络路径

    2024年02月09日
    浏览(38)
  • 【Unity细节】为什么加载精灵图集直接导致Unity引擎崩溃

    👨‍💻个人主页 :@元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏 :unity细节和bug 😶‍🌫️优质专栏 ⭐【软件设计师高频考点暴击】 点击运行,Unity直接崩溃退出 在加载打包后的图集时,可能图集里面没有相应的资源,

    2024年02月05日
    浏览(61)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(79)
  • Mac vscode unity mono无法正常加载,c#代码不能正常补全的解决方法

    初学unity,用Mac vscode来开发,遇见了不能正常补全代码的问题。能补全代码但是补全的不是unity的代码。 终于解决了。 首先最新版的net.sdk 和 Mono (Stable channel)一定安装好 https://www.mono-project.com/download/stable/ https://learn.microsoft.com/ja-jp/dotnet/core/install/macos vscode里边该有的扩展插件

    2024年02月02日
    浏览(44)
  • Unity对接后台和加载图片

    1、前言         在unity中与后台对接,用await在web端暂时还不支持,所以,协程成为比较好的通用方式,以下适用除post访问外的所有对接 2、对接后台 2.1、安装插件         首先我们需要用到Newtonsoft.dll,如果没有这个.dll的请跟着我一起装上,我们先创建一个脚本WebReq

    2024年02月03日
    浏览(41)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(78)
  • Unity、UE、Cocos游戏开发引擎的区别

    Unity、Unreal Engine(UE)和Cocos引擎是三个常用的游戏开发引擎,它们在功能和特性上有一些区别。以下是它们之间的主要区别: 编程语言:Unity使用C#作为主要的编程语言,开发者可以使用C#脚本进行游戏逻辑编写。Unreal Engine主要使用C++作为编程语言,但也支持蓝图系统,允许

    2024年02月22日
    浏览(66)
  • 05_Unity动态加载图片资源

    本文归纳了Unity中加载图片资源的常用方法,包括url和本地路径的加载。 在工具类中封装如下方法: 一般是放在单例中,如:GameManager 创建一个Image物体 在本地存放一张图片,Guide1.png 放置在: Resources/Image/Guide1.png 路径下 在物体上挂接一个测试脚本 执行前: 执行后: 还是刚

    2024年02月05日
    浏览(116)
  • [游戏开发][Unity]Assetbundle打包与资源加载框架

    我会分三个篇章写整个框架分别是: AB打包篇 AB下载篇 AB加载篇 整个框架内容比较多,属于企业级方案,涉及到增量打包、打包策略、AB包下载、边玩边下、资源管理系统,资源加载系统等功能。 Unity小白看本系列文章可能比较吃力。如果我哪里写的不好,影响理解了,欢迎

    2024年02月13日
    浏览(55)
  • Unity加载并播放本地.wav音频文件

    使用UnityWebRequestMultimedia加载.wav文件,并转成AudioClip对象,然后使用AudioSource进行播放。播放使用协程函数。 加载你的电脑桌面上的test.wav文件并播放。 如需要加载其它格式音频,请将UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(“file:///” + fileName, AudioType.WAV);中的AudioType换

    2024年02月04日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包