123456 第1页 | 共6 页下一页
返回列表 发新帖
查看: 26342|回复: 59

[教程] Mesh Baker的基本操作与功能演示

  [复制链接]

955

主题

162

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59672
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

发表于 2013-7-19 10:45:45 |显示全部楼层
pstatus"> 本帖最后由 艾西格亚 于 2013-9-15 13:14 编辑

如何降低游戏在系统中的消耗并带给用户最佳的体验是开发者一直追求的目标,在Unity里面对于模型与贴图优化的方式已经提供了不少工具,而在某些地方仍需借由外部的插件才能得到更为理想的效果。在本教程里,我们将介绍一个材质烘培类型的插件- Mesh Baker,通过这个插件的优化之后可降低大量贴图对系统的消耗,进而达到快速提升游戏的效能!

首先,我们看看房屋模型在max里面的情况,如图所示,这是一组由多个网格物件所组成的房屋,并且在每一个网格面上都设置了几种以上的材质,其中包含了颜色与贴图。以房屋模型里面的一个墙面网格为例,在这个模型的墙与柱面分别设置了不同的贴图,以及旁边破损的部分加起来总共有数种材质。

max_1.jpg


max_2.jpg


在max里面制作多层贴图通常会使用Multi-Sub Object的材质属性,如图所示,每一个ID代表了一种材质的设置,所以从数字上看来在这个模型上面总共有七种材质。

max_3.jpg


将模型导入Unity后,在Materails的列表里面可以看到网格模型的材质对应到Multi-Sub Object的ID。

max_4.jpg


经过Mesh Baker的贴图烘培后,从外观看起来的模型并没有任何的改变,如图所示,左边是原来的模型,而右边则是Mesh Baker使用贴图烘培出来的结果。

max_5.jpg


我们来看看Mesh Baker烘培出来的模型材质,原来的七种材质已经合并成一张完整的贴图了,如此一来将可以大幅的降低贴图对于系统的消耗。

max_6.jpg


接下来,我们用一个模型来说明Mesh Baker的操作流程,Mesh Baker插件的下载位置如下:http://www.narkii.com/club/thread-295672-1.html

1.jpg


安装Mesh Baker后,可以在GameObject > Create Other > Mesh Baker里面找到三个主要的烘培功能,在一般情况下选择Mesh And Material Baker即可处理大多数的模型,其他两个功能分别是多网格物件的材质的烘培(Multi-mesh Anb Material Baker)与材质烘培(Material Baker)。

2.jpg


选择Mesh And Material Baker,在Hierarchy面板里面会产生一个MeshBaker0的组件,如图所示:

3.jpg


然后我们来看看是那些模型需要进行烘培,需要做的处理是将场景里面的几个模型合并成一个,并且能共用同一张贴图。

4.jpg


首先,按下Create Empty Assets For Combined Material保存一个材质烘培后的存档文件,如图所示,我们使用了一个building的文件名来作为Mesh Baker的烘培文件。

5.jpg


在Object To Be Combined > Size 的栏位里面输入5,表示有5个物件需要进行烘培,接下来的动作很简单,只需要将模型添加进来即可。设置好烘培的模型后,按下Bake Materials to Combined Material,意思就是将所有的材质烘培成一个材质的作用,然后系统就会开始进行运算。

8.jpg


运算完成后,将烘培好的材质添加到Material Bake Result,表示模型将会以这个烘培后的材质来重新进行贴图的指定。

9.jpg


10.jpg


如图所示,Shaders里面所列出的即是合并的材质。

11.jpg


接下来的动作很简单了,直接按下Object To Be Combined 里面的Bake执行物件的烘培,计算完成后在Hierarchy面板里多出了一个CombinedMesh-MeshBaker0的物件,这个就是烘培后产生的另一个物件。

12.jpg


13.jpg


将这个烘培物件移到旁边对比一下,如图所示,左边是原来的模型,右边则是烘培出来的物件,从外观上看来两者并没有任何的差异。

14.jpg


如图所示,我们可以从材质列表里面来做个比对,原来的一个模型里面有多种材质与贴图,而经过烘培后的物件则是合并成为一个材质。

15.jpg


16.jpg


点选贴图看看,很惊奇的发现原来的多张贴图已经自动的并成了一张,如此将可以大幅的减低贴图所带来的消耗,这就是Mesh Baker在优化功能上的一大优势。

17.jpg



回复

使用道具 举报

may    

8830

主题

79

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
49319
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

发表于 2013-7-19 19:41:50 |显示全部楼层
原来是这样的用途,学习!
回复

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

纳金币
17553
精华
1
发表于 2013-7-19 21:00:25 |显示全部楼层
原来是这样的用途,学习!
回复

使用道具 举报

suke    

1

主题

1

听众

6155

积分

高级设计师

码农

Rank: 6Rank: 6

纳金币
4980
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

发表于 2013-7-19 23:02:04 |显示全部楼层
好东西,谢谢楼主。
请问楼主,该插件是否支持SkinnedMeshRenderer 的mesh bake并将数据持久化复用呢?
回复

使用道具 举报

ku 智囊团   

89

主题

2

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
25
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

发表于 2013-7-20 06:50:57 |显示全部楼层
版主,希望补图啊,最后几张图看不到啊
回复

使用道具 举报

955

主题

162

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59672
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

发表于 2013-7-20 11:20:59 |显示全部楼层
suke 发表于 2013-7-19 23:02
好东西,谢谢楼主。
请问楼主,该插件是否支持SkinnedMeshRenderer 的mesh bake并将数据持久化复用呢? ...

文件上是说支持的,你可以试试
回复

使用道具 举报

955

主题

162

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59672
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

发表于 2013-7-20 11:21:25 |显示全部楼层
ku 发表于 2013-7-20 06:50
版主,希望补图啊,最后几张图看不到啊

已补齐,谢谢提醒!
回复

使用道具 举报

dzspb    

1

主题

1

听众

834

积分

初级设计师

Rank: 3Rank: 3

纳金币
32
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

发表于 2013-7-21 11:14:18 |显示全部楼层
这个教程太棒了,谢谢!
回复

使用道具 举报

0

主题

1

听众

224

积分

设计实习生

Rank: 2

纳金币
5
精华
0

最佳新人

发表于 2013-7-22 03:54:46 |显示全部楼层
納金往必看教程!!!!!!!!!!!!!
回复

使用道具 举报

wucnj    

1

主题

1

听众

3158

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

发表于 2013-7-24 08:45:07 |显示全部楼层
顶楼主,学习中!!!
回复

使用道具 举报

123456 第1页 | 共6 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

关闭

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

手机版|纳金网 ( 闽ICP备08008928号  

GMT+8, 2021-1-22 22:59 , Processed in 0.107277 second(s), 36 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部