unity烘焙光照贴图.docx
- 文档编号:9165255
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:487.62KB
unity烘焙光照贴图.docx
《unity烘焙光照贴图.docx》由会员分享,可在线阅读,更多相关《unity烘焙光照贴图.docx(11页珍藏版)》请在冰豆网上搜索。
unity烘焙光照贴图
引言:
光影烘焙,英文叫Lightmapping或lightbaking。
Unity自带了Lightmapping的功能(是IlluminateLabs出的名为Beast的产品)。
本系列教程分为4讲:
第一讲光影烘焙
第二讲AreaLight
第三讲LightProbes
第四讲脚本控制
其中第三第四讲讲解的是动态物体与烘焙后场景的融合。
光影烘焙
打开方式 Window – Lightmapping
有几点需要注意:
1.所要烘焙物体的mesh必须要有合适的lightmappinguv。
如果不确定的话,就在导入模型设置中勾选GenerateLightmapUVs
2.任何MeshRenderer,SkinnedMeshRenderer或者Terrain都要标注为static(lightmapstatic)
界面一:
Object
点击BakeScene即开始烘焙
界面2:
Bake
烘焙参数的设置
Mode:
(1)DualLightmapmode:
近景烘焙图(nearlightmaps)和远景烘焙图(farlightmaps)都会被烘焙,只有deferredrenderingpath支持该模式。
(2)SingleLightmapmode:
只有远景烘焙图(farlightmaps)会被烘焙,
(3)DirectionalLightmapmode:
Useinforwardrendering:
一般可以忽略它。
针对Duallightmaps的设定,只在Mode选的是Dual时才会出现。
在forwardrendering模式下是否激活duallightmaps,需要自己写对应的Shader。
Quality:
Highlow2个选项。
决定采集射线的数量,对比界限,以及反锯齿等设置。
Bounces:
GlobalIllumination模拟中lightbounces的数量。
0表示只有直接光照会被计算,如果要加入柔软的,真实的间接光照的话,则至少填1。
SkyLightColor:
模拟从天空从所有方向射来的光照。
对室外场景很重要。
(注意:
RenderSettings里的AmbientLight也参与烘焙,并且会覆盖SkyLight。
所以使用SkyLight的话,则需要关闭AmbientLight,把Ambient调成(0,0,0,0)即可)
SkyLightIntensity:
SkyLight的强度。
0表示关闭SkyLight.
BounceBoost:
加强Bouncedlight也就是间接光照的效果.
BounceIntensity:
间接光照的效果强度。
FinalGatherRays:
从所有收集的点发射的射线的数量,最高则效果最好。
默认为1000
ContrastThreshold:
越高表示光照越平滑同时细节越低
Interpolation:
颜色计算方式。
0表示线性插值,1表示基于梯度的高级插值。
有时1会产生人工光照的失真效果。
InterpolationPoints:
越多表示光照越平滑同时细节越低。
AmbientOcclusion:
环境闭塞(全局闭塞)在烘焙中的量,和光照无关,仅仅基于距离的效果
LockAtlas:
锁上了,贴图就不会变化,没什么用。
Resolution:
通常来说Resolution设置平均每单位面积对应lightmap的多少色素。
该值越高代表单位面积的色素越多即越精细。
反之越低越粗糙。
默认值为50。
如果一个10x10的plane,resolution是50的话,在lightmap里该plane就占用500x500像素尺寸。
当然也可以单调该数值。
选中物体后,在lightmapping界面中会有Scaleinlightmap的数值,表示的是该物体的烘焙信息在lightmap占的大小,1表示正常尺寸。
0表示该物体没有lightmap效果,但会影响其他物体的lightmap运算。
2表示正常尺寸的两倍大小。
Padding:
在lightmap里,不同物体的烘焙图的间距,单位为图素(texel)
界面3:
Maps
烘焙好后的map在这里显示。
Compressed:
是否压缩lightmap
ArraySize(0~254)lightmapsarray的尺寸
Lightmapsarray:
即下方的4张贴图,空格会被视为黑图,指数即下方的0,1对应MeshRenderer及Terrain里的lightmapindex。
这个会自动计算。
按下烘焙后,会在右下角有进度条显示。
然后你就可以去喝喝咖啡泡泡妹子神马的,放心,它烘焙好了会有Importasset提示并自动切回Unity的。
烘焙好之后,会产生与场景名称相同的文件夹,一般来说会有两张.exr贴图,LightmapFar-0和LightmapNear-0(仅在Dual模式下有near图),当物体距离摄像机小于ShadowDistance时,使用的是实时灯+LightmapNear-0。
当大于是使用的是LightmapFar-0,此时灯光对物体不起作用。
(注意:
ShadowDistance的设置
(1)如果是编辑器里运行:
Lightmapdisplay设置界面里的ShadowDistance,如下方左图
(2)如果实际运行:
Quality设置下的ShadowDistance,如下方右图
LightmapDisplay界面里的其他设置:
UseLightmaps:
是否使用lightmaps,不勾选的话就没有任何烘焙的效果了。
ShowResolution:
当勾选ShowResolution时,会有下图所示类似国际象棋黑白相间的格子,一个格子对应lightmap里所占用的一个texel
ShowProbes:
是否显示lightprobes,后面会讲到。
ShowCells:
lightprobes分割形成的空间的数量。
当物体烘焙好之后,不管是复制物体还是把物体做成prefab,都会继承烘焙的效果。
但是如果缩放的话,烘焙好的光容易出现问题。
被烘焙的物体并不要求特定的材质或者Shader。
只要物体的Shader使用的是SurfaceShader,那么就可以被烘焙。
注意:
一个场景只能烘焙一次,如果多次烘焙,效果是最后一次烘焙的效果。
最后推荐ShadowGun里的烘焙配置,如下图,供大家参考。
烘焙时间很短,效果也很好。
极力建议大家搜下ShadowGun的demo来参考学习。
里面无论是场景布局,光影分配,Godrays运用,及烘焙等等都是极高的水准。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- unity 烘焙 光照 贴图
![提示](https://static.bdocx.com/images/bang_tan.gif)