【Unity3D】导出SpriteMode为Multiple时,里面的每一张精灵图片。

有时候,我们会需要把图集中的每一个精灵导出来。

导出代码:

  [MenuItem("Tools/ExportSprite")]
    public static void ExportSprite()
    {
        // 拿到选中的资源
        Object[] selects = Selection.objects;

        //
        string savePath = Application.dataPath + "/outSprite/";
        Directory.CreateDirectory(savePath);
        foreach (Object item in selects)
        {
            Sprite sprite = item as Sprite;
            if (sprite == null)
                continue;

            // 获取精灵的贴图
            Texture2D t = sprite.texture;

            // 创建一个新的贴图
            Texture2D newTex = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height,  TextureFormat.ARGB32, false);
            // 设置像素点为 选择贴图的像素点
            newTex.SetPixels(t.GetPixels((int)sprite.rect.xMin, (int)sprite.rect.yMin, (int)sprite.rect.width, (int)sprite.rect.height));

            newTex.Apply();

            // 把创建的贴图对象,转换为bytes
            byte[] buffer = newTex.EncodeToPNG();
            // 写出
            File.WriteAllBytes(savePath + sprite.name + ".png", buffer);
        }
    }

使用:

选中你要导出的精灵,点击头部菜单 Tools > ExportSprite 然后导出的精灵会放到 Project 下的 outSprite 目录中。

时间: 2024-12-06 06:16:13

【Unity3D】导出SpriteMode为Multiple时,里面的每一张精灵图片。的相关文章

Biee11g导出excel文件打开时出现乱码

问题描述:在rpd中导出含有中文的CSV格式的文件后 用OFFICE2007打开时出现中文乱码情况 备注:导出csv文件时 选择编码为UTF-8则会出现乱码 选择UNICODE编码则正常显示 选择ANSI编码时 则导出文件不全-------只有""""符号 , 没有其他内容 故障原因 此种情况一般是导出的文件编码的问题.在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8.Unicode等编码可能就会出现文件乱码的情况

使用Scrapy命令行工具【导出JSON文件】时编码设置

Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用scrapy genspider建立了爬虫,用于抓取某中文门户网站首页的 新闻标题及其链接,全程都在虚拟环境(virtualenv)中执行. 使用scrapy crawl执行爬虫程序并导入一个json文件,此时可以看到,命令行窗口显示的 新闻标题是中文,但在打开导出的json文件时,其新闻标题显示为以

自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题

当被重用的cell将要显示时,会调用这个方法,这个方法最大的用武之地是当你自定义的cell上面有图片时,如果产生了重用,图片可能会错乱(当图片来自异步下载时及其明显),这时我们可以重写这个方法把内容抹掉. // Cell重用时 取消上一个Cell的请求并且设置空(个人理解) -(void)prepareForReuse { [super prepareForReuse]; // 图片置空 [self.iconImageView setImage:nil]; // 取消异步缓存下载的图片 [sel

如何启动app时全屏显示Default.png(图片)?

大部分app在启动过程中全屏显示一张背景图片,比如新浪微博会显示这张: 要想在iOS中实现这种效果,毫无压力,非常地简单,把需要全屏显示的图片命名为Default.png即可,在iOS app启动时默认会去加载并全屏显示Default.png. 也可以用其他名称来命名图片,在Info.plist配置一下即可: 配置过后,app启动时就会去加载并全屏显示lufy.png 在默认情况下,app显示Default.png时并非真正的"全屏显示",因为顶部的状态栏并没有被隐藏,比如下面的效果:

Unity3d导出Android的apk文件时相关问题的解决办法

[狗刨学习网] 今天上午着手将一个unity3d开发的小游戏build到android手机上运行,结果遇到了不少问题. 首先遇到的第一个问题是在build到一半的时候,弹出如下报错: Error building Player: UnityException: No platforms found Android SDK does not include any platforms! Did you run Android SDK setup to install the platform(s)

Unity3D导出到安卓项目无法监听摇杆的轴键

Unity3D 5.0的项目导出到安卓项目,在UnityPlayerActivity.java里面的onKeyDown和一些按键按下的事件无法监听到摇杆的轴键按下,就是x, y, z, rz轴的数据(实际摇杆),修改AndroidManifest.xml文件中的meta-data可以解决, <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true"

SQL Server数据库中导入导出数据及结构时主外键关系的处理

2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入. 情景一.同一数据库产品,相同版本 此种情况下源数据库与目标数据库的数据结构与数据的导入导出非常简单. 方法1:备份源数据库,恢复到目标数据库即完成. 方法2:使用SQL Sever数据库自带的[复制数据库]功能或者[导入数据]功能按照向导操作即可. 情景二.同一数据库产品,不同版

解决Unity3D导出apk失败:Failed to re-package resources

前几天把系统重装了一下,重新安装Unity3D和Android Studio之后发现过去的文件都不能导出了. 错误信息主要包括: CommandInvokationFailure: Failed to re-package resources. See the Console for details.E:\Android\sdk\build-tools\24.0.0\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidMan

Unity3D中关于场景销毁时事件调用顺序的一点记录

先说一下我遇到的问题,我弄了一个对象池管理多个对象,对象池绑定在一个GameObject上,每个对象在OnBecameInvisible时会进行回收(即移出屏幕就回收),但是当场景切换或停止运行程序时场景中如果还有待回收的对象,就会报错,报错显示的信息为,我的对象池GameObject已经被销毁了云云,因为回收的对象我会把他们作为绑定了对象池的GameObject的子级来方便管理. 所以唯一的可能就是脚本方法调用顺序不可控,即不同GameObject的OnBecameInvisible在其它Ga