Unity3D NGUI图集切成图片

Unity3D NGUI图集切成图片

有的时候用NGUI做好了图集,那么原图就没有必要放到Unity3D中了,严重影响Unity3D的速度。但是突然右想把图片弄出来。当然NGUI是提供了图集中单个图片另存,但是如果图片太多,比较费时间,所以用python写了个切图片的工具代码如下:

Python环境:2.7 测试通过,需要依赖Image库

NGUI版本:3.7

#coding:utf-8
#unity 图集裁剪成png
#Author:Wiker Yong
#Date:2015-07-08

import os
import sys
import argparse
import Image

def middle(str=‘‘,left=‘‘,right=‘‘):
    # print str.index(right,str.index(left)+1)
    return str[str.index(left)+len(left):str.find(right,str.find(left)+1)]

parser = argparse.ArgumentParser(description=‘Unity Atlas cut to pngs‘)
parser.add_argument("-f",dest=‘file‘,help=‘cut prefab,no ext name‘)
parser.add_argument("-p",dest=‘path‘,help=‘Output path‘)
args = parser.parse_args()

out_path=‘‘
if args.path != None and not os.path.exists(args.path):
    os.makedirs(args.path)
    out_path = args.path

if args.file == None:
    parser.print_help()
    sys.exit(0)

prefab_path = args.filepng
prefab_file = open(prefab_path+‘.prefab‘)
pngname=‘‘
x=0
y=0
w=0
h=0
while 1:
    line= prefab_file.readline()
    if not line:
        break;

    if line.startswith(‘  - name: ‘):
        pngname=middle(line,‘  - name: ‘,‘\r\n‘)

    if line.startswith(‘    x: ‘):
        x=int(middle(line,‘    x: ‘,‘\r\n‘))

    if line.startswith(‘    y: ‘):
        y=int(middle(line,‘    y: ‘,‘\r\n‘))

    if line.startswith(‘    width: ‘):
        w=int(middle(line,‘    width: ‘,‘\r\n‘))

    if line.startswith(‘    height: ‘):
        h=int(middle(line,‘    height: ‘,‘\r\n‘))
        print pngname,x,y,w,h
        img = Image.open(prefab_path+‘.png‘)
        region = (x,y,w+x,h+y)
        cropimg=img.crop(region)
        cropimg.save(out_path+‘/‘+pngname+‘.png‘)

后续再整个Unity反编译,还原成图片了,敬请关注!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 15:17:08

Unity3D NGUI图集切成图片的相关文章

Unity3d通用工具类之NGUI图集分解

---恢复内容开始--- Unity3d通用工具类之NGUI图集分解 由于最近需要一些美术资源吗,但是无奈自己不会制作UI,所以就打算去网上的项目中直接找几张可以使用的贴图资源. 但是发现这些资源已经被NGUI自带的打包图集工具打包好了,而且原小贴图也已经全部删掉了,只剩下一个预制物. 那么这个预制物里面包含什么呢: 1.一张大图集贴图 2.大贴图的材质球 3.挂上UIAtla脚本的预制物 那么重点来了,我们该如何获取这张大贴图中的小贴图呢? 这里我写了个小插件,我直接在NGUI源代码里面改:

把图片切成小片(IOS)

把图片切成小片(IOS) by 伍雪颖 #import <Foundation/Foundation.h> #import <AppKit/AppKit.h> int main(int argc, const char * argv[]) { @autoreleasepool { if (argc < 2) { return 0; } NSString *inputFile = [NSString stringWithCString:argv[1] encoding:NSUT

[Unity3d][NGUI]打包NGUI预制件成Assetbundle 两种思路.

http://www.58player.com/blog-2537-85030.html 接上文,项目中因为需要UI热更新,所以我使用了AssetBundle这个解决方案.                   一般来说,我们使用AssetBundle生成资源包常用的方案是如下这么用:                  using UnityEngine;        using UnityEditor;                /// <summary>        /// 导出资源

[NGUI]NGUI图集Atlas制作

1,在PS里面设计好要做的UI,然后切片成很多个png的图片(这属于美工的活啦,所以会描述的的比较简单点哈)2,在Unity中 Project下新建一个Folder,F2重命名为ResUI,以后就用来存放所有的UI,在ResUI里面重新新建一个Folder,我们这次以开始界面为例,因此F2重命名这个Folder为StartUI,这个StartUI用来存储关于开始界面的所有资源.[NGUI]NGUI图集Atlas制作简介" border="0" alt="转载 [NG

制作NGUI图集

导入NGUI后,右击在弹出窗中如图选择,打开Atlas Maker 到Project窗口中添加需要制作成图集的图片资源 选中要添加的图集资源,点击add/Update 重复以上操作即可完成需要制作的图集 U3D开发交流群: 312315390,欢迎加入交流公共学习进步 制作NGUI图集,布布扣,bubuko.com

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum

Unity基础 NGUI 图集Atlas制作

unity版本:4.5 NGUI版本:3.6.5 1.选择要制作的图片放到对应目录下,在Asset下新建一个文件夹Picture用于放置图片: 2.选中一张图片,打开Atlas Maker: 3.单击窗口中的Create按钮,选择一个路径保存,在这里我们新建一个文件夹Prefabs用于保存生成的文件,可以看到Prefabs文件夹下生成了对应的3个文件: 如果还需要创建其他的Atlas则重复2.3步骤: 4.用NGUI依次创建: 在Panel下新建一个Button来测试: 搜索simple but

如何把Excel中的单元格等对象保存成图片

对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求, 需要对Excel中的一些对象进行拍图,比如,对一个单元格设置一些颜色之后拍图,或者对一个图表,报表拍成图片.经过比较曲折的经历,终于还是完成了.拿出来分享一下. 要做Excel,首先当然是查看Excel的com对象模型.地址在这里: http://msdn.microsoft.com/en-us

超有创意的设计网站:http://www.tagxedo.com/,将字体设设计成图片

Tagxedo Home Create Shop Tweet Welcome to Tagxedo, word cloud with styles Tagxedo turns words -- famous speeches, news articles, slogans and themes, even your love letters -- into a visually stunning word cloud, words individually sized appropriately