开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:1907

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 2207|回复: 42

[枫叶飘零] UGUI打包图集

[复制链接]  [移动端链接]
排名
2635
昨日变化
1

27

主题

170

帖子

1123

积分

Rank: 9Rank: 9Rank: 9

UID
6728
好友
7
蛮牛币
4720
威望
0
注册时间
2013-10-30
在线时间
436 小时
最后登录
2017-10-21

专栏作家社区QQ达人

发表于 2017-9-14 22:11:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
现在Unity中使用UGUI实现UI的越来越多,我们项目也才4.6.1升级到5.6.3对项目全面升级。5.xUGUI已经非常成熟,各种资料各种效果都非常多。由于之前一直习惯用NGUI在使用UGUI还是比较顺利的,都是一个作者写的都是控件式开发,唯一不爽的一点就是UGUI的图集管理。
习惯了NGUI的图集管理,在使用UGUI的时候也想把他们打包到一张图集上,查看了UGUI的打包方式,本以为和NGUI一样可以可以把分散的小图打到一张大图上。一直是这么理解的打包图集。
图片1.png
图片2.png
图片3.png
在打包工具中是一张图片,UGUI这样打包的优势是在使用这些图片的时候他们的DrawCalls就不会在增加了,我看别的有可以打到一张大图的,不知道为什么我这里没有成功,我unity版本是5.6.3f
自带的打包工具没有满足要求,寻找其他解决方案,在网上找到了TexturePackerGUI这个工具,看到TexturePackerGUI支持Unity
图片4.png
可以直接把需要打包的图片放到软件中进行打包组合,这里不涉及效率问题单纯只是进行打包。
图片5.png
图片6.png
这样就可以打包到一张图片上来,当然你也可以进行一下其他的设置,图片格式等等。
NGUI我们可以直接遍历图集获取到里面的全部子图片,直接支持图集类获取到。使用UGUI也可以获取到全部子图片但是需要自己写一个方案实现。
[C#] 纯文本查看 复制代码
    public Image btn;
  
    void Start () {
        string str = "text";//Resources文件夹下面的名字
        //SpriteRenderer[] sp = Resources.LoadAll<SpriteRenderer>(str);
        Sprite[] sprite = Resources.LoadAll<Sprite>(str);
        foreach (var item in sprite)
        {
            print(item.name);
            
        }
        btn.sprite = sprite[2];
    }

和大家交流一下UGUI打包的方法,要是有更好简洁的方法可以讨论

评分

参与人数 2鲜花 +4 收起 理由
卡徒 + 2 赞一个!
风一样的漂泊 + 2

查看全部评分


回复

使用道具 举报

4四处流浪
413/500
排名
4965
昨日变化
1

0

主题

67

帖子

413

积分

Rank: 4

UID
181385
好友
0
蛮牛币
715
威望
0
注册时间
2016-12-1
在线时间
130 小时
最后登录
2017-10-20
发表于 2017-9-15 08:58:11 | 显示全部楼层
6666666666666666666666666666

回复 支持 反对

使用道具 举报

3偶尔光临
250/300
排名
7054
昨日变化
3

0

主题

42

帖子

250

积分

Rank: 3Rank: 3Rank: 3

UID
159593
好友
0
蛮牛币
589
威望
0
注册时间
2016-7-30
在线时间
74 小时
最后登录
2017-10-21
发表于 2017-9-15 09:40:06 | 显示全部楼层
好厉害能用到的谢谢呢

回复 支持 反对

使用道具 举报

4四处流浪
435/500
排名
6326
昨日变化
5

4

主题

122

帖子

435

积分

Rank: 4

UID
151120
好友
4
蛮牛币
622
威望
0
注册时间
2016-6-6
在线时间
151 小时
最后登录
2017-10-20
发表于 2017-9-15 09:43:59 | 显示全部楼层
好棒的感觉
赞一个

回复 支持 反对

使用道具 举报

5熟悉之中
907/1000
排名
2176
昨日变化

1

主题

111

帖子

907

积分

Rank: 5Rank: 5

UID
62951
好友
0
蛮牛币
824
威望
0
注册时间
2014-12-22
在线时间
273 小时
最后登录
2017-10-21
发表于 2017-9-15 09:49:22 | 显示全部楼层
unity3d 2017 不是带atlas了嘛。

回复 支持 反对

使用道具 举报

3偶尔光临
287/300
排名
6905
昨日变化
4

0

主题

50

帖子

287

积分

Rank: 3Rank: 3Rank: 3

UID
74896
好友
0
蛮牛币
192
威望
0
注册时间
2015-2-15
在线时间
99 小时
最后登录
2017-10-20
发表于 2017-9-15 10:05:05 | 显示全部楼层
UGUI刻意不让开发者注意图集这个概念

回复 支持 反对

使用道具 举报

2初来乍到
110/150
排名
12927
昨日变化
5

0

主题

38

帖子

110

积分

Rank: 2Rank: 2

UID
233467
好友
0
蛮牛币
323
威望
0
注册时间
2017-7-21
在线时间
26 小时
最后登录
2017-10-21
发表于 2017-9-15 10:16:53 | 显示全部楼层
赞一个先。

回复

使用道具 举报

1

主题

19

帖子

89

积分

Rank: 2Rank: 2

UID
210371
好友
0
蛮牛币
256
威望
0
注册时间
2017-3-7
在线时间
65 小时
最后登录
2017-9-26
发表于 2017-9-15 10:22:30 | 显示全部楼层
直接给sprite设置pack tag 就可以了,相同的tag会打包到一个图集里面,UI使用的时候还是拖原来的sprite的,就像没合过图集那样。
window菜单下面有sprite pack工具,打开可以手动选择合图的方案以及手动合图,一般默认就可以了,直接点pack按钮合图就好了。
还有最好写个脚本批量设置sprite的tag,不然这么多图片一个一个手动设置很容易错。

回复 支持 2 反对 0

使用道具 举报

7日久生情
3127/5000
排名
90
昨日变化

5

主题

107

帖子

3127

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
12951
好友
2
蛮牛币
9246
威望
0
注册时间
2014-1-19
在线时间
861 小时
最后登录
2017-10-17
发表于 2017-9-15 10:27:08 | 显示全部楼层
其实UGUI本身的打包图集的方式是很不错的, 直接把对应的图集用文件夹管理, 然后打上一样的标签, Unity会自动打包图集, 做界面什么的直接用小图即可, 并且易于版本管理, 如果媒体打包大图, 改动一个小图就会导致整个图集改变, 很容易造成多开发图集冲突, 打包成打图集还需要保留小图的资源, 这样反而不是特别方便. 但是唯一的缺点就是无法获取Unity自己打包的图集资源, 做动态替换Sprite只能把需要变化的图片拖到脚本上面去, 但是最新的2017Unity版本提供了新版本的打包图集方式, 完美的解决了上面那个问题, 本身是把所有散图引用到一个资源文件上面去, 着实方面多, 也可以无了好缝从老的图集转入的新的上面去.

回复 支持 反对

使用道具 举报

8常驻蛮牛
5701/10000
排名
245
昨日变化

0

主题

2831

帖子

5701

积分

Rank: 8Rank: 8

UID
3215
好友
0
蛮牛币
305
威望
0
注册时间
2013-9-4
在线时间
1286 小时
最后登录
2017-10-21
发表于 2017-9-15 10:55:52 | 显示全部楼层
dddddddddddddddddddddd

回复 支持 反对

使用道具 举报

5熟悉之中
578/1000
排名
4885
昨日变化
1

0

主题

217

帖子

578

积分

Rank: 5Rank: 5

UID
122160
好友
0
蛮牛币
1138
威望
0
注册时间
2015-9-10
在线时间
139 小时
最后登录
2017-10-20
发表于 2017-9-15 11:01:39 | 显示全部楼层
感谢分享

回复

使用道具 举报

6蛮牛粉丝
1303/1500
排名
2062
昨日变化
2

0

主题

439

帖子

1303

积分

Rank: 6Rank: 6Rank: 6

UID
164723
好友
0
蛮牛币
2634
威望
0
注册时间
2016-8-29
在线时间
328 小时
最后登录
2017-10-20
发表于 2017-9-15 11:18:53 | 显示全部楼层
6666666666666

回复

使用道具 举报

5熟悉之中
821/1000
排名
3434
昨日变化

3

主题

226

帖子

821

积分

Rank: 5Rank: 5

UID
159631
好友
1
蛮牛币
1251
威望
0
注册时间
2016-7-30
在线时间
260 小时
最后登录
2017-10-20

迈向小康

发表于 2017-9-15 11:36:11 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
598/1000
排名
4362
昨日变化
2

0

主题

146

帖子

598

积分

Rank: 5Rank: 5

UID
203671
好友
0
蛮牛币
1118
威望
0
注册时间
2017-1-20
在线时间
198 小时
最后登录
2017-10-14
发表于 2017-9-15 12:25:28 | 显示全部楼层
6666666666666

回复

使用道具 举报

4四处流浪
305/500
排名
7609
昨日变化
1

4

主题

42

帖子

305

积分

Rank: 4

UID
206113
好友
0
蛮牛币
392
威望
0
注册时间
2017-2-11
在线时间
139 小时
最后登录
2017-10-20
发表于 2017-9-15 12:37:11 | 显示全部楼层
楼主可以看看Sprite Atlas,不过5.6应该用不了
[发帖际遇]: 盖世神溜 被钱袋砸中进医院,看病花了 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表