原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:【119706192】本文链接地址: Unity3D_场景の烘培
Unity自带的烘培系统做个傻瓜式流程记录,以备不时之需。
1.制作要烘培的场景
一般需要模型师提供,导入Unity之后需要展UV。
选中要烘培的模型,在Inspector面板勾选“Generate Lightmap UVs”,应用-Apply。读条完成后UV成功展开,模型面数越多展UV时间越长。
本例子试用子自带的基础模型,省略展UV这一步骤。
2.调整灯光、阴影
在场景内设置好灯光位置和光亮,并选择一种阴影模式。
(默认情况下只有平行光才能实时显示阴影,其它类型光照没有实时阴影,但红配出来还是会有阴影。)
点光源、聚光源也想要实时阴影怎么办?首先打开PlayerSettings面板(Edit > Project Settings > Player)。
将Rendering Path 设置为延迟光照 Deferred Lighting。这是在场景内设置一个点光源看发生了什么?点光源的阴影也被显示出来了
3.烘培
打开烘培面板Lightmapping (Windows > Lightmapping)
Hierarchy面板选中要烘培的模型,全部设置为Static。
或者在Lightmapping 面板设置
之后就是调整参数。可参考Unity圣殿文档:
http://game.ceeger.com/Manual/LightmappingInDepth.html
4.完成
完成一上步骤后在Lightmapping 面板点击Bake Scene。
双通道后配出后不带影子,灯光需要保留。
单通道烘培后附带影子,可以不保留灯光。单通道烘培省资源。(适当的调节参数效果更好)
PS:
在烘培当中记住以下两点:
Forward即向前渲染,比较老的渲染方式,u3d我没用过,我估计u3d的Forward应该是对多光源处理的不太好,不过允许各种gpu反锯齿,比如msaa
Deferred即延迟渲染,专门解决多光源问题的,但是不能用msaa,所以就出现锯齿了
Deferred即延迟渲染,专门解决多光源问题的,但是不能用msaa,所以就出现锯齿了
导入Unity的模型在灯光下会显示锯齿,我们可以在unity里做一些设置来调整削弱锯齿
然后可以添加unity提供的imageEffect脚本到摄像机
在Edit -Project Setting-Quality面板Inspector中面板中Rendering选项 Anti Aliasing 选择 4xMultiSampling或更高,同时阴影Shodows选项的ShadowCascades选择FourCascades。 |