ARKit之基础知识

本文介绍了ARKit如何选择要增强的摄像头源,包括后置摄像头的ARWorldTrackingConfiguration,用于6DOF跟踪创造沉浸式AR体验,以及前置摄像头的ARFaceTrackingConfiguration,用于面部追踪。同时,文章提及了设备支持和用户权限验证的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择要增强的摄像头源

概述

ARKit可以调用iOS设备中的两个摄像头,并且可以选择增强任意一个。但是每次只能展示一个摄像头的内容给用户。

后置摄像头

在后置摄像头中,你可以使用ARKit中的ARWorldTrackingConfiguration配置,它用于在监视设备的位置和方向。

ARWorldTrackingConfiguration

声明方法如下。

class ARWorldTrackingConfiguration: ARConfiguration

该类使用六个自由度(6DOF)来跟踪设备的运动:三个旋转轴(滚动角roll,俯仰角pitch,偏航角yaw)和三个平移轴(x,y,z)。
这种跟踪可以创造沉浸式的AR体验:无论用户让手机怎么旋转或移动,一个虚拟的对象能够停留在现实世界中的同一个地方,给人的感觉就是那个虚拟物体本身就式现实世界中的物体。类似于下图所示。
在这里插入图片描述
该会话(WorldTracking)也会为应用程序提供几种识别和与真实世界场景元素进行交互的方法。

  • planeDetection。该方法用于找到真实世界的水平或者垂直的表面,并将它们作为ARPlaneAnchor对象添加到会话当中。
  • detectionImages。该方法用于识别和跟踪已知的2D图像的运动,并将它们作为ARImageAnchor对象添加到场景中。
  • detectionObjects。该方法用于识别已知的3D对象,并将它们作为ARObjectAnchor对象添加到场景中。
  • 使用ARFrameARViewARSCNViewARSKView上的光线投射函数,可以找到2D平面点对应的3D位姿。

前置摄像头

在前置摄像头中,你可以使用ARKit中的ARFaceTrackingConfiguration配置,它用于追踪人物的面部信息。
声明方法如下。

class ARFaceTrackingConfiguration : ARConfiguration

当使用ARKit检测人脸时,它会创建一个ARFaceAnchor对象,该对象提供人脸的位姿,方向,拓扑结构和描述面部表情的信息。

ARKit的面部追踪功能只适用与前置摄像头能够获取深度的情况下。

ARFaceTrackingConfiguration类不提供任何方法或属性,但是它继承了ARConfiguration的所有属性。此外,当你启用isLightEstimationEnabled设置时,将适用人脸作为光照探测器,用来提供方向或者环境光照的估计(ARDirectionalLightEstimate对象)

面部跟踪功能为你的应用程序提供了个人面部信息。如果你适用了ARKit的面部跟踪功能,那么你的应用必须包含一项隐私政策,为了向用户描述你打算如何适用面部的数据。

验证设备支持和用户权限

该部分可以移步苹果官网仔细阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值