虚拟物体为什么看起来真实?很大程度是因为光照。现实中光源的方向、色温、高光等条件,会改变物体的外观,有光感明暗交错,有阴影,一个物体才能看上去真实。因此模拟现实环境中的光照感觉,是 AR 物体栩栩如生的关键。
光估测的概念就是提供对现实环境的光照分析,将现实世界的光照感觉拓展到数字场景中。光估测 API 通过分析给定图像的离散视觉提示,获得特定场景的光照信息,ARCore 再使用这些信息对同一场景下的虚拟对象进行渲染与照明,增加物体的真实感,达到虚实交融效果。
光照因素与概念
当虚拟物体缺少阴影或表面的闪光材质不能反射出周围环境时,即使用户说不出具体原因,也觉得物体不太真实。所以想提升 AR 的沉浸式和真实感,渲染 AR 物体与场景光匹配至关重要。
光估测通过采样并分析大量详细数据,为开发者解决了以上难题。这些数据可以允许你在渲染虚拟对象时重现各种光照信息,其中包括阴影、环境光、明暗变化、镜面高光与反射。
以上这些光照信息名词,可参照以下解释:
环境光(Ambient Lighting):环境光是来自周围环境整体的散射光,为处于环境中的所有物体提供照明。
阴影(Shadow):光影通常具有方向性,也指向了光源方向。
明暗变化(Shading):是特定图像在不同区域展现出来的不同的光的明暗度。举个例子,同一个物体在同一个场景中,表面光的情况也会随着观察者角度的变化、环境光强度的变化而变化。
镜面高光(Specular highlight):通过直接光源的照射,物体表面会反射高光点。这种物体表面的高光会随着观察者的位置而发生变化。
反射(Reflection):光的反射会根据物体表面是否具有镜面或漫反射的特性而略有不同。例如,一个金属球将具有较高的镜面反射能力,并映出周围环境中的事物。相反,如果球的表面是磨砂材质