ARKit 2.0中的逼真的反射和环境纹理

反思是我们日常环境的重要组成部分。 自然,对于现实的增强现实体验,虚拟对象也应该包含它。 使用ARKit 2.0,开发人员可以使用自动生成的环境纹理进行逼真的反射。

“在3D资产渲染中,环境纹理是基于图像的照明算法的基础,在该算法中,表面可以真实地反射来自周围环境的光。 ARKit可以在AR会话期间使用相机图像生成环境纹理,从而使SceneKit或自定义渲染引擎能够为您的AR体验中的虚拟对象提供逼真的基于图像的照明。”

-Apple文件

环境纹理以立方体贴图的形式收集场景信息; 以后将该纹理用作反射探针。 因为在现实的用例中不可能有一个完整的多维数据集贴图(基本上,要完成多维数据集贴图,用户必须完成360度全景图),所以ARKit通过机器学习来构建多维数据集贴图纹理的缺失部分。

让我们看一下反射对象的一个​​小演示。

如您所见,该球体反映了放置在桌子上的现实世界中的物体,在我看来,它最终真棒🤩

对于此演示,我创建了一个球体和一个反射材料。

金属性和粗糙度是任何基于物理的渲染材料的两个基本成分。 您可以查看本文以获取有关SceneKit中PBR照明的更多信息。

要为AR会话启用环境纹理贴图生成,我们要做的就是设置ARSession配置的environmentTexturing属性:

就是关于ARKit 2.0中的环境纹理和反射。 您可以找到前面显示的反射球体的源代码。 希望您从这篇小文章中学到新知识!