纳金网

标题: Mesh Baker的基本操作与功能演示 [打印本页]

作者: 艾西格亚    时间: 2013-7-19 10:45
标题: Mesh Baker的基本操作与功能演示
本帖最后由 艾西格亚 于 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    时间: 2013-7-19 19:41
原来是这样的用途,学习!
作者: Asen    时间: 2013-7-19 21:00
原来是这样的用途,学习!
作者: suke    时间: 2013-7-19 23:02
好东西,谢谢楼主。
请问楼主,该插件是否支持SkinnedMeshRenderer 的mesh bake并将数据持久化复用呢?
作者: ku    时间: 2013-7-20 06:50
版主,希望补图啊,最后几张图看不到啊
作者: 艾西格亚    时间: 2013-7-20 11:20
suke 发表于 2013-7-19 23:02
好东西,谢谢楼主。
请问楼主,该插件是否支持SkinnedMeshRenderer 的mesh bake并将数据持久化复用呢? ...

文件上是说支持的,你可以试试
作者: 艾西格亚    时间: 2013-7-20 11:21
ku 发表于 2013-7-20 06:50
版主,希望补图啊,最后几张图看不到啊

已补齐,谢谢提醒!
作者: dzspb    时间: 2013-7-21 11:14
这个教程太棒了,谢谢!
作者: f7724x    时间: 2013-7-22 03:54
納金往必看教程!!!!!!!!!!!!!
作者: wucnj    时间: 2013-7-24 08:45
顶楼主,学习中!!!
作者: snake163    时间: 2013-7-24 12:24
强大的烘焙
作者: dzspb    时间: 2013-7-25 16:16
正需要这个教程呢,谢谢!
作者: 查穆1    时间: 2013-7-25 16:48
好东西,可以对项目进行减肥操作了,感谢楼主的教程
作者: 筱筱    时间: 2013-7-29 11:37
本帖最后由 筱筱 于 2013-7-29 11:51 编辑

楼主,为什么我的弄出来就是图片模糊,而且好像不是平铺了呢呢?请求指点

bake-hou.jpg (126.88 KB, 下载次数: 884)

bake-hou.jpg

bake—qian.jpg (103.42 KB, 下载次数: 873)

bake—qian.jpg


作者: snake163    时间: 2013-7-29 21:29
好东西 谢谢分享
作者: 王者再临    时间: 2013-7-29 22:03
筱筱 发表于 2013-7-29 11:37
楼主,为什么我的弄出来就是图片模糊,而且好像不是平铺了呢呢?请求指点 ...

是不是你烘培后的材质属性设置问题?
作者: swat_3    时间: 2013-7-29 22:26
好东西 谢谢分享
作者: 筱筱    时间: 2013-8-6 14:04
王者再临 发表于 2013-7-29 22:03
是不是你烘培后的材质属性设置问题?

烘焙后材质球的属性??直接就是Diffuse.需要调整啥么、?
作者: 艾西格亚    时间: 2013-8-6 18:10
筱筱 发表于 2013-8-6 14:04
烘焙后材质球的属性??直接就是Diffuse.需要调整啥么、?

具体要看看你的设置了,或是将这个模型发上来看看
作者: libufan    时间: 2013-8-6 19:47
感谢无私分享。。
作者: dzspb    时间: 2013-8-10 21:48
还有个疑问,如果不同的材质用的是不同的Shader可以合并么?
作者: 筱筱    时间: 2013-8-19 10:40
艾西格亚 发表于 2013-8-6 18:10
具体要看看你的设置了,或是将这个模型发上来看看

工程上传来了,请帮忙查看,谢谢

baker.part1.rar

19 MB, 阅读权限: 20, 下载次数: 1

baker.part2.rar

18.54 MB, 阅读权限: 20, 下载次数: 1


作者: 狂风大尉    时间: 2013-8-19 12:20
1.jpg

左边是你烘培材质的模型 ,将Diffuse的白色调成灰色就能达到右边的原来效果



作者: 比巴卜    时间: 2013-8-20 11:12
谢谢楼主分享 很精彩!
作者: 筱筱    时间: 2013-8-21 09:31
狂风大尉 发表于 2013-8-19 12:20
左边是你烘培材质的模型 ,将Diffuse的白色调成灰色就能达到右边的原来效果

说的是每个材质球的基本色??本身不都是灰色么?而且就我调节深了,也是烘焙的纹理不正确去。。
作者: 狂风大尉    时间: 2013-8-21 12:32
筱筱 发表于 2013-8-21 09:31
说的是每个材质球的基本色??本身不都是灰色么?而且就我调节深了,也是烘焙的纹理不正确去。。 ...

是调下烘培后的那个物件,里面不就只有一个材质了吗,改下这个diffuse就行了
作者: orokborokhulu    时间: 2013-10-11 14:59
very useffull
作者: af369333    时间: 2013-10-18 14:56
normal贴图怎么弄    还有  带alf通道的
作者: ZackD    时间: 2013-10-18 18:11
af369333 发表于 2013-10-18 14:56
normal贴图怎么弄    还有  带alf通道的

有意思的问题,支持一下!
作者: HIDEOKOJIMA    时间: 2013-10-18 21:12
感覺非常實用~
作者: shzh135    时间: 2013-10-23 20:01
感谢楼主无私的分享
作者: thebat    时间: 2014-4-9 17:09
发现不同shader的材质无法合并
作者: xuesk    时间: 2014-4-14 19:23
然后在哪里下载呢?
作者: wulong    时间: 2014-4-14 21:55
好东西,值得下载
作者: Ethan    时间: 2014-5-19 15:05

顶严重支持楼主,沙发学习中!!!!
作者: wander    时间: 2014-5-19 17:55
好贴!非常感谢楼主这么详细的教程!
作者: wander    时间: 2014-5-23 15:59
试用了一下,的确功能挺强,但是如果物体多的话,合并、对位置、删除...工作量也挺大!有没有更加简便的方法,直接将合并好的材质直接赋予原来的物体上呢?
作者: ddd0000    时间: 2014-5-28 16:52
好想下载这个资源呀,可惜没有币
作者: aini0213    时间: 2014-7-24 14:02
不错   这个办法厉害
作者: 伽百叶    时间: 2014-8-29 13:25
很好的教程 谢谢了
作者: suyu19814    时间: 2014-9-4 22:47
x谢谢,学习了。
作者: thinbug    时间: 2014-9-22 15:58
多谢楼主爱心
作者: 残_靥    时间: 2014-9-22 16:57
感谢楼主  终于找到这个东西了
作者: sweed0    时间: 2014-10-9 14:31
合并后,感觉好暗啊,并且打光也没有作用,请大师指点啊
作者: bitgold    时间: 2014-10-13 14:15
不错,学习了
作者: nicsgame    时间: 2014-10-20 17:43
这个吊爆了!
作者: tianhett    时间: 2014-10-20 19:14
这是要逆天的节奏啊。。
作者: sweed0    时间: 2014-10-27 14:27
大师,有用这个插件会出现贴图错乱的现象,这个整个修正啊?
作者: lose    时间: 2015-2-10 16:08
顶楼主,学习中!!!
作者: freedom1263    时间: 2015-6-9 11:12
好东西!
作者: yunyun    时间: 2015-9-7 15:48
想请教一下,怎么处理打成assetbundle的资源,这好像是必须可以看得到用的什么材质
作者: 幸福的小道    时间: 2015-9-10 08:29
谢谢楼主。学习了
作者: zld1990    时间: 2015-12-16 15:28
这个好像对tiling贴图是无解的
作者: Ainy    时间: 2015-12-23 16:30
Very Good ~~~~~~~~~~~~~~~
作者: wkjofc    时间: 2016-3-1 11:57
问下楼主,如果我模型已经做好了多级lod,请问如何做呢???
作者: xuqin8003    时间: 2016-3-1 13:16

原来是这样的用途,学习!
作者: 风华似锦    时间: 2016-3-1 13:28
赞一个!!!!!!!!!!!!!!!!!!
作者: 邱晓拉    时间: 2016-5-1 19:15
学习啦,谢谢楼主!
作者: yhr28    时间: 2017-10-12 09:33
这个教程太棒了,谢谢!




欢迎光临 纳金网 (http://wwww.narkii.com/club/) Powered by Discuz! X2.5