首页 > 代码库 > 【Unity3D】导出SpriteMode为Multiple时,里面的每一张精灵图片。
【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 目录中。
【Unity3D】导出SpriteMode为Multiple时,里面的每一张精灵图片。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。