unity编辑器扩展篇-图集拆分
来源:互联网 发布:淘宝店修改运费模板 编辑:程序博客网 时间:2024/05/20 20:45
要写一个属于自己的游戏demo,需要大量的美术资源和音频资源等等,但网上找到的美术资源大部分都是NGUI的图集,我希望能把图集拆开,变成一个个小小的Sprite。
代码如下
//导出单个精灵 [MenuItem("Assets/MyEditor/SingleSpritesExport &x")] static void SingleSpritesExport() { 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; } // 得到导出路径 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(string.Format("Export {0} to {1}", loadPath, outPath)); } } } Debug.Log("Export All Sprites Finished"); }
注意要把图集放到Resources文件下并勾选Read/Write Enable
拆分后
阅读全文
0 0
- unity编辑器扩展篇-图集拆分
- Unity编辑器扩展:如何把图集(Atlas)拆分成单个图片
- unity编辑器扩展篇-快速设置sprite
- unity编辑器扩展篇-视图拓展基础
- unity编辑器扩展
- Unity编辑器扩展
- unity 编辑器工具扩展
- unity-编辑器扩展
- unity编辑器扩展
- Unity编辑器扩展
- Unity编辑器扩展
- Unity可扩展编辑器
- unity编辑器扩展
- Unity编辑器扩展
- 【Unity编辑器】UVPreview扩展
- Unity 编辑器扩展教程
- Unity编辑器扩展-菜单项
- Unity编辑器扩展-菜单项
- Java项目之星际争霸1简单仿制(一)项目概述及展示
- 递归实现加法
- BigDecimal学习
- 二叉树生成与递归遍历
- 数据结构之选择排序(java)
- unity编辑器扩展篇-图集拆分
- TensorFlow部分API
- 阿里云推出区域经济大脑 | 苹果发布机器学习框架Turi Create | 工业超市震坤行完成2亿元B+轮融资
- 第十一周项目3
- 计算机视觉+AR,构建无处不在的空间互联网入口
- kafka单机测试环境搭建
- spring 4.2.5-RELEASE版本postman模拟没有问题,web请求出错
- IDEA破解 2017 IDEA license server 激活(可用)
- 非递归代码如下: