当前位置:   article > 正文

利用Unity切割图集_unity图集切割

unity图集切割

利用Unity切割图集

我们在在使用网络上搜集的一些素材的时候,经常是倍打成图集的,为了方便使用,可以利用Unity强大的SpriteEditor自动切割成为小图片素材。
如果我们需要再次加工处理,也可以继续利用Sprite Editor的功能,将切割好的图片直接导出。
  • 1
  • 2
首先,导入图集

在这里插入图片描述
在这里插入图片描述
注意,Read Write Enable 必须要勾选。

打开Sprite Editor 切割图集

在这里插入图片描述

在这里插入图片描述
Apply之后Unity 就帮我们切好图集了, 之后我们就可以写代码导出了。

导出代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;

public class AtlasTool : Editor {

	[MenuItem("Tools/Slice Atlas")]
	public static void SliceAtlas()
	{
		if(!Directory.Exists("atlasout"))
		{
			Directory.CreateDirectory ("atlasout");
		}
		var dir = new DirectoryInfo ("Assets/AtlasTool");
		var imgs = dir.GetFiles ("*.png");
		for (int i = 0; i < imgs.Length; i++) {
			DealPng (imgs[i]);
		}
	}

	public static void DealPng(FileInfo file)
	{
		var outdir = "atlasout/" + file.Name.Replace (".png", "");
		if(!Directory.Exists(outdir))
		{
			Directory.CreateDirectory (outdir);
		}
		string path = "Assets/AtlasTool/" + file.Name;
		var assets2 = AssetDatabase.LoadAllAssetsAtPath (path);
		for (int i = 0; i < assets2.Length; i++) {
			Debug.LogError (assets2[i]);
			if(assets2[i] is Sprite)
			{
				var sp = assets2 [i] as Sprite;
				Texture2D t2d = new Texture2D ((int)sp.rect.width, (int)sp.rect.height, TextureFormat.RGBA32, false);
				var aslasTexture = sp.texture;
				t2d.SetPixels (aslasTexture.GetPixels((int)sp.rect.x, (int)sp.rect.y, (int)sp.rect.width, (int)sp.rect.height));
				t2d.Apply ();
				File.WriteAllBytes (outdir +"/" +sp.name +".png", t2d.EncodeToPNG());
			}
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

注意目录:在这里插入图片描述
然后点击菜单:Tool/Slice Atlas
直接上结果:
在这里插入图片描述

很简单但是有些使用的工具哦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/123424?site
推荐阅读
相关标签
  

闽ICP备14008679号