Unity 获取文件夹下所有图片并转换成贴图或精灵的方法

在Unity应用程序里面,有时候我们需要通过读取外部文件夹中的图片来获取图片资源。

具体我们可以编写一个脚本来实现:

using UnityEngine;
using System.IO;
using System.Collections.Generic;

public class ImageLoader : MonoBehaviour
{
    public string folderPath; // 文件夹路径  
    List<Texture2D> textures = new List<Texture2D>();   //用于存放所有图片转换的贴图
    List<Sprite> sprites = new List<Sprite>();  //用于存放所有图片转换的精灵

    List<string> filePaths = new List<string>(); //用于存放所有图片地址

    void Start()
    {
        // 检查文件夹是否存在
        if (Directory.Exists(folderPath))
        {           
            string imgtype = "*.BMP|*.JPEG|*.GIF|*.PNG|*.JPG";
            string[] ImageType = imgtype.Split('|');

            // 获取文件夹下所有图片文件的地址
            for (int i = 0; i < ImageType.Length; i++)
            {
                string[] paths = Directory.GetFiles(folderPath, ImageType[i]);
                for (int j = 0; j < paths.Length; j++)
                {
                    filePaths.Add(filePaths[j]);
                }
            }


            // 把所读取的图片转换成贴图或精灵
            foreach (string path in filePaths)
            {                
                byte[] fileData = File.ReadAllBytes(path);
                Texture2D texture = new Texture2D(1, 1);
                texture.LoadImage(fileData);  //把图片转换成贴图
                textures.Add(texture);  

                //把图片转换成精灵
                Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
                sprites.Add(sprite);
            }
        }
        else
        {
            Debug.LogError("文件夹不存在或路径错误!");
        }
    }
}

以上是个简单的读取文件图片的脚本,可以轻轻松松读取外部文件夹中的图片资源并转换成贴图或者精灵来使用。

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 09:16:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 09:16:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 09:16:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 09:16:04       20 阅读

热门阅读

  1. React组件如何通信

    2024-03-27 09:16:04       17 阅读
  2. react setState函数的使用与异步更新

    2024-03-27 09:16:04       20 阅读
  3. React 18中hook函数详解之useState和useEffect

    2024-03-27 09:16:04       18 阅读
  4. LORA模型和稳定扩散模型的区别是什么?

    2024-03-27 09:16:04       19 阅读
  5. jetson-Ubuntu-指令

    2024-03-27 09:16:04       19 阅读
  6. jar.exe解压缩jar包

    2024-03-27 09:16:04       22 阅读
  7. 视频 | 轨迹模型及其它潜变量模型理论与实践

    2024-03-27 09:16:04       17 阅读
  8. 共享旅游卡到底是怎么回事?

    2024-03-27 09:16:04       17 阅读
  9. ZCMU 1544: Counting Words

    2024-03-27 09:16:04       19 阅读
  10. 运行conda activate报错,有关提示运行conda init...

    2024-03-27 09:16:04       18 阅读
  11. 网络原理讲解

    2024-03-27 09:16:04       19 阅读
  12. 3.26总结

    2024-03-27 09:16:04       18 阅读
  13. 3月26日ACwing每日一题

    2024-03-27 09:16:04       15 阅读
  14. spring boot3登录开发(整合jwt)

    2024-03-27 09:16:04       16 阅读