【问题】
吧友茶兔子私信问:
数字人您好,我想问一下反射扭曲怎么做,就是物体反射在平面的时候,平面下的物体是扭曲的。
【回答】
解决这个问题,我想多谈点相关渲染知识,然后再解决之。
首先:
一般物体光滑的表面如果是曲面,那么反射一定是扭曲的,因为它表面的法线不是平行的,比如镀铬球体表面。
再比如哈哈镜:
原理如下图:
下面我们制作一组哈哈镜:
【制作】
1、在侧视图建立一个曲线。
2、添加挤压对象,它能把曲线拉成面,但注意拉伸方向。
3、要想有点厚度,添加一个布料对象吧。
4、建立一个材质,只打开反射通道,添加一个GGX反射类型,反射强度为100%。
5、你要想做得真实,一定要开启菲尼尔,使镜子不同位置反射强度不一致,增加细节,从而增加真实感!
6、建立一个圆柱充当反射物体,赋予红色材质,建立一个底面赋予灰色材质。
7、在场景不添加灯光的时候,场景默认有灯光,直接渲染。发现镜子中的圆柱体发生了扭曲,因为镜子表面是曲面吗?我要讲解的不是这个,二是镜子有灰色和黑色。灰色是镜子反射地面的颜色,那么黑色呢?
8、旋转一个角度,黑色是反射场景上面的颜色。场景上面什么也没有,渲染就是黑色。如何做呢?
9、添加一个天空,建立一个材质,在发光通道载入一张室内的HDR贴图。
10、渲染,发现镜子中间的黑色消失了,反射的是天空的HDR室内贴图。但是渲染效果不好,场景中默认灯光太简单了,那么如何布光呢?我的天啊,再谈布光,没完了。
11、其实有个简单高效的方法,就是不布光。采用HDR贴图照亮场景全局光渲染,这个还真实,还简单。
进入渲染设置,选项--关闭默认灯光,知道为什么吗?我以前文章讲过。
12、添加全局光照和环境吸收
13、渲染,这个效果好多了。但场景发暗。
14、调整天空的材质,设置亮度为800%。
15、进入纹理,设置曝光。
16、再渲染,这个更好。但是地面有点暗斑。这是因为默认的采样不够,但渲染速度快啊。
17、复制镜子,旋转180度。
18、再复制镜子,关闭布料、挤压,选择点模式,随意编辑曲线,可以生成你想要的曲面镜子。
19、采样
20、渲染结果。
【小结】
上面研究曲面反射,同时,间接研究了一下渲染问题。呵呵。
-----------------------------------------------------------------------------------------------------------
其次,我帮你解决平面反射扭曲问题。
还有一种就是反射物体表面看似平滑,但是也有一些凹凸,也会产生反射扭曲,只不过不是特别明显。
比如水平面:
太阳是圆的,但是在水里
那么,如何能制作出“在平面上产生扭曲”呢?
分析:
平面是平的,它上面的法线都是垂直于平面,相互平行的。如果你能够使物体的表面法线发生混乱,那么在平面上反射一定是混乱的、扭曲的。这不正是凹凸贴图和法线贴图解决的思路吗?
【制作】
第一种方法,在材质凹凸通道添加噪波
1、建立一个平面为镜子,上面建立一个球体为反射物。
2、添加一个反射材质。
3、建立一个背景对象。
4、渲染,知道为什么镜子是黑的了吧,场景上面没有东西,所以反射为黑的。知道为什么添加背景吗?如果不添加,你会看不到镜子的,只能看到镜子反射的影子。
5、添加一个天空,为天空添加一个再有HDRI贴图的材质。渲染。看看镜子中的球体,是圆的。
6、如何让镜子中的影子扭曲呢?把镜子变成曲面。如何不变成曲面又如何?只能改变平面的法线,改变法线方向最好的办法是添加凹凸或法线贴图。
下面在凹凸通道添加一个噪波。
7、强度小一点。
8、渲染一下,影子变形了,有点像水面啊。
9、点击噪波,设置全局缩放大一点。
10、看看明明是一个平面镜子,但是影子扭曲了。
11、更改一下强度看看,扭曲更大了吧?
第二种方法 反射通道-凹凸强度添加噪波
1、R16以来的新反射通道,几乎可以解决模型表面的所有问题,所以不使用凹凸通道,还可以把噪波添加在反射通道---凹凸强度下面。
2、渲染看看吧,镜子是平的影子是扭曲的。
这种处理“平面上反射扭曲“”的方法有什么用呢?
【深入研究】
在平面上形成扭曲反射,初看问题有点怪异,但实际上,这种现象在现实生活中无处不在。
比如下图,瓷器表面是光滑的,光线在上面产生反射,菲涅尔现象一定是有的,(菲尼尔:在物体不同的位置反射强度是不一样的),你仔细看物体表面,反射的影子效果出现微微的“扭曲”,那是因为瓷器表面不可能绝对平滑,有一些微小的凹凸,导致如下的效果,这是真实的效果。
家里的瓷砖也是如此,瓷砖也不是绝对的平滑,反射也有微微的扭曲。
你仔细看下面的真实照片,墙壁反射的窗户影子,那个”线”不是直的。
下面这张效果图,注意看左侧墙壁反射窗户的效果,线非常直,这个不真实,那是瓷砖吗?看起来怪怪的,像镜子,有点假。
真实的瓷砖表面反射如下面照片,注意看窗户反射影子。
放大看看,窗户边缘虽然是直的,但由于瓷砖表面有微小的凸凹,反射窗口边框线就不是直的,这才是真实的现象。
那么,你在做效果图的时候,如何实现呢?就采用上面所讲的方法,在墙壁瓷砖的材质凹凸通道中,添加一个噪波,干扰一下反射效果,使之产生微小的反射扭曲,反射的窗户影子带一些微微抖动的扭曲,这样才接近真实。否则,瓷砖反射像镜子一样,那是玻璃做的吗?不真实。
为了说明问题,制作下面的效果图,故意噪波强度大点,有点夸张。
【后记】
通过吧友“”平面扭曲“”问题,我展开思考,想起这么多,洋洋洒洒一气呵成,有点像散文啊,但愿你能看完,并能有收获。
1、为什么有些渲染的图,看起来发假,原因在于没有仔细观察生活。CG人多多观察生活,认认真真用手机拍摄自然的景象,把真实的影像记在心里,在大脑中思考为什么会有这些现象,在三维软件渲染的时候,应用什么技术能够实现这个现象。这样渲染的东西物体表面细节才多,才有看头,效果也就更接近真实。不要把什么东西都交给渲染器,渲染器是死的,人是活的,要动脑筋,把计算机渲染的”像“”,通过努力调整你心中的“”像“”,而你心中的像来源于生活。
2、其实,我个人认为,初学者学习三维软件建模和渲染,最好从室内外效果图开始。因为室内外建模按照比例制作结构一般比较简单,硬模居多。材质相对比较简单,使用全局光,布光也比较简单。注意多学一些怎样增加模型和材质的细节、场景渲染优化问题,以及后期PS调色一些技术。
我在网上找到两张室内效果图,你自己对比,思考一下那张接近真实,为什么?