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

扫一扫,访问微社区

开发者专栏

关注:2209

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

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

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

[枫叶飘零] UGUI打包图集

[复制链接]  [移动端链接]
排名
1708
昨日变化
2

50

主题

238

帖子

1723

积分

Rank: 9Rank: 9Rank: 9

UID
6728
好友
18
蛮牛币
6298
威望
0
注册时间
2013-10-30
在线时间
645 小时
最后登录
2018-5-23

专栏作家社区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
排名
4797
昨日变化
4

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熟悉之中
568/1000
排名
3889
昨日变化
2

1

主题

62

帖子

568

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

5熟悉之中
728/1000
排名
4420
昨日变化
30

7

主题

200

帖子

728

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1214/1500
排名
1575
昨日变化
3

1

主题

124

帖子

1214

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

3偶尔光临
294/300
排名
7714
昨日变化
6

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
排名
10459
昨日变化
3

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

主题

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日久生情
3352/5000
排名
104
昨日变化
1

5

主题

111

帖子

3352

积分

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

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

回复 支持 反对

使用道具 举报

8常驻蛮牛
7181/10000
排名
212
昨日变化

0

主题

3741

帖子

7181

积分

Rank: 8Rank: 8

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

回复 支持 反对

使用道具 举报

5熟悉之中
976/1000
排名
3421
昨日变化
15

1

主题

367

帖子

976

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
1813/5000
排名
1414
昨日变化
1

0

主题

579

帖子

1813

积分

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

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

回复

使用道具 举报

6蛮牛粉丝
1401/1500
排名
1911
昨日变化
2

3

主题

346

帖子

1401

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

5熟悉之中
867/1000
排名
3479
昨日变化
13

0

主题

220

帖子

867

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

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

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 下一条

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