当前位置:   article > 正文

Unity 加载本地图片的方法

unity 加载本地图片

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

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

  1. //方法一
  2. void LoadTextureFromFile1(string filePath)
  3. {
  4. // 创建一个Texture2D
  5. Texture2D texture = new Texture2D(1, 1);
  6. // 加载图片数据
  7. byte[] imageData = File.ReadAllBytes(filePath);
  8. // 将图片数据加载到Texture2D对象中
  9. texture.LoadImage(imageData);
  10. // 创建一个新的材质
  11. Material material = new Material(Shader.Find("Standard"));
  12. // 将加载的纹理应用到材质上
  13. material.mainTexture = texture;
  14. // 将材质应用到游戏对象上
  15. render1.material = material;
  16. }

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

  1. //方法二
  2. void LoadTextureFromFile2(string filePath)
  3. {
  4. //创建数据流并加载图片
  5. FileStream files = new FileStream(filePath, FileMode.Open);
  6. byte[] imgByte = new byte[files.Length];
  7. files.Read(imgByte, 0, imgByte.Length);
  8. files.Close();
  9. Texture2D texture = new Texture2D(1, 1);
  10. texture.LoadImage(imgByte);
  11. Material material = new Material(Shader.Find("Standard"));
  12. material.mainTexture = texture;
  13. render2.material = material;
  14. }

3、使用www类:

  1. //方法三
  2. IEnumerator LoadTextureFromFile3(string filePath)
  3. {
  4. // 创建一个WWW对象并加载本地图片
  5. WWW www = new WWW(filePath);
  6. yield return www;
  7. if (string.IsNullOrEmpty(www.error))
  8. {
  9. // 获取加载的纹理
  10. Texture2D texture = www.texture;
  11. image1.texture = texture;
  12. }
  13. else
  14. {
  15. Debug.LogError("下载失败:" + www.error);
  16. }
  17. }

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

  1. //方法四
  2. IEnumerator LoadTextureFromFile4(string filePath)
  3. {
  4. // 创建一个UnityWebRequest对象并加载本地图片
  5. UnityWebRequest www = UnityWebRequestTexture.GetTexture(filePath);
  6. yield return www.SendWebRequest();
  7. if (www.result == UnityWebRequest.Result.Success)
  8. {
  9. // 获取加载的纹理
  10. Texture2D texture = DownloadHandlerTexture.GetContent(www);
  11. image2.texture = texture;
  12. }
  13. else
  14. {
  15. Debug.LogError("下载失败:" + www.error);
  16. }
  17. }

加载效果如下:Unity分别用4种方法加载本地图片_哔哩哔哩_bilibili

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/112550
推荐阅读
相关标签
  

闽ICP备14008679号