Tag: 增强现实

Unity ARKit示例:第3部分

我们创建一个使用命中检测的应用程序。 本文是从Unity ARKit开始的系列文章的一部分, 示例:第1部分 。 放置立方体 在此示例中,我们将使用Unity-ARKit-Plugin中的另一个API ; 我们将利用它的功能来检测从相机取景器中心投射的光线对物理世界中物体的撞击。 特别是,当按下“ 放置”按钮时,如果检测到击中,则应用程序将放置一个30厘米的立方体。 首先,将Hello World场景另存为Scenes文件夹中的Place Cube ,然后: 我们删除了Cube , Canvas和EventSystem GameObjects 我们添加一个Button ; 将其重命名为PlaceCube 我们更新PlaceCube的 Text子GameObject ; 将其对齐方式设置为居中,将文本设置为放置 接下来,我们需要创建模型(或预制模型)以实例化GameObject 。 我们在场景中创建一个Cube GameObject 我们将其变换位置设置为(0,0,0)并将缩放比例设置为(0.3、0.3、0.3 ) 我们创建一个文件夹Assets> Prefabs> Place Cube并将其拖入其中(这将创建一个预制件) 最后,我们从场景中删除多维数据集 我们创建一个脚本; 资产/脚本/位置多维数据集/PlaceCube.cs: 观察结果: 该代码是不言自明的 在此代码中, ARPoint是相机取景器的中心 我们将此脚本作为组件添加到PlaceCube上 。 我们将Cube预制件拖到脚本上的Hit Hit预制值。 然后,将HandleClick方法附加到PlaceCube按钮: 在PlaceCube的“ 按钮”组件上添加(加号按钮) “单击()”条目 将PlaceCube GameObject拖到条目上 在条目上选择PlaceCube:HandleClick方法 现在,我们按照示例Unity […]

AR的局限性–逃脱房间— AR

AR的局限性 随着9月中旬将在iOS 11上发布ARKit,并在Android上发布了ARCore,数亿消费者现在可以使用自己拥有的设备来体验增强现实。 已经几个月了,但是还没有发布改变游戏规则的应用程序。 这是为什么? AR的当前局限性是什么?在不久的将来,我们会看到AR在哪里发展? 像任何应用程序开发一样,在AR上进行构建是一项跨学科的工作。 借助AR,开发人员需要设计师,3D建模人员和编码人员来组合一个项目。 随着移动应用程序的开发,UI设计可以很容易地被黑在一起。 借助AR,3D建模存在瓶颈,如果无法负担3D建模师的费用(随着VR / AR开始获得更多关注,他们将成为热门商品),领先的开发人员需要在Blender等程序中学习建模)。 这是缺少热门的AR应用程序的原因之一。 另一个是技术本身。 我们的应用程序Escape The Room正在使用Unity的ARKit插件开发,并在Blender中生成3D资源。 这些程序非常有用,并且不受限制。 需要做出的重大飞跃是与UI / UX相关的。 人们还不知道如何使用AR应用程序。 我们正处于UX的发现阶段,就像多点触摸/滑动需要一段时间才能适应,然后变得自然一样。 现在,如果您为用户提供一个新的AR应用程序,他们将在控件上摸索一下,并最终意识到如何使用该应用程序。 应用程序中将需要教程,以向所有经验水平的用户展示如何使用该应用程序。 随着流行的AR应用程序数量的增加,将会出现一种共享语言。 目前,ARKit仅跟踪水平面,即使那样也可能是一个挑战。 要开始我们的游戏以及许多其他AR应用程序,用户需要扫描周围的环境,以便该应用程序可以检测水平面并将对象放置在该表面上,从而使其看起来与用户处于同一环境中。 这个过程并不总是无缝的。 根据照明情况,用户如何操作设备(移动太快,移动太慢,将手机保持在奇怪的角度)平面可能无法检测到。 这导致用户尴尬地走动而不是真正玩游戏。 这是需要解决的巨大摩擦。 像我们这样的开发人员需要帮助在AR UX上教育用户。 迫不及待想看看您的构建!

玩ARKit SDK

这是关于如何将OpenStreetMap地图视图导出到ARKit的3d模型中的超短教程。 我将尝试使其尽可能简单和快捷地🙂 从https://developer.apple.com/arkit/下载ARKitExample 打开http://www.openstreetmap.org/并导出您感兴趣的区域,如下图所示(请原谅我的波兰语)。 输出文件将具有.osm格式(http://wiki.openstreetmap.org/wiki/OSM_XML)。 值得注意的是,所选区域不能太大(我试图使用几平方公里的区域,并且Blender和iPhone都存在渲染纹理问题,但我会尽力弄清楚并更新本文)。 3.下载OSM2World Java应用程序,该应用程序将.osm文件转换为.obj模型和.obj.mtl纹理文件(http://osm2world.org/download/)。 打开先前导出的.osm文件并导出到.obj 4.下载Blender(https://www.blender.org/download/)并打开.obj文件(obj.mtl将自动导入,不用担心)。 值得一提的是,您可以从模型中移除灯光,因为在SceneKit中添加和管理灯光更加容易。 接下来只是导出(文件->导出)模型,选择Collada格式(.dae),这是SceneKit首选的格式。 5.用新创建的.dae文件替换ARKitExample中的一种模型,然后使用它。 如有任何问题,请随时在Twitter https://twitter.com/tbaranowicz上ping我

ARKit CocoaPod —门户

我相信ARKit开发人员生态系统中目前最大的遗漏是可重用代码。 通常,iOS开发使用了许多令人赞叹的Pod,但还没有专门用于ARKit的Pod。 这是我在这篇文章中将要解释的CocoaPod,请随时报告问题,分叉并做出贡献! maxxfrazer / SceneKit-PortalMask 清理类以在SceneKit中创建一个门户,以在ARKit中使用。 – maxxfrazer / SceneKit-PortalMask github.com 当我在增强现实领域开始我的职业生涯时,我主要使用类似于Vuforia的工具基于标记的AR。 很多客户都希望有一种趋势,而我可以看到这是ARKit中一种趋势。 想法是遮盖跟踪图像本身之外的所有内容,但允许您通过图像所在的孔查看。 这是使用此Pod可以实现的两个简单示例,其中一个仅包含几行代码: 这是一个代码示例,用于创建类似于左侧示例的内容。 仅向Portal馈送physicalSize ,它在对象周围创建掩码。 func renderer(_ renderer:SCNSceneRenderer,didAdd节点:SCNNode,锚点:ARAnchor){ 如果让imageAnchor =锚定为? ARImageAnchor { 让nodeRotated = SCNNode() // ARImageAnchors上的节点需要旋转-90度 nodeRotated.eulerAngles.x = -.pi / 2让imageSize = imageAnchor.referenceImage.physicalSize //接下来的两行添加门户 让门户= PortalMask(frameSize:imageSize) nodeRotated.addChildNode(portal) //接下来的5行会在图像区域内添加一个多维数据集 让width = imageAnchor.referenceImage.physicalSize.width let boxNode = SCNNode(几何:SCNBox(宽度:宽度,高度:宽度,长度:宽度,倒角半径:0)) //将方框推到标记后面 boxNode.position.z = -boxNode.width nodeRotated.addChildNode(boxNode)node.addChild(nodeRotated) […]

制造业中的ARKit

在今年的RWDevcon上,我探讨了iOS框架的新方面。 本文是我在乔伊·德维拉(Joey DeVilla)关于增强现实(AR)的研讨会上学到的内容的回顾:其背后的历史,框架的简要介绍以及我对制造业中AR的未来的看法。 享受🙂 剧透警报,AR是神奇宝贝Go发明的! 第一个增强现实设备是1968年由Ivan Sutherland发明的。 在Woz组装Apple I电脑之前的3年。 Sutherland是哈佛的计算机科学家,他还率先开发了计算机图形和人机交互。 他与两个哈佛同学一起建造的第一个原型是如此笨重,由于重量巨大,必须将其悬挂在天花板上。 汤姆·考德尔(Tom Caudel,1990年在波音公司)紧随萨瑟兰(Satherland)的脚步。 他着手更换20英尺长的固定板,以使用工人可能会戴在头上的系统组装线束。 不幸的是,由于硬件限制,例如电池大小,处理能力和网络限制,他的系统没有投入生产。 工人四处走动时,跟踪系统的响应能力不足。 迪士尼于2011年在时代广场上使用该技术庆祝了米奇83岁生日。游客可以与角色共舞,并且他们的互动被投影在大屏幕上 当结合这两个系统时,ARKit可以计算深度信息,平面并增强所记录的2D图像中的深度错觉。 这是通过比较多个帧并将其与从设备惯性系统经过的距离相关联来完成的。 这称为立体或立体成像。 图像识别 图像检测大大改善了AR的用例。 它可以用作触发功能的输入机制。 例如,在Perficien Digital Labs的视频中,当检测到相应的站点时,公交车的时间表和路线就会提示给用户。 为了获得最佳结果,最佳实践包括… 图像检测在平面上效果最好。 例如,瓶子上的酒标(非平面图像)以及墙壁上的画都不会被检测到。 需要准确定义源图像的物理尺寸。 该信息用于计算参考图像与设备之间的距离。 捕获的场景需要点亮:fire-emoji:(双关语意)。 不良的照明条件,光泽或反射会干扰或阻止检测。 波音,美国宇航局和博世等公司正在AR上投入大量资金,以提高制造效率并改善对员工的培训。 例如,组装波音747和767喷气式飞机的工人正在使用免提眼镜来获取实时交互式3D接线图。 据报道,生产率提高了40%。 这项名为Project Juggernaut的工作始于2013年,当时一位工程师使用Google Glass的第一生产单元制造了原型。 用例是在没有技术人员输入的情况下实时获取正确的信息。 在工作人员视野中显示的信息减少了将信息与对象关联所需的时间。 德国跨国公司Bosch(全面披露:他也是Poka的投资者)开发了自己的AR框架和应用程序:通用增强现实平台(CAP)。 CAP是一种多功能解决方案,可显示书面信息的视频片段,图片,带有音频片段的安全说明,3D数据,电路图,技术方案。 制造业中AR的这些示例只是对AR,图像识别以及为支持这些新框架而构建的硬件的可能性进行了初步探讨。 有了Google和Apple,它们都在Android和iOS上发布了自己的AR框架,这为希望使用增强现实构建软件的开发人员降低了进入门槛。 在不久的将来,随着增强现实眼镜的商品化,我们将看到这种技术在中小型企业中得到广泛采用。 当被问及“一年之内,您怎么可能完成第一款交互式图形程序,第一款非过程编程语言,第一款面向对象的软件系统?”萨瑟兰回答:“嗯,我不知道这很难吗? ”。 作为软件工程师,我们需要开始进行原型设计,构建,犯错误,再次尝试并查看有效的方法。 我相信这就是大量采用新技术的原因! 参考文献 波音(1990) “增强现实”一词是1990年在波音公司由汤姆·考德尔(Tom Caudell)提出的。 他和他的同事David […]

Polidea实验室:使用iPhone增强现实

在Polidea Labs系列的下一集中,我们以增强现实为主题。 关于Web AR的文章即将发布,如果您想阅读有关我们的VR实验的全部内容,可以在这里找到。 这次,我们正在处理iOS上的增强现实。 苹果无情地对AI话题保持沉默的黑暗时代已经一去不复返了。 苹果公司最近的WWDC真正爆发了利用机器学习的新闻介绍框架。 这些有很多口味。 在Polidea Labs,我们快速浏览了其中两个工具:ARKit和Vision。 您可能要记住,这些都是beta。 (我们希望您像我们一样喜欢Apple的beta版🙂 在使用上述工具进入增强现实之前,需要执行以下几个步骤。 在Mac上安装Xcode 9 Beta,并在设备上安装iOS 11 Beta。 顺便问一下,您知道这意味着什么吗? 无线构建,是的! 最后! 除了不是真的。 Vision和ARKit都做很多繁重的事情,结果他们像疯了一样吞噬了电池。 因此… 请将充电器放在手边。 请耐心等待-Xcode 9尽了最大努力,但往往会发生很多崩溃。 忘掉文档-Apple工程师要做的工作比编写文档要好。 经过所有这些工作之后,您就可以开始了。 ARKit提供了一个平台,可用于开发iOS应用中的AR(增强现实)体验。 这意味着可以从iPhone或iPad的摄像头向实时视图中添加2D或3D元素,以使这些元素好像生活在现实世界中。 ARKit集成了iOS设备的摄像头和运动功能,以创建增强现实体验。 它还提供与SceneKit和SpriteKit的集成,以及与Metal 2的更底层控制。 ARKit可以分为三个主要层: 跟踪 ,它提供有关设备在物理环境中的相对位置的实时信息。 ARKit使用视觉惯性测距法,听起来像火箭科学,对吗? 但简单来说,它使用引擎盖下的AVFoundation和CoreMotion来估算设备相对于其起始位置的3D位置。 场景理解 ,提供平面检测,命中测试或光线估计等功能。 借助这些功能,ARKit使我们能够将任何虚拟内容集成到物理世界中。 渲染。 特别是向SpriteKit和SceneKit开发人员致敬-ARKit为您实现了大多数渲染。 好消息是,据说Unity和Unreal都支持所有ARKit功能(这在我们最近对PolideaLabs的调查之后为我们打开了一些有趣的机会。 您需要做的就是告诉ARSceneView的会话 (显示为常规摄像机视图)以指定的配置运行。 ARKit处理所有处理。 您可以创建一个ARWorldTrackingSessionConfiguration ,以六个自由度跟踪设备的移动:三个旋转轴(滚动,俯仰和偏航)和三个平移轴(在x,y和z中移动)。 ARSession对象输出快照( ARFrame对象),其中包含有关会话状态的所有数据。 您将完全根据自己的意愿来做这些事情-想象力是极限(或者实际上,可能是ARKit的神秘崩溃)。 特别感谢 吉卜林先生 […]

使用ARKit和Swift创建交互式Domino游戏

在下面的教程中,我将向您展示如何使用Swift和ARKit制作有趣的Domino游戏。 我们将我们的项目命名为ARDominoes ,选择Swift作为语言,选择SceneKit作为Content Technology。 我们选择的增强现实应用模板带有一些预先编写的代码,这些代码可以为我们设置场景,并且几乎可以使用。 我们只需要更改一行代码。 请注意,本教程的所有代码都将在ViewController类中编写。 在viewDidLoad ,需要更改的行改为let scene = SCNScene() let scene = SCNScene(named: “art.scnassets/ship.scn”)! 因为我们只想要一个空的场景而不是太空飞船! 我们要做的第一件事是添加plane detection 到我们的场景。 简单地说,“平面检测”是在现实世界中找到任何水平(或垂直)平面。 首先,让我们创建一个空字典,以便保留对ARKit检测到的平面的引用。 将以下行添加到类的顶部: 好吧,命中测试正在起作用,但是现在我们遇到了一个新问题:多米诺骨牌!!! (不要担心多米诺骨牌都面对相同的方向,我们稍后会解决)。 当用户在屏幕上移动手指时,将调用平移手势。 由于这是连续运动,因此该方法每秒被调用多次。 我们需要找出一种在每个多米诺骨牌之间留一些距离的方法。 为此,我们必须保存先前放置的多米诺骨牌的位置,然后计算其与命中测试当前位置的距离。 如果该距离大于或等于某个最小距离,则将放置新的多米诺骨牌,否则,我们将退出该函数并重复该过程,直到达到最小距离为止。 创建一个新变量并将其添加到类的顶部。 这将存储我们最近放置的多米诺骨牌的位置: 由于首次创建多米诺时没有旋转值,因此它们都面向相同的方向。 为了弄清楚每个多米诺骨牌应该面对的方向,我们必须做一些数学运算。 从上图可以看到,我们的当前状况类似于左图,每个多米诺骨牌朝向相同的方向。 我们希望使其看起来像右侧的图,以便正确放置每个放置的新多米诺骨牌。 为此,我们必须计算先前的多米诺骨牌位置和当前位置之间的角度,并相应地旋转新的多米诺骨牌。 我们可以使用arcTan公式获得两个多米诺骨牌之间的角度。 此公式计算相对于轴(在本例中为X轴)的两点之间的角度。 将以下函数添加到您的类中: 现在,我们的多米诺骨牌旋转得很好。 现在我们已经很好地设置了多米诺骨牌,是时候让它们变得互动了。 SceneKit物理引擎实际上非常易于使用。 您只需要让SceneKit知道要对物理应用哪些对象,然后SceneKit就可以完成其余工作。 在我们的案例中,我们想告诉SceneKit我们的多米诺骨牌应该彼此碰撞并且与地板碰撞。 为此,我们必须在节点上添加所谓的“ 物理体 ”。 在节点上添加物理实体会告诉SceneKit在物理模拟中包括该节点。 要在SceneKit中创建物理物体,我们必须为其指定type和shape 。 有三种不同类型的物理实体: 静态 :不受力或碰撞影响且无法移动的物理物体。 […]

在2018年构建增强现实应用程序:技术不成熟

我使用ARKit 2.0和Swift开发适用于iOS的AR应用程序。 在 第1部分中, 我探讨了在2018年开发增强现实应用程序的实际问题。这就是我对即将到来的移动AR未来的想法。 上周,我讨论了2018年开发,测试和使用基于iOS和ARKit构建的AR应用程序的一些日常基本问题。这些问题范围很广(您不能坐下来测试AR应用程序,也不能在黑暗中,也没有对几何体的某种记忆)(对于共享的AR体验进行测试是复杂而笨拙的)。 这些实际问题可能会在产品生命周期的不同阶段导致重大问题,但其中许多问题与支持该早期版本的ARKit和iOS上的移动增强现实的技术有着内在的联系。 当Apple在1-5年内向支持ARKit的下一代传感器和基础技术转移时,其中的一些故障(无法在弱光下工作以及必须扫描区域进行必要的移动)可能会消失。 但是我遇到了更多有趣的问题,这些问题说明了当前状态下增强现实开发的粗糙边缘。 这些缺点并不是底层硬件的故障,而是iOS AR工具和开发的新影响。 我预计这些缺陷和差距将在未来1-2年内由Apple通过软件和ARKit 3.0 / 4.0的发布或由第三方工具,库和产品解决: 低保真持久性 一般来说,ARKit 1.0的明显遗漏之一是,一旦关闭应用程序,放置,扫描或创建的所有AR对象都将消失。 AR应用程序只是一个会话事务。 ARKit 2.0引入了Persistent AR Experiences,这意味着您现在可以保存花费十分钟创建的客厅的新布局和设计,并在下个月重新打开该确切的设计。 持久性似乎应该是桌面赌注,并且一开始就存在,这样人们就不会失去进度或位置,但这是我们使用移动AR软件的早期程度的另一个指标。 但是,即使在持久性方面使用Apple的第一个刺探,也有许多不足之处。 ARKit的核心功能是扫描您周围的世界并找到飞机。 这些平面可以是地面,桌子,台面或墙壁。 一旦识别出这些平面,ARKit便可以将3D对象放置在这些平面上或3D空间中,或AR应用程序功能所需要的任何其他功能。 然后,理想情况下,持久性将确切地记住这些平面的位置,因此当您在餐桌中间放置一个虚拟花瓶时,关闭该应用程序,然后重新打开该应用程序,该花瓶正好位于您离开的位置。 花朵没有漂浮在桌子上方6英寸处,并且距离桌子中心的偏移量也不是3英寸:这正是您将其留在了那里。 实际上这还没有发生。 我已经发布了一些演示代码,这些代码可以可视化检测到的平面,然后允许您在同一会话中重新加载场景,以比较持久性的准确性,也可以在此处演示该演示的视频演示。 该应用程序只是一个技术演示,旨在突出显示一般的平面检测和内置持久性的准确性(或缺乏准确性)。 虽然持久性精度对于在建筑物内进行寻径来说可能不错(例如,“遵循杂货店地板上的AR箭头以查找Mountain Dew”或“遵循路径以在活动空间中找到特定的会议室”),测试它不够精确,无法持久保存我家的3D表示。 扫描并重新加载房间后,有时甚至只是绕圈走了几圈而没有重新加载,有时虚拟墙将被脚踩掉,或者虚拟架子会从实际架子的实际位置偏移6英寸。 这不是在应用程序中使用持久性的决定性因素,但在设计产品及其功能时需要考虑到这一重大限制。 我怀疑在接下来的一两年内,持久性准确性将大大提高。 我遇到了一些初创公司,它们使用在当前硬件上运行的自定义软件来扫描和持久保存AR对象,其保真度要比ARKit高得多,因此Apple和Google在改进软件本身或招募有能力的人方面都不会落后。 能够准确地将对象或位置准确地扫描并重新加载到最接近的英寸(然后是毫米)的能力,并不会给普通公众留下深刻的印象,但是基于这些进步而构建的应用程序,产品和公司却可以。 缺乏标准AR UI元素 构建只存在于您的手机上且无需与服务器对话的应用程序的准系统框架就很容易,它无需从社交网络或其他任何地方获取图片。 如果您想创建2019年全球最大的独立计时器应用程序或非云同步日记应用程序,则可以立即开始学习iOS开发并在下周准备原型。 制作简单应用程序如此容易的一个重要原因是,Apple提供了基本的UI构建块来拼凑您的产品。 Apple提供了基础,因此您可以在1秒钟内向应用程序添加按钮。 或将以有组织的方式显示一些数据的表。 它们还提供了一些模块,可轻松实现从相机胶卷中检索图片,在地图上发现自己或在社交网络中发布内容的功能。 并非所有这些构建块都在2008年App Store的第一天就出现了-随着移动平台的成熟,这些年来已经添加了这些构建块。 虽然ARKit提供了快速访问惊人技术的途径,但是开发人员现在只能使用的是该基本技术,而在此之上几乎没有构建块。 苹果公司的人机界面指南针对所有不同类型的UI / UX及其相应的“执行”和“不执行”提供了76页的指南。 增强现实是这些指南中的单个页面。 […]

增强现实(AR)iOS应用开发

对于我们在Makers Academy的最终项目,我们的团队提出了一个想法,即创建一个用于检测空气污染水平的增强现实应用程序。 基本思想是学习一种新语言和新技术,这促使我们在第一天进行探索,看看是否更适合开发增强现实应用程序的Android Studio或Xcode。 由于Cindy和我都是Android Phone的忠实用户,因此我们在Android Studio上开发了一个演示Android App。 作为iOS用户的Noelle和Somayeh使用Xcode开发了演示iOS应用程序。 事实证明,Xcode拥有ARKit,可将数字对象和信息与您周围的环境融合在一起,使应用程序远远超出屏幕范围,并释放它们以全新的方式与现实世界进行交互。 第2天,我非常兴奋能在Xcode中对ARKit进行更多的探索,并开始在Xcode中构建我的第一个AR App,它看起来像这样。 我对第一个AR演示应用程序感到非常满意,然后用3D Globe替换了它,为此我基本上在项目中更新了View Controller文件以显示Globe。 当我们进入第3天时,我们对MVP有了一个更好的了解,并且对Xcode中的ARKit有深入的了解。 当我们遵循Makers的测试驱动开发(TDD)时,第3天更多地是要弄清楚Xcode中的单元测试和UI测试。 经过一些研究发现,Xcode具有内置的测试框架XCTest。 我在Xcode上找到了一个有关FizzBu​​zz测试的非常有用的博客,然后继续为iOS构建FizzBu​​zz游戏,以便在Swift中练习TDD。 Swift 3中的TDD入门 已针对SWIFT 3和XCODE 8更新 通过上面的博客可以帮助我理解XCTest框架的基础。 我们的MVP包括拥有AR iOS应用程序,该应用程序可以检测给定GPS坐标下的空气污染水平。 基本上,我们计划通过添加不同的表情符号以显示不同程度的污染,将有趣的元素引入我们的应用程序。 我将在我即将发布的博客中向您发布有关我们项目进度的信息。

使用ARKit进行图像跟踪

在其他众多功能中,ARKit 2.0引入了图像跟踪功能。 当您拥有动态图像锚点时,它非常适合用例,并且可以在用户体验依赖于运动(例如增强型游戏)或艺术和时尚等应用中使用。 在这篇小文章中,我将从开发人员的角度概述ARKit中的图像跟踪,并提供一些示例代码。 要启用图像跟踪,您需要将ARSesion配置设置为ARImageTrackingConfiguration 。 ARImageTrackingConfiguration是为独立图像跟踪创建的新型会话配置。 如果您在AR应用程序中仅使用图像检测功能,则更可取。 在下面的示例中,我将cat gif放置在跟踪图像的顶部。 如您所见,图像位置更新非常流畅。 还需要向会话配置中添加一组ARReferenceImage并运行它。 Creating ARImageTrackingConfiguration ARWorldConfiguration仍然不会太频繁地更新图像位置,这意味着您不能将图像跟踪与其他ARKit功能(如平面检测)一起使用。 通过使用线性插值和ARWorldConfiguration位置更新来重新创建图像运动的坐标,可以伪造图像跟踪。 实际上,我对此主题有大量帖子,请查看。 ARKit 2.0还支持多图像跟踪。 目前,您最多可以跟踪2张图片,但是在以后的版本中,数量肯定会增加。 configuration.maximumNumberOfTrackedImages = 2 这是对ARKit 2.0图像跟踪可能性的快速回顾。 现在,它真的很容易实现,并且就像一个魅力。 🖖