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

扫一扫,访问微社区

开发者专栏

关注:1810

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

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

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

[慕容小匹夫] 进击的AssetBundles和它的工具们

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

40

主题

283

帖子

2859

积分

Rank: 9Rank: 9Rank: 9

UID
44527
好友
47
蛮牛币
2404
威望
0
注册时间
2014-9-12
在线时间
543 小时
最后登录
2017-8-15

专栏作家活力之星认证开发者

发表于 2017-7-17 12:51:00 | 显示全部楼层 |阅读模式

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

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

x
0x00 前言
周末的时候在家看了下去年的Unite16 LA的视频。其中一个session很有趣,是AssetBundles开发团队Reichert的一个“总结过往,畅想未来”的名为《Future of Asset Bundles》的session 。


简而言之是过去的AssetBundles有很多问题,以后AssetBundles的API可能又会有一些很大的变化。当然,一个好消息是unity显然和微软一样,这两年已经意识到啦开源的意义 一部分代码(高层c#部分的代码)在GitHub上已经开源:
AssetBundles-Browser
AssetBundles-BuildPipeline
在开源社区内通过高频度的交流反馈推进项目的进度,而不是花几个月时间捂出来一个实验室里的怪胎,显然前者让人更有信心。
不过本文想要聊到主要内容并非AssetBundle,而是一个辅助工具——AssetBundles-Browser。



0x01 过去的不足
在这个session 中Reichert总结了若干过去AssetBundle的不足,抛开各种各种和性能或底层机制相关的不足不谈,我很认同的一点就是Editor内AssetBundle工具的缺位。

当然,Reichert罗列的问题还不止这些,他们甚至还组建了新的Asset Bundle & Build Pipelin团队来处理解决这些已有的问题同时开发新的功能。其中当然包括了为我们这些开发者提供更多的Editor工具来处理AssetBundle的相关问题。


这其中包括一个叫做AssetBundles-Browser的工具,我感觉还是挺实用,因此在此和大家分享一下。



0x02 AssetBundles-Browser

虽然AssetBundles-Browser是unity开发的一个工具,但是并没有包括在正式发布的Unity版本中。如果想要使用则必须保证Unity的版本在5.6+,并且去GitHub获取相应的脚本:
AssetBundles-Browser


之后将获取的项目内的Editor文件夹拷贝到我们已有的项目中,就可以在Editor的Window菜单栏里找到AssetBundle Browser了。
因为我的示例项目内没有Assetbundles,因此AssetBundle Browser窗口内空空如也。(场景以及模型资源来自:Japanese Matsuri City)



此时我们既可以像以往一样设置目标资源的Asset Labels,也可以直接将资源拖拽到AssetBundle Browser的Bundle列表区域。
例如,我可以直接将场景文件sample拖到AssetBundle Browser的Bundle列表区域。这样一个Bundle就创建好了,它的Asset Labels也会被自动设置。在AssetBundle Browser的右侧——Asset列表区域罗列了这个Bundle所包含的Asset。



我们可以很方便的定位目标Asset或者是按照体积对Asset进行排序,甚至检视是否有一些问题发生,比如某个资源是否被重复打包了。
所以接下来我们可以再次向Bundle列表区域拖拽一个需要被制作成Bundle的资源。这次我们发现,在Bundle列表和Asset列表都出现了一个黄色的提示——有四个资源被重复打包了。

那么怎么处理这种被重复引用的资源呢?我想各位在制作自己的AssetBundles时肯定都有各种各样的策略,不过在AssetBundle Browser中处理这种依赖问题却很简单——无非是被重复引用的资源单独打包——创建一个新的Bundle用来存放那些重复引用的资源。



当然,除了能往Bundle列表中拖拽来创建新的Bundle,那么我们能否直接在Asset列表中操作Bundle内的Asset呢?这同样是可以的。我们既可以直接将别的Asset拖入到某个Bundle内,也可以直接删除某个Bundle内的Asset。




0x03 Build
当AssetBundle的内容设置完成之后,我们就可以构建我们的Bundle文件了。我相信之前大家也是通过拓展编辑器来调用相应的BuildPipline的代码来构建Bundle文件,但是有了AssetBundle Browser之后,我们可以很方便的在AssetBundle Browser的窗口内构建Bundle文件。


勾选适合自己使用的选项,选择适合自己的压缩算法都可以实现。
之后,我们就能看到生成的AssetBundles文件了。

是不是比之前方便了很多?

ref:
【1】AssetBundles-Browser Manual

【2】slide可以到这里到这里下载:UniteLA-AssetBundles.pdf
各位如果觉得有趣的话,欢迎点个赞。

-华丽的分割线-
最后打个广告,欢迎支持我的书《Unity 3D脚本编程》
https://item.jd.com/12035114.html

欢迎大家关注我的公众号慕容的游戏编程:chenjd01



回复

使用道具 举报

排名
98
昨日变化

2

主题

2339

帖子

5464

积分

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

UID
47709
好友
1
蛮牛币
3803
威望
0
注册时间
2014-10-5
在线时间
1153 小时
最后登录
2017-8-17
发表于 2017-7-17 16:43:37 | 显示全部楼层
这个很经典哦,谢谢楼主分享

回复 支持 反对

使用道具 举报

3偶尔光临
299/300
排名
7820
昨日变化
87

1

主题

98

帖子

299

积分

Rank: 3Rank: 3Rank: 3

UID
192151
好友
0
蛮牛币
165
威望
0
注册时间
2016-12-14
在线时间
88 小时
最后登录
2017-8-17
发表于 2017-7-17 16:53:20 | 显示全部楼层
哇 厉害了刚好需要这样的东西 sixsixsixsix

回复 支持 反对

使用道具 举报

7日久生情
1654/5000
排名
523
昨日变化
2

0

主题

116

帖子

1654

积分

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

UID
45471
好友
2
蛮牛币
6488
威望
0
注册时间
2014-9-18
在线时间
374 小时
最后登录
2017-8-17
发表于 2017-7-18 10:49:57 | 显示全部楼层
工具很好,开源才放心

回复 支持 反对

使用道具 举报

4四处流浪
338/500
排名
6276
昨日变化
46

14

主题

46

帖子

338

积分

Rank: 4

UID
188601
好友
0
蛮牛币
671
威望
0
注册时间
2016-12-1
在线时间
126 小时
最后登录
2017-8-17
发表于 2017-7-18 15:37:34 | 显示全部楼层
unity发布成iOS64位,实例化asset bundle的时候如果模型有贴图应用就崩溃楼主能帮帮忙吗

回复 支持 反对

使用道具 举报

7日久生情
1718/5000
排名
771
昨日变化
1

9

主题

56

帖子

1718

积分

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

UID
79646
好友
0
蛮牛币
3454
威望
0
注册时间
2015-3-14
在线时间
670 小时
最后登录
2017-8-17
QQ
发表于 2017-7-18 16:45:37 | 显示全部楼层
感谢大牛分享

回复

使用道具 举报

7日久生情
1680/5000
排名
16553
昨日变化
15

2

主题

1424

帖子

1680

积分

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

UID
185807
好友
0
蛮牛币
2166
威望
0
注册时间
2016-11-22
在线时间
230 小时
最后登录
2017-8-16
发表于 2017-7-18 19:52:53 | 显示全部楼层
赞,学习了,谢谢分享

回复 支持 反对

使用道具 举报

排名
4760
昨日变化
4

2

主题

106

帖子

604

积分

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

UID
19436
好友
10
蛮牛币
1407
威望
0
注册时间
2014-3-29
在线时间
226 小时
最后登录
2017-7-22

认证开发者

发表于 2017-7-19 01:30:24 | 显示全部楼层
个人感觉这个还是没啥特别大的用处....

回复 支持 反对

使用道具 举报

5熟悉之中
555/1000
排名
5085
昨日变化
40

0

主题

187

帖子

555

积分

Rank: 5Rank: 5

UID
168312
好友
0
蛮牛币
999
威望
0
注册时间
2016-9-13
在线时间
166 小时
最后登录
2017-8-16
发表于 2017-7-19 08:48:57 | 显示全部楼层
路过学习了

回复

使用道具 举报

3偶尔光临
293/300
排名
6392
昨日变化
5

0

主题

62

帖子

293

积分

Rank: 3Rank: 3Rank: 3

UID
153443
好友
0
蛮牛币
607
威望
0
注册时间
2016-6-24
在线时间
83 小时
最后登录
2017-8-14
发表于 2017-7-19 09:42:14 | 显示全部楼层
哇 厉害了刚好需要这样的东西 sixsixsixsix

回复 支持 反对

使用道具 举报

4四处流浪
493/500
排名
5467
昨日变化
5

33

主题

94

帖子

493

积分

Rank: 4

UID
25287
好友
0
蛮牛币
431
威望
0
注册时间
2014-5-15
在线时间
172 小时
最后登录
2017-8-7
发表于 2017-7-19 12:26:31 | 显示全部楼层
fffffffffffffffffffffffffffff

回复 支持 反对

使用道具 举报

排名
15485
昨日变化
13

0

主题

27

帖子

66

积分

Rank: 2Rank: 2

UID
2609
好友
0
蛮牛币
4
威望
0
注册时间
2013-8-26
在线时间
11 小时
最后登录
2017-7-19
发表于 2017-7-19 16:10:44 | 显示全部楼层
进击的AssetBundles和它的工具们,学习了,感谢
[发帖际遇]: yonderbyron 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

7日久生情
1689/5000
排名
872
昨日变化

9

主题

284

帖子

1689

积分

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

UID
75415
好友
2
蛮牛币
4046
威望
0
注册时间
2015-2-22
在线时间
482 小时
最后登录
2017-8-7
发表于 2017-7-19 18:31:19 | 显示全部楼层
谢谢楼主

回复

使用道具 举报

4四处流浪
361/500
排名
6276
昨日变化
46

3

主题

101

帖子

361

积分

Rank: 4

UID
104455
好友
0
蛮牛币
648
威望
0
注册时间
2015-5-30
在线时间
105 小时
最后登录
2017-8-16
QQ
发表于 2017-7-20 11:15:01 | 显示全部楼层
赞,学习了,谢谢分享

回复 支持 反对

使用道具 举报

排名
26821
昨日变化
27

2

主题

9

帖子

19

积分

Rank: 1

UID
233318
好友
0
蛮牛币
22
威望
0
注册时间
2017-7-20
在线时间
2 小时
最后登录
2017-7-23
发表于 2017-7-21 09:55:06 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

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

本版积分规则

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