Unity之合并多张图片为一张大图

本文介绍了如何在Unity中将序列帧图片合并为一张大图。通过读取文件夹中的JPEG图片,转换为Texture2D,然后将多个Texture2D对象写入一张4096*4096的大图。注意,此方法不支持不透明图片,并附带了可能出现的空缺问题。作者分享了实现代码和最终效果图,同时欢迎反馈改进意见。后续文章会解决单张图占比和大小计算的问题。
摘要由CSDN通过智能技术生成

一、前言

最近项目内接到一个需求,使用工具将序列帧转化为Texture。研究了一波,发现unity本身可以实现,于是有了这个东西。

先说一下思路:直接从文件夹读取到需要操作的图片,然后将图片依次写入一张新建的Texture。

废话不多说,直接上代码

以下为从文件夹读取到jpg的图片,然后通过FileStream转换成Texture2D。(以下为测试使用,部分参数未规范化,请轻喷...)

[MenuItem("Tools/合并多张图片", false, 4)]
    public static void Test()
    {
        string path = Application.dataPath + "/sucai";
        Debug.Log(path);
        DirectoryInfo folder = new DirectoryInfo(path);
        var files = folder.GetFiles("*.jpg");
        Debug.Log("files count :" + files.Length);
        Texture2D[] texture2Ds = new Texture2D[files.Length];
        int count = files.Length;
        for (int i = 0; i < files.Length; i++)
        {
            Debug.Log(files[i].Name);
            //EditorUtility.DisplayProgressBar("合并图片--->" + files[i]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值