【iOS ARKit】AR Quick Look 概述

      为更好地传播共享 AR 体验,苹果公司引入了 AR Quick Look,并在iOS 12及以上版本系统中深度集成了 AR Quick Look,因此可以通过iMessage、Mail、Notes、 News、 Safari 和 Files 直接体验 AR,AR Quick Look提供了在 iPhone 和iPad 上以最简单、最快捷的方式体验AR的方法,也可以非常方便地集成到应用开发中。

      通俗地讲,AR Quick Look 更像是一个 AR浏览器,它可以直接使用 AR 方式浏览 USDZ 和 Reality 格式文件,对外封装了所有的技术细节,并提供了非常简洁便捷的使用接口,简单到只需要提供文件路径。对集成该框架的应用,如iMessage,直接单击USDZ 文件就可以启动AR体验模式,在 AR Quick Look 检测到平面后会自动放置模型文件,并提供以下操作功能:

(1)移动。通过选择模型,单指拖动可以移动模型,iOS 对 AR Quick Look 进行了深度集成 AR  Quick Look 支持水平平面和垂直平面检测,可以将模型从水平平面拖动到垂直平面上,反之亦然(在配备有LiDAR 传感器的设备上,AR Quick Look 可以将模型拖动到任何已重建的场景几何表面)。

(2)缩放。可以通过双指捏合手势缩放模型,也可以通过双击模型将模型还原到 100%大小(模型原始尺寸)。

(3)旋转。通过双指旋转手势进行模型旋转,双击模型将模型还原到原始方向。

(4)提升。通过两指向上滑动手势可以提升模型,让模型悬空。

(5)拍照。单击 AR Quick Look 界面上的圆形按钮可以拍摄当前 AR 场景照片,并自动保存到相册中。

(6)录像。长按 AR Quick Look界面上的圆形按钮可以录制当前 AR 场景的短视频,并自动保存到相册中。

(7)分享。通过 AR Quick Look界面右上角的“分享”按钮可以分享当前模型场景,如图所示。

(8) 3D 查看。可以切换浏览模式到 Object 以 3D形式浏览模型。

(9)关闭。通过单击 AR Quick Look界面左上角的x符号关闭 AR体验并返回调用应用程序。

     AR Quick Look提供了AR 和3D两种查看模型的方式,这两种方式所使用的手势完全一致,并且这些手势与iOS 日常操作手势一致,大大降低了使用者操作 AR 的难度。

     AR Quick Look 虽然是一个简单直观易用的框架,但其功能非常丰富,它支持当前 ARKit 的所有功能,并会根据运行时的设备硬件资源自动启用或者停用特定功能,在停用某功能后还会启用替代方案,这些功能全部自动化完成,无须开发者介人。

    AR Quick Look 的功能特性如下:

(1) Anchors。AR Quick Look 支持水平平面、垂直平面、场景几何、2D 图像、3D物体、人脸、人体类型

ARAnchor,即在启动后会根据配置检测识别这些类型并在检测成功后自动生成相应 ARAnchor。

(2)人形遮挡(Occlusion)。在受支持的设备上启用人形与人脸遮挡功能。

(3)物理与碰撞。支持物理模拟,如重力可使物体下坠、物体反弹与相互之间的碰撞。

(4)触发器和行为(Triggers & Behaviors)。支持事件和动画的触发,支持使用者与虚拟元素、虚拟物体与现实环境之间的交互。

(5)实时阴影。虚拟元素会投射真实感极强的实时阴影到检测到的表面上,阴影质量取决于设备硬件,在高端设备上会使用光线跟踪(Ray traced)方法产生高质量阴影,而在低端设备上则会使用投影阴影(Project Shadow)方法生成阴影。

(6)环境反射。AR Quick Look 会从用户的真实环境中实时采样当前环境信息,并使用 HDR(HighDynamic Range,高动态范围)、颜色映射(Tone Mapping)、色彩校正(Color Correction)等技术渲染虚拟元素以控制虚拟元素的反射、光照信息,营造真实可信的AR体验。

(7)相机噪声。模拟在低光照条件下相机产生的噪声并以此来渲染虚拟元素。

(8)运动模糊。模拟在物体快速移动时相机产生的模糊现象。

(9)景深(Depth of Field)。模拟数码相机焦点的聚焦与失焦现象。

(10)多重采样(Multi-Sampling)。对3D模型边沿进行多重采集以平滑边界。

(11)高光(Specular Anti-aliasing)。对高反射光进行抗锯齿处理以防止闪烁现象。

(12)清漆(Clear Coat)。清漆用于模拟物体表面的玻璃样高反光现象,BPR渲染支持清漆材质。

(13) 环境与空间音效。支持环境中的背景音效与物体的 3D 音效,能真实模拟声音殖距离变化的衰減效果。

(14) Apple 支付。AR Quick Look 支持使用 Apple 支付功能,用户可以直接在 AR Quick Look 中下单支付而不用离开 AR体验环境。

(15) 在配备 LiDAR传感器的设备上,由于 LiDAR 传感器对深度值的精确快速检测能力,AR QuickLook还能实现场景遮挡、物理模拟,自动放置虚拟物体速度更快,用户体验更好。

(16)自定义功能。AR Quick Look 为满足开发者的需求,还支持简单的定制化开发。

     提示注意的是 AR Quick Look 支持 ARKit 的所有功能特性,但有些特性需要特定的硬件设备,只有配备 A13及以上处理器的机型才能支持上述的全部功能特性,在不支持的机型上,一些功能特性不会开启,也不会产生效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法,插入排序

插入排序是什么 插入排序(Insertion Sort),一般也被称为直接插入排序。对于少量元素的排序,它是一个有效、简单的算法 其主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排…

隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践

隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践 文章目录 隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践1.业务背景:安全核对产生的土壤1.1相关政策出台1.2 数据差异的来源 2.产品方案:从试点到规模化的路3.技术共建&#xf…

如何用MATLAB进行核密度估计

核密度估计(Kernel Density Estimation,KDE)是一种用于估计概率密度函数的非参数方法。以下是核密度估计的基本步骤和公式: 步骤: (1)数据预处理:在进行核密度估计之前,需要对原始数据进行清洗…

微信小程序报错——“errno“: 600001, “errMsg“: “request:fail -2:net::ERR_FAILED“

bug现象 微信小程序体验版和真机调试 进入小程序的时候接口就出现了这个报错 "errno": 600001, "errMsg": "request:fail -2:net::ERR_FAILED" 排查 检查是证书过期还是证书链不完整 证书的信任链完整问题,可以在 亚数信息-SSL/TLS安…

web安全学习笔记(8)

记一下第十二节课的内容。 一、PHP文件包含的四种方式 Include和Include_once 操作系统会读取包含的文件的内容,并将它插入主文件中,include方式的文件包含会在包含失败的情况下输出警告信息,而include_once方式会检查包含的文件是否已经被…

Jmeter —— 自动录制脚本

1、Jmeter配置 1.1新增一个线程组 1.2Jmeter中添加HTTP代理 1.3配置HTTP代理服务器 修改端口 修改Target Cintroller(目标控制器) 修改Grouping(分组) 编辑录制中的包含和排除 在“URL Patterns to include包含模式”中填入.*(123456).*用以过滤请求地址中不包含123456的请求…

Datacom HCIP笔记-MPLS协议 之二

在Ingress节点执行该命令时,触发所有的32位路由建立LDPLSP。 在Egress节点执行该命令时,触发本地32位路由建立LDPLSP, egress就是主机路由始发路由器 ingress就是主机路由非始发路由器 默认情况下:华为路由器仅为非物理接口主机路…

【C++11】initializer_list | 右值引用 | 完美转发

一切皆可列表{ }初始化 在C98,允许花括号{ } 对数组、结构体类型初始化。 class Data { public:Data(int y, int m, int d):_y(y), _m(m), _d(d){} private:int _y;int _m;int _d; };int arr[4]{0,1,2,3};//列表初始化 Data d1{2024,03,21};//列表初始化 C11允许通过{ } 初始化…

云数据库价格一瞥(华为云、百度智能云、腾讯云、阿里云)

最近,大家似乎和价格“磕”上了。本文仅考虑主流产品( RDS MySQL、Redis )的部分主流规格,对各家厂商的价格做一个对比,供参考。 TL;DR: 总体来看,各家云厂商价格趋于持平,部分主流商…

创建一个qt登录界面,密码账号正确转到窗口2,否则弹出对话框提示账号密码错误,窗口2有四个按键,三个按键可以朗读按键文本,第四个退出。

作业要求: 主函数: int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();Form1 f;//连接窗口1的信号函数和窗口2打开的lambda函数Widget::connect(&w,&Widget::login,[&](){f.show();});return a.exec(); }窗…

无影云电脑不能连接到本机的调试串口的解决方案

目录 概述 解决方案 云端电脑中的操作 本地USBDK驱动程序的更新 概述 我从1月份开始使用阿里的无影云电脑进行嵌入式开发板的测试,主要的原因有两个:一是平时使用的笔记本资源过于紧张,二是方便移动办公,这样我只要平时拿着开…

解锁阿里巴巴1688数据宝藏:API助力批量获取商品价格、标题、图片及库存

在数字化时代,数据已成为商业决策的重要依据。对于电商从业者来说,掌握商品的价格、标题、图片及库存等关键信息,是优化销售策略、提升竞争力的关键。阿里巴巴1688平台作为国内领先的B2B电商平台,其海量的商品数据为商家提供了丰富…

DRF的认证、权限、限流、序列化、反序列化

DRF的认证、权限、限流、序列化、反序列化 一、认证 1、直接用,用户授权 实现方法 编写 ->认证组件 应用组件 编写 ->认证组件 from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import AuthenticationF…

基于opencv的视觉巡线实现

前言 这段时间在和学弟打软件杯的比赛,有项任务就是机器人的视觉巡线,这虽然不是什么稀奇的事情,但是对于一开始不了解视觉的我来说可以说是很懵了,所以现在就想着和大家分享一下,来看看是如何基于opencv来实现巡线的…

34. UE5 RPG实现鼠标点击移动

在前面,我们实现过使用键盘按键wasd去实现控制角色的移动,现在,我们实现了InputAction按键触发,后面,实现一下通过鼠标点击地面实现角色移动。 我们将实现两种效果的切换,如果你点击地面快速松开&#xff0…

LeetCode 289.生命游戏————2024 春招冲刺百题计划

根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态: 1 即为 活细胞 &am…

鹅厂实习offer

#转眼已经银四了,你收到offer了吗# 本来都打算四月再投实习了,突然三月初被wxg捞了(一年前找日常实习投的简历就更新了下),直接冲了,流程持续二十多天,结果是运气还不错,应该是部门比…

2024年光学通信和物联网、自动化控制和大数据国际会议(OCITACB2024)

2024年光学通信和物联网、自动化控制和大数据国际会议(OCITACB2024) 会议简介 2024年国际光通信与物联网、自动控制和大数据会议(OCITACB2024)的主要目标是促进光通信与物联网、自动管理和大数据领域的研发活动。另一个目标是促进研究人员、开发人员、工…

用three.js做一个3D汉诺塔游戏(下)

为桌台添加材质纹理 为物体添加适当的材质纹理,可以使其视觉效果产生质的飞跃。接下来,我们将为桌台添加一种木质纹理,用到的纹理贴图来自Pixabay.com。 我们使用 TextureLoader 来加载纹理贴图,其 load 方法第1个参数为贴图的 URL 字符串,该方法返回一个纹理对象,可直…

Linux服务器上搭建深度学习环境(安装anaconda、创建虚拟环境、安装pytorch)

Linux服务器的搭配 Linux服务器上安装anaconda创建虚拟环境linux上安装pytorchxshell连接服务器 Linux服务器上安装anaconda 链接 创建虚拟环境 参考教程:此处 linux上安装pytorch 链接 xshell连接服务器 链接