您的位置:首页 > 移动开发 > Unity3D

Unity光照贴图

2015-12-03 17:18 429 查看
一直没有光照贴图的深入了解,只知道它与灯光比起可以降低drawCall,偶然看到一本外文书上有详细的资料,这里学习并分享一下

一:简要说明一下Unity光照贴图的概念

翻译会有各种偏差,这是外文原文的概念讲解,大概意思是:
    下面,我们烘焙一些地图的阴影。因为地图比较大,大概的光照贴图烘焙可以使用光照贴图的内存空间换渲染的时间,节省性能(以空间换时间)。烘焙阴影只能烘焙静态物体,动态的不能烘焙,动态的物体可以通过灯光烘焙,但是达不到全局的配合效果而且还要计算灯光反弹。
    如果你用的Unity专业版,你可以有最好的两种阴影,一种是烘焙阴影到地形上,另一种是动态阴影的双光照贴图系统。光照贴图系统会创建两张题图,一张包含所有的阴影的远阴影,和一张包含间接灯光阴影的近阴影。在指定范围内的阴影距离,近阴影贴图使用,阴影距离实时计算,超出制定距离的,则使用远阴影贴图。



二:创建基本场景

  首先创建基本的场景地形图,场景中一个地图,一个平行光,还有一个摄像机
如图所示:



在平行光阴性类型为soft类型,此时可以看到图中的阴影,阴影的方向跟平行光的旋转角度有关,垂直向下为正午的阴影,跟太阳光类似

三:烘焙地形阴影

选中地形
在windows下拉菜单中选中Lighting(这个unity5.2版本的选项,4.x版本的是Lightmapping)



光照贴图的界面如图:





默认勾选静态光照贴图,因为只有静态的对象,才能进行光照贴图烘焙。
勾掉自动的话,可以自己设置,然后build即可,下面是烘焙前后的图片对比





烘焙后会产生这样的文件:



这是5.2版本产生的,4.x版本以前产生的是exr文件贴图,如果一个场景动态加载地图,要烘焙多个地图,放到指定的文件夹中,加载地图的时候脚本设置贴图即可

四:烘焙灯光的光照贴图

选中平行光,打开烘焙面板,灯光的Baking设为Bake,具体的其它参数可以根据需求调整,然后build,渲染前后图片对比,第二张图吧灯光删掉,场景依然可见,这里的天空盒子是没有渲染的





五:工程资源如下,Unity5.2版本的可用:

光照贴图demo工程包

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: