最近看了很多群友的聊天,有不少人发了手头的作品,来征求建议,看到了一些共通的问题,因为我研究Unity的烘培也有一些年头了,所以决定针对Unity的场景烘培以及灯光的使用,写一个专题的文章来说明与探讨。
首先声明一点,我这里不会去讨论Lighting面板里的参数,相对于传统的MAX烘培,Unity的烘培面板参数已经非常少了,而且这个面板影响的仅仅是你的光线够不够柔和,你的光影贴图尺寸是否合理。真正导致场景不好看的原因并不在这里。
我们处理一个场景的流程,由建模开始,导入Unity,针对场景设计灯光,等待烘培,调整材质细节。
本帖隐藏的内容
先说几个基础问题:
① 合理的设计,风格的统一,颜色的搭配,模型的尺寸比例,决定了你的场景是否有成为漂亮场景的潜质。做VR建筑可视化,归根结底,是把好的设计还原到虚拟空间中,如果设计没有美感,那么一切都是空谈。
② 不要盲目追求反射效果,反射只是一个锦上添花的东西,这是学习渲染的新手最常犯的错误,觉得场景中的各种反光效果是达成场景效果的精髓,恨不得整个房间都做成反射的材质。新手包括成手,永远要把模型质量和色彩搭配放到第一位,只有这些合格了,才可以去追求材质的真实反射效果,好的场景即便去掉反射也是好的场景,不行的场景一旦去掉反射就什么都不是了。
③ 增加场景的细节能极大提升场景质量,任何不容易注意的环节,斜放的椅子,翻开的书本,凌乱的衣物,都是场景的精华。
再来对几个常见问题做解答:
① 为什么我的场景勾选了静态,但烘培不出任何光影?
这种由建模及FBX设置的基础问题,是被提问次数最多的,如果遇到这种问题,请按照下面的步骤进行逐一排查:
■ 模型必须有一通道UV?哪怕你只是一个单色的模型,也必须给一个UVW MAP命令;
■ 模型是否有二通道UV?你可以选择在建模的时候分好二通道UV,也可以不分二通道UV,但要在导入Unity后,勾选FBX文件的Generate Lightmap UVs,二者任选其一;
■ 模型是否勾选了静态。
② 为什么我的房子漏光?
■ Lighting面板勾选Final Gather,以及增大其他烘培参数,可以解决非模型问题的漏光;
■ 物理漏光:就是说房间没有外墙,只有内墙,阳光不被外墙遮挡,直接照进了房间里,这种的处理办法很简单,建一个外墙并按照下图的设置进行调整即可;
■ 模型错误:有些朋友做模型不规范,只要可视范围内的模型看不见问题,就得过且过,这种模型造成的错误一旦出现,修改非常困难,请大家先看下面这张图:
模型A与模型B,在地面建模时采用了两种方法,模型A采用了一体建模方法,而模型B采用了一个平面遮挡的方法,两种方法建出的模型,在场景漫游的时候,是看不到任何区别的,但是在烘培中,会有本质区别。如下图所示,模型A的阴影由墙壁产生,而模型B的阴影分为两部分,其一是由墙壁产生的室内阴影,其二是大于室内墙体部分的区域由直射光和环境光产生的光影(绿色部分)。
在烘培中由于分辨率以及参数的种种原因,会导致绿色的区域蔓延进红色的区域,造成模型错误漏光。
■ 二通道UV造成漏光:有些模型做的很规范,而且全部处于封闭的室内空间,依然有漏光现象。如果你的烘培参数足够,那么请检查模型的二通道UV,查看漏光部分是否存在UV重叠或UV块过于接近,当两个明暗差距较大的UV块距离很近的时候,颜色边缘会溢出,造成漏光的现象,如下图所示,这时调整二通道UV即可。
然后说一说场景灯光的问题:
① 黑天白天分不清:
看了很多朋友的作品截图,发现效果图的气息很重,当然我们很多同行都是由效果图行业转到VR这边,有些问题是难免的。
效果图也有高低之分,即便你能分清效果图和照片,依然会承认很多效果图很接近照片质量。
我们不讨论渲染手法和技术,仅对图片效果来说,先看一组一看就是效果图的效果图:
很多初入渲染的朋友,还有一些急于提交项目的朋友,或着急看见效果的甲方,对画面的效果都有一个简单的要求,就是“亮”,为了达到这个目的,往往将房间内所有的灯全部点亮,并使用复杂的光域网达到眼花缭乱的光斑。
再来看一组很接近照片的效果图:
总结一下:
■ 太阳光的强度远大于任何室内装修所用的人造光源,如果是一个阳光明媚的白天,室内的灯光要比夜间看起来弱许多;
■ 图一窗外是晴朗的白天,而屋里却像夜间,大家可以在白天把自己房间的灯打开,观察是否能形成图中的光效;
■ 图二画面中最明亮的部分是窗口和阳光洒进房间的光斑,接近真实空间的白天效果。
同理,对于室外场景也是这样,晴朗的白天室外光线很刺眼,合理的调整光线强度,才能符合真实的环境效果,下图是群友的截图,我稍微PS了一下。
② 黑天室内不够亮
与之前的问题正好相反,当天黑之后,房间内的人造光源亮度会被放大,看下面群友的截图,图A是原图,图B是我在PS里对亮度进行了调整。
总结一下:
■ 因为是PS调整,无法改变阳光角度,以常理论之,除非户型如此,不要把客厅窗户朝西,这样的户型不多;
■ 以天空盒的颜色来看,阳光射入室内的角度会更大,甚至这个时候已经没有了直射的阳光;
■ 整体亮度过暗,还是在房间内灯光全开的情况下,如果是真实房间,当天黑后,室内几乎是一片漆黑,这样的灯光亮度,合理的灯光布置应该是关闭两盏落地灯,吸顶灯,筒灯,只保留电视屏幕的光源和LED灯带(如果有);
■ 夜间效果下,光源会显得更刺眼,而地面家具朝上的部分,要比其他部分更加明亮,如图B。
③ 如何平衡自然光与人造光(仅谈白天)
■ 可以做阴天,可以拉上窗帘;
■ 即便做了阴天拉上窗帘,室内最亮的地方依然是窗口及房间的窗口区域,为什么?因为阴天室外的亮度也强过室内,大家可以用自己的手机在房间内拍照对比在阴天室外拍照的清晰度;
■ 人造光源的作用,仅做到告知此处有光即可,减弱对周围环境的影响。
④ 为什么要这么设置灯光:
明确一点我们做的与效果图的区别,效果图做的是房间的图片,而我们做的是房间。
如果你需要一张图片,那么无论在摄影还是渲染效果图上,都会对你拍摄的区域进行一些补光处理,但你真正要漫游贯穿整个房间的时候,自然的光线会让你有宾至如归的感觉,图片的目的是为了展示,而我们除了要展示之外,更要的是真实,要不为什么叫虚拟现实?
如何达成一个真实的效果:
真实的效果是由多种条件的共同作用下,达成的,我们使用引擎来制作场景,就是一个包含多种条件的集合。这个集合包含了规范且合理的三维模型,仿真的灯光,真实的贴图效果和合理的镜头特效。
合理的三维模型在之前已讨论过,我们来说说其他几条。
① 仿真的灯光:
我个人的经验来讲,室内的建筑可视化灯光原则是:能被自然光直接照到或间接照到的区域以自然光为主光源,人造光源为辅,不添加莫名其妙的灯光。
■ 下图是我之前制作的一个小室内,主光源是窗口射入的太阳光,辅光源是橱柜下方的灯带和玄关穿衣镜处的灯带。
■ 什么是莫名其妙的灯光,没有实体的灯,却产生了灯光。就好比你的房间没有开灯,却出现了光的亮斑,那一定是灵异事件。我们场景中的灯光往往不能达到真实空间的效果,参数不够会暗,参数过高又会使灯光附近的模型曝亮,所以在制作的时候,需要一定的补光,然而补光的光源需要做到间接照明的效果,如果产生了直接照明的光斑效果,对场景的影响往往很不好。
■ 下图是我做的一个补光的效果,主光源是鞋柜顶部的隐藏灯带,但无法照明整个房间,所以在房间顶部补充了一个光源作为主光源的反射体。
② 真实的贴图效果:
在平时的工作和聊天中,经常会被问到使用了什么shader,通常情况下,做展示,Unity5之后的默认标准材质球,就已满足了绝大多数的情况。
你可以通过其他制作材质的软件或工具,按照unity标准材质球上给出的贴图种类制作即可,一般情况下,Albedo,Metallic,Normal,配合场景的实时灯光或反射球(Reflection Probe)就已经可以实现相对真实的效果,即使你不会Substance Painter,Substance Designer等软件来制作PBR贴图(我就不太会),仅仅使用Photoshop简单的处理一下,也会有质的变化。
③ 合理的镜头特效:
和动画,效果图类似,我们的场景搭建及渲染工作完成后,同样需要进行后期特效的调整,这里给大家推荐了Unity的免费插件Post Processing。
■ 这个插件包含了抗锯齿,反射,AO等等你需要的镜头效果;
■ 没有哪个数值是完美的,符合你场景的风格才是最好的;
■ 这个插件对场景的影响有多大,看下面这张对比图你就清楚了。
关于场景烘培和灯光使用的基础,就讲到这里,对真实空间的观察以及制作场景时的思考远远大于烘培面板上的几个参数,烘培的参数,在Asset Store上下载几个好场景,人人都可以拥有,但为什么我们有一样的参数却做出不一样的效果?
结论是,基础比什么都重要!
本文原来链接地址: http://www.bfwarch.com/forum.php?mod=viewthread&tid=370&extra=page%3D2