APP下载

基于UE4的实时光线追踪技术在展示设计中的应用研究

2021-06-28赵伟明

电子测试 2021年6期
关键词:交点像素点阴影

赵伟明

(私立华联学院,广东广州,510663)

1 简介

随着人类社会政治、经济的不断发展,商品在进行交易的过程中,已经不再只是简单的买卖过程,交易过程中买卖双方更加注重于对商品的有效介绍和了解,从而逐渐形成了以商品展示为主题的各种展示活动,通过展示来解释展品宣传主题,并使买卖双方能参与其中,达到完美沟通的目的,从而派生了以商品展示为主题的空间设计,而对展示空间的创作过程,就是所谓的展示设计。它是在既定的时间和空间范围内,运用艺术设计语言,通过对空间与平面的精心创造,使其产生独特的空间范围,一方面吸引观众进行参观,另一方面让观众能快速的对商品进行更全面细致的了解。

展示设计的效果通过渲染进行表现,特别随着VR技术的不断完善和普及,人们可以通过信息技术手段在网上进行展示空间参观,从而对展示设计效果提出了更高的要求,为了满足人们在虚拟现实中能得到更加接近真实环境的参观体验,设计渲染对实时的光影效果有更高的要求。

与传统的扫描线或光栅化渲染方式不同,光线追踪渲染技术是三维计算机图形学中的特殊渲染算法,通过跟踪从摄像机发出的光线而不是光源发出的光线,生成编排好的场景的数学模型显现出来。

2 光线追踪技术

光线追踪技术是一种模拟人类眼睛接收光信息,在视网膜形成图像的过程,根据统计人类的眼睛接收到的光照信息是有限的,正常情况下人的眼睛接收到像素在5亿左右,也就是说视网膜的图像信息可以分拆成5亿条非常微小的光线,然后以相反的方式去逆向追踪这些,并检测出这些光线所对应到的场景物体的信息。光线追踪技术就是基于这个物理原理衍生出来,在生成计算机图像过程中,将眼睛模拟抽象成场景中的摄像机,视网膜模拟抽象成显示屏幕或胶片,发出来5亿个光线简化成胶片像素,从摄像机位置与胶片的每个像素连成一条射线,去追踪这些射线与场景物体交点的光照信息。

首先把摄像机的胶片进行细分成网格,就像是屏幕的像素点,目标是用来确定每一个像素点光照信息。对于每一个像素,从摄像机位置发出并追踪这一条光线,指向该像素点。接下来通过对这束光线进行追踪,判断其是否和场景中的物体相交。如果相交,则计算物体表面交点的颜色值。并把该点的颜色值记录为该像素的颜色值。如果不相交,则直接将场景的背景色填充到当前像素中去,然后继续处理下一个像素,不断循环直到所有的像素点都跑得到相应的值,如图1。

图1

3 像素的颜色值生成原理

像素的颜色值生成,每一个像素的颜色值生成根据物体表面性质和不同类型光线计算得出,用来确定交点的信息,作为当前像素点的颜色值。

3.1 阴影

阴影的确定(图2),首先检查每个光源在该交点的贡献值。再从该点出发追踪一条指向光源,该光线主要是用来确定交点是被光源全部照亮、部分照亮还是没有被照亮,如果这条光线在到达光源之前不相交于任何物体,则这个光源对该交点有贡献值;否则,该交点位于该光源的阴影处。

图2

3.2 反射

在具有反射性质的物体表面(图3),当光线到过物体表面就会产生反射,这时需要先计算初始光线的反射光线,然后追踪这条反射光线,这样在交点处就会有部分光将会被反射出去,继续在场景中前进。根据Snell定律,一条新的光线将会从交点发出,在场景中继续传播。

图3

Snell定律是指光的折射定律(公式1),θ1和θ2分别是入射光(或折射光)与界面法线的入射角和折射角,n1和n2分别入射光线和折射光线在两个介质的折射率。

3.3 折射

当光线到达具有折射性质并且部分透明的物体表面时(图4),光线在物体的内部会产生折射,那么需要计算初始光线的折射光线,折射光线会从物体的另一个交点射出,然后追踪这条折射光线,部分光线将会进入物体继续传播。根据Snell定律,一条新的光线将会从交点发出进入物体。

图4

4 基于PBRT光线追踪

光线追踪算法是把视点作为起点,向场景发射光线,然后根据光线与物体表面的交点的材质进行BXDF、BRDF的运算,在交点为处是否存在漫反射、镜面反射或者折射,如此递归循环直到光线逃离场景或者到达最大反射次数。PBRT基于光线追踪技术,因而定义一条射线与场景中的对象进行相交测试:

PBRT使用Ray表示一条射线,起始点o,方向d。在三维空间中使用的透视投影,起始点位于摄像机原点(0,0,0),方向指向像素点。

射线与场景中的几何物体进行相交测试,相交信息保存在SurfaceInteraction:

保存了相交点坐标p,法向量n,uv坐标,以及相交对象的指针shape。如果对象是二次曲面,如:球面,相交点的坐标可以用球面坐标(θ,φ)(θ∈[0,π],φ∈[0,2π])来表示,该坐标又可以转化为0到1范围内的(u, v)坐标:u=φ/2π,v=θ/π。如果对象是三角面,那么这时的uv坐标由建模工具提供,uv坐标由定义在三角形三个顶点的值插值得到。相交点的几何法向量由相交位置p关于uv坐标的两个偏导数的叉积得到。

通过PBRT得到每一个相交信息,接下来确定该相交点着色,根据交点与场景中的光源进行相交情况,判断交点是否处于光照下,由反射模型(BRDF、BTDF和BSSRDF,以下简称为BxDF)确定反射多少光,PBRT的材质确定表面使用哪些反射模型,纹理则提供表面的外观属性。最终,沿着原始射线的相反方向返回到摄像机的光,如果光在传播过程被场景中的其它因素吸收或增强,这个过程则由体积散射处理。

5 UE4光线追踪应用

UE4从4.22版本开始支持使用Windows 10 RS5更新光线追踪和路径追踪的功能。此功能能够完全利用NVIDIA RTX系列显卡的DirectX 12和DirectX光线追踪。光线追踪功能由一系列的光线追踪着色器和光线追踪效果组成。借助这些功能可以实时构建自然而真实的光照效果。前期设置:打开项目设置(编辑-项目设置)界面。找到项目设置的平台-窗口页,把Default RHI选成DirectX 12,如图 5。

图5

再找到渲染页Rendering,勾选光线追踪(Ray tracing)。勾选光线追踪之后,编辑器会提示是否重启,点击是即可,如图6。然后在启动UE工程时附加-d3d12标记,即可直接启用DX12模式渲染。

图6

重启完编辑器,等待着色器全部编译完成,便可以往设定环境添加后处理体积,这样可以方便启用光线追踪的相关特性,调节各类参数及其影响范围。如:光线追踪的阴影,可模拟在多光源的情况下空间环境中过渡性软阴影、区域阴影、模型的自阴影、复杂的遮挡阴影等;光线追踪的反射,则可实时动态反射场景的任意物体,完全不受平面反射、立方体图等的限制,使到所渲染的结画面更加真实,融入场景内;光线追踪的透明可以精确地模拟玻璃、流体等材质的物理正确的反射、吸收、折射等表面特性。

6 结论

光线追踪技术可以精确地反映复杂的反射、折射、透射、阴影等物理特性,而传统的展示设计在三维设计软件中的设计制作出来的效果图与真实环境有较大的不同。通过引入基于UE4的实时光线追踪技术在展示设计中的应用,丰富、增强图像光影效果等优点。借助UE4引擎图像处理技术,图像的真实感得到很大的提高,满足不同环境下光影效果的表现,但该技术还存在一些缺陷,需要进一步改进,使其应用和推广价值得到进一步提高。

猜你喜欢

交点像素点阴影
基于局部相似性的特征匹配筛选算法
你来了,草就没有了阴影
阅读理解
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
借助函数图像讨论含参数方程解的情况
让光“驱走”阴影
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
试析高中数学中椭圆与双曲线交点的问题