unity把切好的图集导出

2023-10-27

以前的博客有介绍怎么切割图片
https://blog.csdn.net/qq_42661974/article/details/84258719

首先创建一个脚本 放在Editor文件夹中

using UnityEngine;
using UnityEditor;

public class TestSaveSprite
{
    [MenuItem("Tools/导出精灵")]
    static void SaveSprite()
    {
        string resourcesPath = "Assets/Resources/";
        foreach (Object obj in Selection.objects)
        {
            string selectionPath = AssetDatabase.GetAssetPath(obj);

            // 必须最上级是"Assets/Resources/"
            if (selectionPath.StartsWith(resourcesPath))
            {
                string selectionExt = System.IO.Path.GetExtension(selectionPath);
                if (selectionExt.Length == 0)
                {
                    continue;
                }

                // 从路径"Assets/Resources/UI/testUI.png"得到路径"UI/testUI"
                string loadPath = selectionPath.Remove(selectionPath.Length - selectionExt.Length);
                loadPath = loadPath.Substring(resourcesPath.Length);

                // 加载此文件下的所有资源
                Sprite[] sprites = Resources.LoadAll<Sprite>(loadPath);
                if (sprites.Length > 0)
                {
                    // 创建导出文件夹
                    string outPath = Application.dataPath + "/outSprite/" + loadPath;
                    System.IO.Directory.CreateDirectory(outPath);

                    foreach (Sprite sprite in sprites)
                    {
                        // 创建单独的纹理
                        Texture2D tex = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height, sprite.texture.format, false);
                        tex.SetPixels(sprite.texture.GetPixels((int)sprite.rect.xMin, (int)sprite.rect.yMin,
                            (int)sprite.rect.width, (int)sprite.rect.height));
                        tex.Apply();

                        // 写入成PNG文件
                        System.IO.File.WriteAllBytes(outPath + "/" + sprite.name + ".png", tex.EncodeToPNG());
                    }
                    Debug.Log("SaveSprite to " + outPath);
                }
            }
        }
        Debug.Log("SaveSprite Finished");
    }
}

脚本写好后会发现unity工具栏出现一个tools工具
在这里插入图片描述
要导出的图集必须在Resources文件夹下
在这里插入图片描述
选择图集后点击导出精灵
导出成功后会打印路径,然后按照路径找出导出成功的资源
在这里插入图片描述
导出成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity把切好的图集导出 的相关文章

  • 一些个人常用的网站网址

    一些个人常用的网站网址 GitHub https github com Gitee https gitee com 1 书栈网 https www bookstack cn explore cid 27 tab popular 2 Unit
  • halfShader 模型切割

    Shader Unlit halfShader Properties Diffuse Diffuse Color 1 1 1 1 MainTex Texture 2D white StartCutoff StartCutoff Range
  • UnityLuaMvvM Lua 带通知的Mode类

    实现数据更新UI自动刷新的核心代码 欢迎关注https gitee com xiongks UnityMVVM mode function modeType local obj obj modeType modeType obj filds
  • Unity3D之Rigidbody

    目录 常用的Rigidbody属性和方法 rigidbody AddForce rigidbody AddTorque rigidbody velocity rigidbody angularVelocity rigidbody Sleep
  • Unity 资源加载卸载过程

    什么时候才是UnusedAssets 看一个例子 Object obj Resources Load MyPrefab GameObject instance Instantiate obj as GameObject Destroy in
  • Unity单元测试流程

    文章目录 环境 流程 1 创建一个存放 单元测试程序集 的目录 2 打开 Test Runner 窗口 3 选择单元测试模式 4 创建单元测试程序集 5 创建测试脚本 6 运行测试 环境 Unity 2020 3 3f1 流程 1 创建一个
  • Unity 安卓打包

    Unity打包的方式有很多种 自动打包和手动打包 今天小弟就鼓捣鼓捣unity手动打包 如果想动态打包的话 可以去看其他大佬的帖帖哈 unity打包先配置环境 下载unity的时候可以顺道把unity的安卓包下载下来 如果忘了也没事 可以从
  • Unity中级客户端开发工程师的进阶之路

    上期UWA技能成长系统之 Unity高级客户端开发工程师的进阶之路 得到了很多Unity开发者的肯定 通过系统的学习 可以掌握游戏性能瓶颈定位的方法和常见的CPU GPU 内存相关的性能优化方法 UWA技能成长系统是UWA根据学员的职业发展
  • FBX导入Unity中模型没有材质的处理

    一 3dMax导出FBX时的注意事项 导出时 确保maps文件存在 里面放着fbx用到的image 二 在Unity中的设置 1 文件拖入Unity的Assets文件夹中 2 查看模型的材质是否存在 如下所示 材质为None 此时拖入sce
  • UnityVR--组件3--Line Renderer--线性渲染

    目录 线性渲染组件简介 绘制线条Line Renderer组件介绍 绘制拖尾Trail Renderer组件介绍 应用1 使用Line Renderer绘制线段 应用1实现 使用系统工具或自定义工具绘制线段 应用2 Trail Render
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • Unity打开工程时卡住的问题

    自从Unity升级了一个版本后 Unity打开工程卡住的问题越来越严重了 具体表现为 选择工程后 Unity窗口消失 但进程还在 有时候等个几分钟能出来 有时候等10分钟都不见得能出来 直观感受上看 似乎是Unity加载工程的时候某一步卡了
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void

随机推荐

  • (九)Mybatis下划线驼峰处理的几种方法

    这篇文章主要讲述Mybatis下划线驼峰处理的几种方法 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 1 可以通过写别名 2 开启驼峰命名 3 自定义javabean的封装规则 首先先说明一下为
  • Anaconda镜像源整理与使用

    本文复制于 Anaconda镜像源整理与使用 天道酬勤 花开半夏 只为方便查找与防止原文被删除 请前往原文查看 Anaconda镜像源整理与使用 常用镜像源Conda源Pypi源 镜像源使用指令解决CondaHTTPError HTTP 0
  • var js=function(){}和function js(){}的区别

    在Javascript中 函数及变量的声明都将被提升到函数的最顶部 也就是说我们可以先使用后声明 但函数表达式和变量表达式只是将函数或者变量的声明提升到函数顶部 函数表达式和变量的初始化将不被提升 var js function 这种叫做函
  • KL散度原理和实现

    KL散度计算 KL散度 Kullback Leibler Divergence 一般用于度量两个概率分布函数之间的相似程度 离散求和 连续求积分 KL P Q
  • Java-IO字节流与字符流

    IO流的常用流 输入流 输入字节流和输入字符流 将硬盘的文件输出到Java内存 输出流 输出字节流和输出字符流 从内存写到磁盘中 缓冲 缓冲的字面意思是减缓冲击力比如 看视频比较卡 暂停缓存一会 1 字节输入流 FileInputStrea
  • 附件预览实现

    kkFileView演示首页kkFileView 在线文件预览
  • 【基础汇总】——python数据分析必备三大工具

    目录 前言 一 numpy 1 数组创建 2 数组运算 3 矩阵运算 二 pandas 1 数据结构 2 数据处理 2 1 数据结构与描述性统计 2 2 切片访问与缺失处理 2 3 多表合并 三 matplotlib 1 matplotli
  • 3D建模前景是不是很不错?虽然如此,但也需正视每一个行业

    其实所有行业都是一样的 没有什么容易的 只不过游戏建模这一行是偏向于技术的 一个好的建模师月薪10k 是很常见的 但这个需要有自己刻苦学习 不断积累沉淀的成果 不可能报个培训班学习6个月就能拿到的 希望一出来就月入过万的 这个几乎是不可能的
  • 前端初学3

    hr标签的扩展及部分特殊符号的表示 文章目录 hr标签的扩展及部分特殊符号的表示 hr标签的扩展 一 hr的颜色变化 二 hr的宽度变化 三 hr的位置 特殊符号 一 标签显示 二 首行缩进 三 其他特殊符号 总结 hr标签的扩展 hr标签
  • 计算机cpu和内存不足,电脑内存不足的解决方法

    电脑内存不足的解决方法 内存是计算机中重要的部件之一 它是与CPU进行沟通的桥梁 计算机中所有程序的运行都是在内存中进行的 因此内存的性能对计算机的影响非常大 下面是jy135小编收集整理的电脑内存不足的解决方法 欢迎阅读 步骤一 右击计算
  • Pygame(三)画圆

    Pygame 三 画圆 作业代码 画一个矩形 要求 左上角在 100 100 宽为200 高为60 边框颜色为蓝色 作业代码 def homework01 画一个矩形 要求 1 画一个矩形 要求 左上角在 100 100 宽为200 高为6
  • 使用VmWare安装黑苹果系统

    目录 1 介绍 2 破解安装VMware 3 unlocker解锁虚拟机 3 1 关闭VMware相关的进程 3 2 执行安装命令 4 VmWare创建虚拟机 5 下载并配置镜像以及虚拟机设置 5 1 修改镜像 5 2 修改虚拟机安装路径文
  • 机器学习技术(七)——有监督学习之逻辑回归算法原理及实操

    机器学习技术 七 有监督学习之逻辑回归算法原理及实操 文章目录 机器学习技术 七 有监督学习之逻辑回归算法原理及实操 一 引言 二 逻辑回归算法原理 三 实践案例介绍 1 数据集及需求 2 导入相关依赖库 3 读取并查看数据 4 数据预处理
  • Windows下安装VTK8.2.0

    Windows下安装VTK8 2 0 1 依赖 VS2017 Qt5 cmake 2 前期准备 2 1 访问vtk官方下载VTK8 2 0源码 VTK源码下载地址 https vtk org download 2 2 配置环境变量 配置CM
  • 插入新结点到指定结点的指定位置

    ul li 北京 li li 上海 li li 重庆 li ul 要求 插入新的节点 li 天津 li 到 li 上海 li 这个节点 1 如上海节点是最后一个节点插入到该节点的 li 上海 li 的后面 2 否则插入到该节点的前面
  • 国际电话组件封装使用以及vuephonenumberinput属性解读

    phone number input 组件描述 国际电话输入组件 适用场景 电话号码输入框 特点 包含各个国家的区号 输入一串号码 可给出是否是正确号码的校验结果 灵活性 可变性强 可满足绝大多数场景下的业务需要 props props t
  • 论文笔记:Positive-incentive Noise

    2022 TNNLS 中心思想是 噪声并不一定是有害的 1 CV问题中的噪声 以图像分类为例 对图像加入适量的噪声后再训练 识别准确率反而上升了 再以目标检测为例 从遥感影像中做飞机检测 一般都是把飞机紧紧框住 然后做模型训练 如果把飞机的
  • Ubuntu 晚上睡觉时希望关闭笔记本屏幕而保持挖矿程序正常运行,如何实现呢?

    背景 在笔记本上持续跑挖矿程序 编辑文档 写程序和调试程序 以及其他程序使用都没影响 只是风扇一直有点声音 外壳出风口区域略热 意图 晚上睡觉时希望关闭笔记本屏幕而保持挖矿程序正常运行 如何实现呢 Ubuntu 笔记本长期开机运行程序 关闭
  • 【JVM】Java内存区域与内存溢出异常

    JVM Java内存区域 链接 Java内存区域 Java虚拟机 运行时数据区域 线程独占 程序计数器 各个线程都有一个独立的程序计数器 记录正在执行的虚拟机字节码指令的地址 Java虚拟机栈 线程私有 与线程拥有相同的生命周期 虚拟机栈描
  • unity把切好的图集导出

    以前的博客有介绍怎么切割图片 https blog csdn net qq 42661974 article details 84258719 首先创建一个脚本 放在Editor文件夹中 using UnityEngine using Un