unity的烘焙技术
使用版本Unity4.6.0
1、光影烘焙
1.1 界面1:Object,点击Bake Scene即开始烘焙
1.2 界面2:Bake烘焙参数的设置
Mode:
(1)Dual Lightmap :近景烘焙图(near lightmaps)和远景烘焙图(far lightmaps)都会被烘焙,只有deferred rendering path支持该模式。
(2)Single Lightmap :只有远景烘焙图(far lightmaps)会被烘焙,
(3)Directional Lightmap :
Use in forward rendering:
一般可以忽略它。针对Dual lightmaps的设定,只在Mode选的是Dual时才会出现。在forward rendering模式下是否激活dual lightmaps,需要自己写对应的Shader。
Quality:
High low 2个选项。决定采集射线的数量,对比界限,以及反锯齿等设置。
Bounces:
Global Illumination模拟中 light bounces的数量。0表示只有直接光照会被计算,如果要加入柔软的,真实的间接光照的话,则至少填1。
Sky Light Color:
模拟从天空从所有方向射来的光照。对室外场景很重要。
(注意:RenderSettings里的Ambient Light也参与烘焙,并且会覆盖Sky Light。所以使用Sky Light的话,则需要关闭Ambient Light,把Ambient调成(0,0,0,0)即可)
Sky Light Intensity:Sky Light的强度。0表示关闭Sky Light.
Bounce Boost:加强Bounced light也就是间接光照的效果.
Bounce Intensity:间接光照的效果强度。
Final Gather Rays:从所有收集的点发射的射线的数量,最高则效果最好。默认为1000
Contrast Threshold: 越高表示光照越平滑同时细节越低
Interpolation:颜色计算方式。0表示线性插值,1表示基于梯度的高级插值。有时1会产生人工光照的失真效果。
Interpolation Points:越多表示光照越平滑同时细节越低。
Ambient Occlusion:环境闭塞(全局闭塞)在烘焙中的量,和光照无关,仅仅基于距离的效果
Lock Atlas:锁上了,贴图就不会变化,没什么用。
Resolution:
通常来说 Resolution设置平均每单位面积对应lightmap的多少色素。该值越高代表单位面积的色素越多即越精细。反之越低越粗糙。默认值为50。如果一个10x10的plane,resolution是50的话,在lightmap里该plane就占用500x500像素尺寸。
当然也可以单调该数值。选中物体后,在lightmapping界面中会有Scale in lightmap的数值,表示的是该物体的烘焙信息在lightmap占的大小,1表示正常尺寸。0表示该物体没有lightmap效果,但会影响其他物体的lightmap运算。2表示正常尺寸的两倍大小。
Padding:在lightmap里,不同物体的烘焙图的间距,单位为图素(texel)
1.3界面3:Maps
烘焙好后的map在这里显示。
Compressed: 是否压缩lightmap
Array Size:(0~254)lightmaps array的尺寸
Lightmaps array:即烘焙好的4张贴图,空格会被视为黑图,指数即下方的 2组贴图对应Mesh Renderer及Terrain里的lightmap index。这个会自动计算。