老实说,要不是我查看了该文本转储中的代码,我是绝对不可能想到游戏中有模拟这一现象的。想要伪造出这种效果很容易。然而,在观察了水中天空的倒影之后,这一切都说得通了。这种散射光实时地反射入整个环境中。若是单纯的天空盒会使得这一点不可能实现。
观察建议:注意天空中橙色与红色的不同色调是如何以相同的颜色反映在环境上的。尽管未在动图中展示这一点,但是天空中的散射光也以其他的颜色照明了环境以及水面,这取决于光是如何散射的。
观察建议:注意随着太阳落山,雪的颜色也随之发生变化。
观察建议:在此动图开头,水面至少有5个不同的反射。神庙(蓝色),山丘(绿色),旗帜(黑色轮廓),天空(橙色)和太阳(粉色)。
山丘,旗帜,和神庙的反射都通过场景捕获反射而实现,太阳则通过镜面光照(作为镜面高光)而实现,天空也通过镜面光照而实现反射,但并不是镜面高光。随着暴雨的来临,反射的变化是完全动态的。来自乌云的天空遮蔽会实时改变天空中瑞利散射的光照。最终,橙色天光不能够再达到水的表面而逐渐消失,但太阳仍然存在,因为它没有被完全遮挡住。然而,由于天空中如此多的米氏散射,太阳的颜色从粉色变成了白色!即便如此,最终云体变得对太阳来说太多了,完全遮挡了它,仅留下了来自神庙的光与山丘的部分反射。
Full Volumetric Lighting | 完整体积光照
除了天空中的云,环境中的每个部分及其中的每个物体都有可能在适当的光照条件下实时创建光束。这个游戏使用的是屏幕空间环境光遮蔽来辅助这一效果,但体积光照并非视点依赖。你可以在本文中的阴影体部分找到更多有关体积光照运作原理的信息。
观察建议:注意光束是如何在大型建筑结构投射的阴影中产生的。
Bokeh DOF and approx. of Circle of Confusion | Bokeh景深与模糊圈的近似值
我认为引擎所用到的另一个令人惊讶的功能是延迟光照/着色。那么我要稍微简化一点,因为这可以真正地在技术上解释首先为什么现实世界中会出现散景效果。可以说当光进入肉眼/相机的光圈(开口)时,入射光线开始会聚到焦平面的单个点上。随着光越来越集中在这个平面上,它的外观变得越来越锐利,越来越小。随着光远离该平面并变得更加散焦,它的外观变得越来越大,越来越模糊。
家喻户晓的散景效应是当进入相机镜头的光点呈现出在它们通过光圈时的形状(例如,六边形)。模糊圈是当人类无法区分完全聚焦的光点与略微失焦的光点时的聚焦区域。景深通常由模糊圈来决定。有趣的是,当使用希卡望远镜与相机符文时,《荒野之息》会模拟出这两种概念。我的猜测是它是基于纹素(纹理要素)数据在屏幕空间中计算的,然后作为后期特效应用。
上一篇:Epic喜加一:免费领3D解谜《GNOG》 95%特别好评
下一篇:《无人深空》免费章节新预告 史上最大更新、支持VR