首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

仅当检测到适当的水平面时,才使用iOS 11 ARKit(场景工具包)放置3D对象

iOS 11 ARKit是苹果公司推出的一款增强现实(Augmented Reality,AR)开发工具包,用于在iOS设备上创建和展示增强现实体验。它利用设备的摄像头和传感器,将虚拟的3D对象叠加在现实世界中,使用户能够与虚拟对象进行交互。

ARKit的主要特点和优势包括:

  1. 简化开发:ARKit提供了一套易于使用的API,使开发者能够轻松地在iOS设备上构建增强现实应用程序。开发者可以使用Swift或Objective-C编程语言进行开发。
  2. 精准跟踪:ARKit利用设备的摄像头和传感器,实现了高精度的环境跟踪和物体追踪。它能够实时识别和跟踪设备周围的平面,以便将虚拟对象放置在适当的位置上。
  3. 虚拟对象交互:ARKit支持用户与虚拟对象进行交互,例如移动、旋转和缩放。用户可以通过触摸屏幕或使用设备的陀螺仪和加速度计来操作虚拟对象。
  4. 多设备支持:ARKit可以在支持AR功能的iOS设备上运行,包括iPhone和iPad。这使得开发者能够为广大的iOS用户群体提供增强现实体验。
  5. 应用场景广泛:ARKit的应用场景非常广泛,包括游戏、教育、零售、房地产、室内设计等领域。开发者可以利用ARKit创建各种创新的增强现实应用程序,为用户带来全新的体验。

腾讯云提供了一系列与增强现实相关的产品和服务,可以帮助开发者在云端部署和管理增强现实应用程序。以下是一些推荐的腾讯云产品和产品介绍链接地址:

  1. 云服务器(CVM):https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):https://cloud.tencent.com/product/cos
  4. 人工智能(AI):https://cloud.tencent.com/product/ai
  5. 物联网(IoT):https://cloud.tencent.com/product/iotexplorer

请注意,以上答案仅供参考,具体的产品选择和使用需根据实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

建立您第一个AR体验

创建运行AR会话应用程序,并使用平面检测使用SceneKit放置3D内容。...() configuration.planeDetection = [.horizontal, .vertical] sceneView.session.run(configuration) 将显示它视图显示在屏幕上运行会话...如果AR是您应用辅助功能,请使用该属性确定是否提供isSupported基于AR功能。 为检测到平面放置3D内容 设置AR会话后,可以使用SceneKit在视图中放置虚拟内容。...启用平面检测后,ARKit会为每个检测到平面添加和更新锚点。默认情况下,ARSCNView类为每个锚点添加一个SCNNode对象到SceneKit场景。...您视图委托可以实现向场景添加内容renderer(_:didAdd:for:)方法。您将内容添加为与锚对应节点子节点,类会自动移动该内容,因为ARKit会细化其对平面位置估计。

1K20

iOS ARKit教程:用裸露手指在空中画画

例如,开发人员从移动摄像头访问各个帧,AR炒作再次起飞。除了伟大兔子变形金刚强大回归,我们看到一波应用程序在打印QR码上放下3D对象。但他们从未作为一个概念起飞。...ARKit浸入式功能 ARKit提供两个主要功能; 第一个是3D空间中摄像机位置,第二个是水平面检测。...为了实现前者,ARKit假设您手机是在真实3D空间中移动相机,因此在任何点丢弃一些3D虚拟对象将锚定到真实3D空间中该点。对于后者,ARKit会检测水平平面,如表格,以便您可以在其上放置对象。...通过检测这些点相对于彼此从一帧移动到另一帧程度,可以估计设备在3D空间中位置。这就是为什么ARKit在面向无特征白色墙壁放置时或者设备移动得非常快而导致图像模糊无法正常工作原因。...iOSARKit入门 截至撰写本文ARKitiOS 11一部分,它仍处于测试阶段。

2.2K30

iOS ARKit教程:赤手在空中绘画

在这篇文章中,我们将使用iOS ARKit创建一个有趣项目。用户将他手指放在桌子上,就像手里拿着一只笔,点击缩略图并开始绘图。。一旦完成,用户将能够将他们绘图转换成3D对象,如下面的动画所示。...而对于后者,ARKit测到水平面,比如桌子,这样你就可以在上面放置物体。 那么,ARKit是如何做到这一点呢?这是通过一种叫做视觉惯性测量(VIO)技术完成。...通过检测这些点在一个帧之间移动距离,我们可以估算出这个设备在3D空间中位置。这就是为什么设备被放置在一个毫无特色白色墙壁上或者设备移动得非常快导致图像模糊时候,ARKit不能正常工作。...iOSARKit入门 在撰写本文时候,ARKitiOS 11一部分,目前仍处于测试阶段。因此,要想开始,你需要在iPhone 6s及以上版本下载iOS 11测试版,以及新Xcode测试版。...检测用户指尖 苹果在iOS 11中引入一个很酷库是Vision Framework。它以相当方便和有效方式提供了一些计算机视觉技术。特别是,我们将使用对象跟踪技术。

1.8K10

ARKit介绍

该框架随iOS 11一起发布(目前处于测试阶段),并且由AppleA9或A10芯片驱动iOS设备支持。这意味着它不适用于iPhone 5S或iPad Mini等旧设备。...此外,您无法在模拟器中使用它,因此您必须使用最新测试版更新您iPhone / iPad(iOS 11 SDK适用于Xcode 9)。...AR - 使用相机创建虚拟对象放置在物理世界中错觉。 我们知道增强现实并不是新,但由于Apple新框架,AR现在正受到很多关注。...您甚至可以使用Metal,SceneKit和Unity和虚幻引擎等第三方工具渲染3D对象ARKit以卓越性能完成所有这一切,并且有很好文档记录。 需要一些想法才能使用ARKit?...,所以我决定使用ARKit创建自己测量应用程序。 我开始观看介绍ARKit:来自WWDC17iOS增强现实视频。然后我阅读文档并使用演示应用程序(在增强现实中放置对象)。

2.3K20

ARKit

ARKit结合了设备运动跟踪,摄像机场景捕捉,高级场景处理和显示便利性,简化了构建AR体验任务。您可以使用这些技术使用iOS设备后置摄像头或前置摄像头创建多种AR体验。...在iOS 12中,您在应用程序中使用USDZ文件,系统会为3D对象提供AR视图,或者在Web内容中使用带有USDZ文件Safari或WebKit。...建立您第一个AR体验 创建运行AR会话应用程序,并使用平面检测使用SceneKit放置3D内容。 了解ARKit世界跟踪 发现支持概念,功能和最佳实践,以构建出色AR体验。...class ARImageAnchor 有关在世界跟踪AR会话中检测到图像位置和方向信息。 物体检测 使用用户环境中已知3D对象来增强世界跟踪AR会话。...class ARObjectAnchor 有关在世界跟踪AR会话中检测到真实3D对象位置和方向信息。

2.2K20

最新iOS设计规范九|10大系统能力(System Capabilities)

ARKit测到表面后,您应用程序可以显示自定义视觉指示器,以显示何时可以放置对象。通过将指示器与检测到表面的平面对齐,可以帮助人们了解放置对象在环境中外观。 ?...人们放置物体使用可用信息立即做出响应;然后在完成表面检测后,微调对象位置。 考虑引导人们走向屏幕外虚拟对象。有时,人们可能很难找到不在屏幕上放置对象。...应用检测到交互式对象附近手势,通常最好假设人们想影响该对象。 在合理时候,支持用户控制对象缩放。...测到图像第一次消失时,请考虑延迟移除与其相连虚拟对象ARKit不会跟踪每个检测到图像位置或方向变化。为帮助防止虚拟对象闪烁,请考虑等待一秒钟,然后使其淡出或移除。...两种徽章都可以使用其默认大小很好地工作。 应用包含可以在AR中查看对象和不能在AR中查看对象混合时,使用徽章。如果可以在AR中查看应用程序中所有对象,则标记是多余

4.2K20

使用ARKit开发AR游戏-基础篇:ARKit入门篇

| 导语 11月到12月,使用新出ARkit开发了一个AR游戏,梳理下开发过程经验,整理成文。 计划是一个系列,入门篇主要是收集资料整合;探索篇(经验篇)坑及个性探索说得。...该过程会将iOS设备运动感应硬件捕捉信息与设备相机可见场景计算机视觉分析相结合。 arkit8.jpg Frame是什么?          ARKit运行原理基于Frame概念。...arkit9.jpg 主要功能:ARKit场景理解系统一些功能 平面寻找 使用稀疏点云提取和创建平面。...获取所需结果后,禁用平面检测 平面检测需要计算量更大。因为放置场景对象不需要一直做平面检测,所以在获得结果以后可以禁用平面检测。...使用真实世界大小          Unity中1个单位表示一米,在放置对象和创作内容需要考虑到这一点。 考虑对象交互 沿着放置平面移动物体。

4.4K51

苹果 AR 的人机界面设计规范

为了获得最佳表现,需要为3D物体设计逼真的材质,使用ARKit提供信息把物体放到现实世界平面上,并且缩放到适当比例。同时,需要在虚拟物体上投射环境光,在现实空间里投射出物体阴影。...放置虚拟物体 提示用户定位表面,以及放置物体时机:进入了“表面定位模式”,可以用视觉标识来传达。例如,在屏幕中间放一个梯形框,可以帮助用户了解到此时他们需要找一个水平面。...表面已经选中,要变换一下提示图标,来告诉用户“现在可以放置物体”了。设计视觉标识也是app设计一部分。 用户放置物体,要予以恰当反馈:在表面检测时(时间非常短),精度会逐步提高。...如果你app可以检测到这些问题,或者表面检测太慢,可以给到用户解决办法。 问题——建议解决办法 检测到功能缺陷——试一试打开灯光,或是来回走动一下。...只为硬件条件具备设备提供AR功能:如果你app核心功能就是AR,让你app支持可以支持ARKit设备。

1.5K00

ARKit 初探

ARKit主要负责AR计算,它将ARCamera捕获视频帧当作背景,使用视觉惯性测距(VIO)来精确跟踪周围世界,进行坐标转换,场景搭建及平面的捕获;然后,通过 SceneKit(3D)/SpritKit...因此 ARKit 在追踪方面非常强大。 什么是平面检测 ARKit 平面检测用于检测出现实世界水平面,也就是在 3D 空间中,Y值为0一个区域。...平面检测是一个动态过程,摄像机不断移动,检测到平面也会不断变化。此外,随着平面的动态检测,不同平面也可能会合并为一个新平面。...,每次 ARKit测到了平面都会调用此方法。...需要放置任意门,就用+transDimenRoomAtPosition:方法创建一个transDimenRoom,当用户走进去,用 -hideWalls: 隐藏四周墙壁,切换成全景背景。

2.3K20

构建增强现实移动应用程序六款顶级工具

\\ 您构建一个基于标记应用程序,需要事先提供图像或它们描述符,以简化分析摄像机数据搜索它们过程。换句话说,这些对象已经在您应用程序中硬编码了,因此,它们更容易被检测到。...\\ 平台 \\ 如果您计划为iOS或安卓系统开发应用程序,那么在选择增强现实工具包,不会有任何问题,因为几乎所有的工具包都支持它们。...我们认为这些工具包根据它们提供功能集来看是最相关和适当,并且物有所值。其中有几个是免费。...\\ 价格:免费 \\ 视频演示链接:https://youtu.be/hz5sojXanNw \\ 苹果ARKit \\ \\ 伴随iOS 11,苹果公司推出了自己ARKit,并在2017...您在跟踪周围环境,地图会随着摄像机移动,自动延伸到第一视图之外。也可以保存地图以备后用。\\t 保存用视觉同步定位和映射创建文件以便在您喜欢任何地方呈现3D对象,从而创建更逼真的AR体验。

5.6K10

ARCore 初探

ARKit是一种为iOS构建增强现实框架,意在实现将虚拟内容精确且真实地浸入真实世界场景上。...ARKit框架提供了两种AR技术,一种是基于3D场景(SceneKit)实现增强现实,一种是基于2D场景(SpriktKit)实现增强现实。...水平面检测:可以识别出水平面,将虚拟物体精确地置于真实物理场景中。 环境光预测:对虚拟物体产生真实阴影和光照效果相适配。...建图定位:ARCore和ARKit使用了离散点云图,跟踪器会提前去判断是否有预加载图,没有的话就自定义新模型,会获取到相机视角下一个3D范围。...当你移动设备,摄像头会捕捉到新一图像,并加载到之前新建3D模型中,不断增加内容。

6.1K11

ARKit和CoreLocation:第一部分

ARKit结合了设备运动跟踪,摄像机场景捕捉,高级场景处理和显示便利性,简化了构建AR体验任务。 在iOS 11中,Apple已经将ARKit强大功能释放到了iOS开发社区。...image.png worldAlignment - Apple Docs 创建AR体验取决于能够构建用于将对象放置在虚拟3D世界中坐标系,该虚拟3D世界映射到设备真实位置和运动。...运行会话配置ARKit会根据设备位置和方向创建场景坐标系; ARAnchor您创建任何对象或AR会话检测到对象都是相对于该坐标系定位。 ?...个人项目 - 8月12日 ARSCN查看文档: 因为ARKit自动将SceneKit空间与现实世界匹配,所以放置虚拟对象以使其看起来保持真实世界位置只需要适当地设置该对象SceneKit位置。...您不一定需要使用ARAnchor该类来跟踪添加到场景对象位置,但通过实现ARSCNViewDelegate方法,您可以将SceneKit内容添加到ARKit自动检测到任何锚点。

2.2K20

ARKit示例 - 第2部分:平面检测+可视化

一旦我们在本文中完成了平面检测,在以后文章中我们将使用它们将虚拟对象放置在现实世界中。...增强现实目的是能够在特定点将虚拟内容插入到现实世界中,并在您在现实世界中移动拥有虚拟内容轨道。使用ARKit,其基本过程包括从iOS设备相机读取视频帧,为每个帧处理图像并提取特征点。...更新飞机 如果您运行上面的代码,您四处走动,您将看到虚拟世界中渲染新平面,但是您四处移动,平面无法正常生长。ARKit一直在分析场景,因为它发现一个平面比它认为更新平面范围值更大/更小。...,你可以看到当你移动ARKit不断出现新飞机,这很有趣,因为如果你正在开发一个应用程序,用户首先必须在一个空间中移动才能放置内容,几何形状足够好使用时,为用户提供良好视觉线索是很重要。...下一个 在下一篇文章中,我们将使用这些平面开始在现实世界中放置3D对象,并且还可以更多地了解应用程序对齐。

2.9K20

《 iPhone X ARKit Face Tracking 》

由于不同AR体验对iOS设备有不同硬件要求,所有ARKit配置要求iOS设备至少使用A9及以上处理器,而face tracking更是仅在带有前置深度摄像头iPhone X上才会有。...其结构和iPhone7P后置双摄采集深度信息一样为AVDepthData。设置其它AR模式该属性为nil。...我们可以使用该矩阵来放置虚拟3D模型以实现贴合到脸部效果(如果使用SceneKit,会有更便捷方式来完成虚拟模型佩戴过程,后面会详述)。...测到人脸之后,我们可以通过delegate更新人脸anchor函数来同步更新我们自定义3D面皮或者3D模型。...实现原理是当用户人脸检测不到时记一个标志,再次检测到用户人脸将其3D蒙皮贴图换掉。

3.5K00

《iPhone X ARKit Face Tracking》

由于不同AR体验对iOS设备有不同硬件要求,所有ARKit配置要求iOS设备至少使用A9及以上处理器,而face tracking更是仅在带有前置深度摄像头iPhone X上才会有。...其结构和iPhone7P后置双摄采集深度信息一样为AVDepthData。设置其它AR模式该属性为nil。...我们可以使用该矩阵来放置虚拟3D模型以实现贴合到脸部效果(如果使用SceneKit,会有更便捷方式来完成虚拟模型佩戴过程,后面会详述)。...测到人脸之后,我们可以通过delegate更新人脸anchor函数来同步更新我们自定义3D面皮或者3D模型。...实现原理是当用户人脸检测不到时记一个标志,再次检测到用户人脸将其3D蒙皮贴图换掉。

1.9K30

ARKit by Example - 第1部分:AR立方体

这篇第一篇文章将使用ARKit创建一个非常简单hello world AR应用程序。最后,我们将能够在增强世界中定位3D立方体,并使用我们iOS设备移动它。...要在ARKit中呈现3D内容,我们将使用SceneKit:https://developer.apple.com/scenekit/这是一个在iOS设备上渲染3D图形框架。...如果您熟悉基本3D概念,那将非常简单。 如果你不能等到文章结尾,这里有一个应用程序视频。正如您在使用ARKit所看到,我们可以将虚拟对象放置在现实世界中,并在我们移动相机时将它们固定到位。...这堂课有几件事: 从视图中设备相机渲染实时视频流,作为3D场景背景 ARKit3D坐标系与SceneKit3D坐标系匹配,因此在此视图中渲染对象将自动匹配增强ARKit世界视图 自动移动虚拟...ARSession启动,计算出摄像机位置最初设置为X = 0,Y = 0,Z = 0。

1.2K30

ARKit 到底怎么实现

app or game 集成iOS设备摄像头和运动功能,在你应用程序或游戏中产生增强现实体验 我写过一个小实例100行代码实现手机AR,有兴趣可以去看看,这个demo 也是ARKit 原理介绍...ARKit 重要类介绍 ARSCNView 显示3D 内容视图 继承SCNView ,SCNView 继承UIView,所以这个视图可以是任何UIView子视图,所以你可以像使用UIView一样使用它...管理设备摄像机和运动处理共享对象。...ARAnchor 表示一个真实世界位置和方向,可以将物理模型放置AR场景中 ARPlaneAnchor 在AR会话中检测到真实世界平面的位置和方向信息 ARFrame 一个正在运行...第四步 创建一个3D 场景 let scene = SCNScene(named: "art.scnassets/ship.scn")!

1.1K10

手机秒变投篮机,还能模拟投篮真实手感,腾讯微视技术「家底」到底有多厚?

除 AR 投篮机外,腾讯微视也有很多其他炫酷 AR 应用,比如「纸片人」、3D 人民币等。 AR 是近两年出现在大众面前「黑科技」,公众对其认知度并不高。...确定依附平面方面腾讯微视采用是「水平面 AR 算法」,通常做法是使用 SLAM 算法一边对三维场景进行扫描建图,一边定位水平面位置。 定位完成后在水平面上放上 AR 模型。...作为对比,ARkit 和 ARcore 都没有这样功能,ARkit 和 ARcore 都只是单纯放置 AR 模型,没有用手交互。...篮架碰撞体点数变少后,检测精度实际会降低,此外篮球高速运动可能会直接穿过篮筐情况,对此腾讯微视使用了连续碰撞检测等方案解决。优化后在碰撞反馈效果与模拟效率之间实现了平衡。...之后在识别的 Maker 图案上摆放预先设置 3D 模型,当用户移动人民币,摆放 3D 模型也会跟着人民币进行相应移动。 在实际操作中,用户可能会摆放多个人民币。

99610

深入浅出 ARCore

运动跟踪 ARCore 可以在手机移动过程中知道,相对于真实世界手机所在位置和方向(姿势)。 手机在真实世界移动,ARCore使用称为并发测距和映射过程来了解手机与周围世界相对位置。...ARCore能检测到Camera捕获图像在视觉上不同特征,称为特征点。它使用这些点计算其位置变化。...这样就可以将虚拟物体放置到检测出水平面上了。 它是如何做到呢?ARCore通过检测特征点和平面不断改善对现实世界环境理解。...这样,开发人员就可以使用这些信息,并将虚拟物体放置在平坦表面上了。 由于ARCore使用特征点检测平面,因此可能无法正确检测到没有纹理平坦表面(如白色桌面)。 光线评估 ?...您可以将虚拟对象锚定到这些可追踪对象上,以确保在设备移动,虚拟对象和可跟踪对象之间保持稳定关系。

3.6K10

谷歌增强现实技术ARCore

环境感知:虚拟物体一般都是放置于平坦平面上,用ARCore可以检测物体水平表面,建立环境认知感,以保证虚拟对象可以准确放置,然后让您看到放置在这些表面上AR物体。...ARCore与ARKit对比 ARKit是2017年6月6日,苹果发布iOS11系统所新增框架,它能够帮助我们以最简单快捷方式实现AR技术功能。...不同点 ARKit可以将AR应用程序运行在任何具有A9处理器iOS 11系统以上,这意味着任何iPhone 6S或更高版本或任何iPad Pro都将能运行这些AR应用程序,但是对Android来说,...随着设备移动,应用会自动侦测到水平表面,并绘制出棱形网格。点击网格即可在平面上放置 Android 机器人即可完成移动。...基础上,可使用ARCore浏览器;一个是基于iOS,可使用ARKit浏览器。

2.1K60
领券