首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二)
2014
06-23

Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二)

Unity默认烘培场景以后每张烘培贴图的大小是1024。但是有可能你的场景比较简单,用1024会比较浪费。如下图所示,这是我的一个场景的烘培贴图,右上角一大部分完全是没有用到,但是它却占着空间。 

Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二) - 雨松MOMO程序研究院 - 1

有时候可能你想去修改烘培贴图的大小,如下图所示以前我试过在Inspector视图中修改烘培贴图的大小,图虽然是小了但是它是整体缩小,后来在手机上面发现这这样直接修改烘培贴图的大小确实有问题,接缝方面处理的有问题。而且每次烘培完场景以后都需要这样缩一下。。(千万不要这样缩图)

Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二) - 雨松MOMO程序研究院 - 2

我们需要美术在烘培场景的时候去设置烘培贴图的大小,可是Unity的烘培菜单根本没有设置烘培贴图的大小。。后来我想到了一个巧妙的办法,用脚本来烘培场景,顺便设置烘培贴图的大小。。代码很简单。

Clear()就是删除当前场景的烘培贴图。

Bake()就是直接烘培当前场景,我还可以在烘培场景之前加一些代码。。。一切都是脚本化操作。嘿嘿。。

maxAtlasHeight和maxAtlasWidth 就是每张烘培贴图的宽和高,一般我们每个场景用一张512的就差不多了。烘培贴图必须要2的幂次方,并且要正方形的。

 这样美术只用在Lightmapping窗口中设置好当前烘培场景的参数。。调用我们写的拓展菜单方法就可以了。这里我设置的烘培贴图的大小是512。

利用上面的方法我们把一张1024的贴图缩小到了512,效果没有什么变化但是空间缺缩小了4倍。。

 

Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二) - 雨松MOMO程序研究院 - 3

IOS PVRTC压缩后512的贴图只有170.8KB,很给力吧。。

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. MOMO老师,为什么我烘焙完之后,贴图的size依旧是1024呐,讲道理,代码应该是您写的那样的,是不是我哪里设置需要注意的

  2. 您好。在烘焙光照的贴图的过程,遇到一个问题想请教一下您,我用combinemesh方法合并网格之后,烘焙出来的光照贴图就不对了,这是咋回事儿?能怎么解决呢?多谢

      • 不太明白。。。但总的来说问题是,合并网格之后,如何使得烘焙光照贴图还有效?需要怎么设置还是说代码写?一般的mesh在导入设置的时候不是可以选择Generate lightmapping uv吗?合并产生mesh可以通过相似的办法实现吗

  3. 您好~我想问下 我在安卓真机上发现lightmap 丢失 这是什么情况请问有遇到么?我用的是5.0.2版本 代码都是以前工程的4.6版本 都没有问题~ 程序启动的我执行这句代码 LightmapSettings.lightmaps = lightmapDatas; lightmapDatas 这边存有2张光照贴图信息。在PC 上是没有问题 请问有什么好的方法么~

  4. 前辈,还是想问下关于lightmap的问题如果在unity烘焙的时候,会自动把场景所有模型的UV自动分到第二套UV里面。但是如果从外部软件手动分好UV导入引擎有什么办法?

  5. 您好,请问您一个问题,同事在ios平台下进行的光照烘培,然后我从svn上down下来,我的是Android平台,发现贴图很亮。然后打成APK包,在手机上运行,但又是正常的。请问这是什么原因呢?平台的差异性造成的吗

  6. 其实不用那么麻烦,在unity打开lightmap窗口下,右键单击标签,有一个“Generate Beast Sittings file”,建立之后会有更多的参数可选,是一个XML形式的描述文件,最近我也一直在研究这块,希望MOMO能共同探讨一下

  7. 雨松大神你好!我用了以前Island的那个DEMO的一个脚本,去合并我场景的网格了,这样做,Draw Call确实较低了几十倍,但是之前烘焙好的Lightmaping 就不能用了怎么解决呀!???

  8. 传统老美工外加略懂程序,还是建议在max下烘焙,那样不是能更好的控制需要烘焙灯光图片的大小吗,甚至可以控制某个物体在UV2里的位置,后期修改起来方便,更别说什么AO,Shadow就更好操作了!更重要的是可以利用max里的各种灯光类型(亲测就连光​域​网灯光也能很好的支持喔),还有更更更重要的一点是可以利用一些高级渲染引擎来做烘培(比如Very, FinalRender,Mental Ray等),鄙人比较传统,我始终认为这些专业的渲染引擎肯定比U3D的渲染烘培强大很多,毕竟人家什么也不干就只做渲染的….只是一点小小的个人看法!

    • 大小?那个不是设置烘培出来的光影的精度么。。。。有重新烘培过吗。 在Scene时候有个小面板 把Show Resolution 打开 再看场景 这样参数的变化很直关就能看到

  9. 大神问个问题 有时候我会设置灯光的阴影强度弱些。这样阴影不会太黑。可是烘培完成的时候总是会无视这个强度的设置。。。这样烘培出来的效果不理想额。。有没什么办法么。。 Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景(七十二) - 雨松MOMO程序研究院 - 1