游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2313

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

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

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

[枫叶飘零] UGUI打包图集

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

55

主题

251

帖子

1864

积分

Rank: 9Rank: 9Rank: 9

UID
6728
好友
23
蛮牛币
6528
威望
0
注册时间
2013-10-30
在线时间
698 小时
最后登录
2018-9-12

专栏作家社区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四处流浪
494/500
排名
5094
昨日变化
3

0

主题

71

帖子

494

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

5熟悉之中
575/1000
排名
4084
昨日变化

1

主题

63

帖子

575

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

5熟悉之中
791/1000
排名
4363
昨日变化

7

主题

215

帖子

791

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1367/1500
排名
1384
昨日变化

1

主题

129

帖子

1367

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

3偶尔光临
294/300
排名
8125
昨日变化
1

0

主题

51

帖子

294

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

3偶尔光临
181/300
排名
10931
昨日变化
11

0

主题

54

帖子

181

积分

Rank: 3Rank: 3Rank: 3

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

回复

使用道具 举报

1

主题

21

帖子

93

积分

Rank: 2Rank: 2

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

回复 支持 2 反对 0

使用道具 举报

7日久生情
3397/5000
排名
128
昨日变化
1

5

主题

111

帖子

3397

积分

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

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

回复 支持 反对

使用道具 举报

8常驻蛮牛
7422/10000
排名
239
昨日变化

0

主题

3862

帖子

7422

积分

Rank: 8Rank: 8

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1016/1500
排名
3369
昨日变化
3

1

主题

371

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

7日久生情
1884/5000
排名
1420
昨日变化
1

0

主题

589

帖子

1884

积分

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

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

回复

使用道具 举报

7日久生情
1640/5000
排名
1540
昨日变化
2

3

主题

354

帖子

1640

积分

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

UID
159631
好友
1
蛮牛币
4094
威望
0
注册时间
2016-7-30
在线时间
509 小时
最后登录
2018-9-21
发表于 2017-9-15 11:36:11 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
916/1000
排名
3335
昨日变化
4

0

主题

221

帖子

916

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
750/1000
排名
3836
昨日变化
5

7

主题

68

帖子

750

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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