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

ARKit:通过添加锚点将USDZ模型放置到平面上,但它总是在我的头顶上方。

ARKit是苹果公司推出的增强现实(Augmented Reality)开发框架。它可以通过使用设备的摄像头和传感器来将虚拟物体与现实世界进行交互和叠加展示。

ARKit中的锚点(Anchor)是一种用于将虚拟物体放置到现实世界中特定位置的机制。通过添加锚点,可以将3D模型、动画、图像等虚拟内容精确地放置到平面或者其他特定位置上。

当你在使用ARKit放置USDZ模型时,如果模型总是出现在你的头顶上方,可能是由于以下原因导致的:

  1. 设备定位问题:ARKit使用设备的摄像头和传感器来定位和追踪场景中的物体。如果设备的定位不准确,就会导致虚拟物体显示位置不正确。尝试将设备放在平面上,并确保设备的摄像头对准平面。
  2. 平面检测问题:ARKit需要检测到平面来确定放置虚拟物体的位置。如果平面检测不准确,就会导致虚拟物体放置位置错误。尝试在良好照明条件下,确保摄像头可以清晰地看到平面,并确保平面足够大和稳定。
  3. 锚点位置设置问题:在代码中添加锚点时,需要确保将锚点添加到正确的位置。可能需要调整锚点的位置或者调整模型的坐标系,使其与现实世界对齐。

如果以上方法无法解决问题,可以考虑使用苹果的ARKit开发文档进行进一步的调试和研究。

对于相关的推荐腾讯云产品和产品介绍链接地址,这里我们不提供直接推荐,请您自行参考腾讯云官方网站或者开发者社区,查找适合的云计算产品。

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

相关·内容

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

增强现实目的是能够在特定点将虚拟内容插入现实世界中,并在您在现实世界中移动时拥有虚拟内容轨道。使用ARKit,其基本过程包括从iOS设备相机读取视频帧,为每个帧处理图像并提取特征点。...添加调试可视化 在我们开始之前,向应用程序添加一些调试信息是有用,即渲染从ARKit报告世界原点,然后渲染ARKit检测到特征点,这将有助于让您知道您所在区域是跟踪好与否。...在SCNPlane几何体中添加了Tron样式网格纹理,在这里省略了它,但你可以查看源代码。...image.png 下面是与上面相同场景,但几秒钟后,ARKit将所有上述平面合并到一个平面上。...image.png 这很有意思,因为站在这个地板上方,距离它大约1215英尺,在光线条件不佳情况下,ARKit仍设法在那个距离上提取飞机,令人印象深刻!

2.9K20

Web vs App(AR版)

最初是供3D艺术家上传并很好地显示作品资源库,如今已发展成为具有API市场,并且启用了ARKitiOS应用允许用户在自己世界中放置3D模型。...让我们从Apple.usdz文件格式开始。 image.png 什么是USDZ,它如何运作?用最简单的话说,Apple已将ARkit功能内置iOSSafari中。...大多数代理商和品牌都愿意将AR体验添加到现有应用程序中,但他们也意识这种参与与删除应用程序下载时体验不同。网络无摩擦,每个人都有一个带有QR扫描仪相机应用程序,可以链接到网站。...有一些实验性浏览器利用ARKit / ARCore,但它们需要特定JS框架。 USDZ是一个良好开端,但缺少重要组成部分,而这一层增加了对交互支持。...项目的内容从页面上视频3D世界,赛车上山路甚至在Apps上完全可用。因此我们广告系列范围从> 1 mb85 mb或更大。为什么这很麻烦?

2.1K00
  • 导入 3D 模型-将您自己设计融入现实生活中

    它们不是必需,因为ARKit使用设备相机。 重命名 将重命名模型文件和文件夹以使其更加明确。...中心点 要谈下一件事是支点。它是所有箭头交集。旋转对象时,它将转向该点。最重要是,当您将对象添加到曲面上时,初始放置将是该点。现在,它位于手机左下方,所以不好。我们将把它改为模型中间部分。...顺便说一下,这一步不是强制性。它也可以通过代码修复。但这是一个很好诀窍。 这该怎么做?请注意,我们只能这样做,因为这个模型有许多节点布局,父节点是SketchUp。...考虑父节点对x,y和z放置为0并且原始枢轴点位于左侧,我们应该将group_0x位置设置为-1.410。选择SketchUp,您将看到x位置是固定。对z执行相同操作,将其设置为2.818。...现在枢轴点位于模型中心。 展节点 最后,我们现在需要做是将所有节点展为只有一个节点。如果我们不这样做,我们稍后会遇到一些操纵模型问题。例如,您将旋转手机边框而不是整个手机。

    3.1K10

    ARKit

    SDK iOS 11.0+ 概观 一个增强现实(AR)描述了用户体验,从设备摄像头方式,使这些元素似乎居住在现实世界中添加2D或3D元素实时取景。...ARWorld Tracking Configuration提供这种体验:ARKit映射和跟踪用户所居住真实世界空间,并将其与坐标空间相匹配,以便您放置虚拟内容。...在iOS 12中,当您在应用程序中使用USDZ文件时,系统会为3D对象提供AR视图,或者在Web内容中使用带有USDZ文件Safari或WebKit。...创建持久AR体验 保存并加载ARKit世界地图数据,以允许用户在相同真实环境中返回之前AR体验。 class ARWorldMap 来自世界跟踪AR会话空间映射状态和点集。...面部追踪 使用iPhone X上TrueDepth相机创建响应用户脸部和面部表情AR体验。 创建基于脸部AR体验 使用面部跟踪AR会话提供信息来放置3D内容并为其添加动画。

    2.2K20

    WWDC 2018进行时|ARKit 2.0众望所归,新格式USDZ意在何为?

    例如,在墙上放置一幅虚拟画作后,因为有事临时退出会话,等到再次回到会话时,画作仍能维持在原有的位置。 这些是创建引人入胜交互性AR体验必要元素,而苹果ARKit 2.0终于实现了。...其让大家能在随意捕捉内容中,添加各种AR效果,以实现用数字标识信息、在现实中增加虚拟物品、用增强现实替代原有场景效果。...而此次,苹果和皮克斯合作开发新格式,让人不禁疑惑,苹果是有意在快速增长AR生态系统中,制定交互模型和文件格式新标准,一如既往地“走自己路”么?...Measure能一次操作,轻松测量物体长、宽、高等数据,测量数值会实时显示在物体上方,方便用户浏览。 ?...而从iOS 12、ARKitUSDZ中,大家也能看到苹果对建立3D/VR/AR“生态圈”所做努力。 ?

    1.1K70

    图像检测-如何通过扫描图像来制造幻觉

    今年,Apple发布了ARKit 2新功能。其中之一就是图像检测。这是一个非常酷功能,允许您在用户环境中跟踪2D图像,并在其上放置增强现实内容。...在本课程中,您将学习如何通过检测您喜欢任何图像以及如何在呈现模型时更改模型材质,将您自己3D模型放置在任何对象之上。...第一个AR项目 如果这是您第一个ARKit项目,强烈建议您阅读我们ARKit简介,因为我们不会在这里介绍基础知识。...ARImageAnchor 如果检测到图像,它将自动为每个检测到图像添加一个ARImageAnchor点列表。...您刚学会了如何通过检测图像将3D模型放置在您环境中。在本课程其余部分,将教你如何制作动画,以及与按钮互动。最重要是,您将玩光照和阴影。

    2.4K20

    平面检测-搜索真实世界表面

    现在我们已经完成了正确运行ARKit项目的所有基本设置,我们希望我们设备能够坐在水平表面上。这是飞机检测。在本节中,我们将学习如何激活平面检测。我们将熟悉点以及如何使用它们将对象放置点上。...此外,我们将能够在现实生活中看到我们发现飞机。从现在开始,我们将更多地投入代码中。...删除点 有时会发生错误。场景可以检测同一表面的多个点。我们可以通过添加didRemove方法来解决这个问题。...检测平面点是允许我们添加模型,就像它们坐在它们上一样,使其成为更真实体验。您在本教程中学到内容不仅可以让您了解如何模拟真实曲面,还可以模拟现实生活中事件。...与此同时,希望您能够在场景编辑器中学到概念代码中受到教育。通过首先在视觉上向您介绍这些概念,我们相信它更容易掌握并且对代码处理不那么持怀疑态度。

    2.9K30

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

    为了实现前者,ARKit假设您手机是在真实3D空间中移动相机,因此在任何点丢弃一些3D虚拟对象将锚定真实3D空间中该点。对于后者,ARKit会检测水平平面,如表格,以便您可以在其上放置对象。...平面在X和Z方向上定义,其中Y是表面的法线,即,如果我们想让它看起来好像在平面上打印,我们应该始终将我们绘图节点位置保持在平面的相同Y值内。 。 平面检测通过ARKit提供回调函数完成。...当然,当我们添加关于轴旋转时,这背后数学变得更加复杂,但好消息是我们可以在不理解它情况下做到(强烈建议从中检查相关部分)这篇优秀文章深入解释了这个概念)。...现在,我们获得了在屏幕上给出2D点情况下在检测到面上放置3D对象所需所有信息。那么,让我们开始画画。 画画 让我们首先解释在计算机视觉中绘制跟随人类手指形状方法。...以下代码显示了PointNode表示点类: 您将在上面的代码中注意到我们将几何体沿y轴平移了一半高度。这样做原因是为了确保对象底部始终位于y = 0,以便它出现在平面上方

    2.2K30

    ARKit介绍

    它使用相机传感器进行照明估算,它可以分析相机视图所呈现内容,并找到像桌子和地板一样水平平面,它可以在点上放置和跟踪物体。...ARKit以卓越性能完成所有这一切,并且有很好文档记录。 需要一些想法才能使用ARKit?您可以查看madewitharkit,并通过在您应用上加入此框架来了解可能实现目标。...,所以我决定使用ARKit创建自己测量应用程序。 开始观看介绍ARKit:来自WWDC17iOS增强现实视频。然后阅读文档并使用演示应用程序(在增强现实中放置对象)。...然后UITapGestureRecognizer在主视图中添加了一个以识别用于添加节点轻击手势。...垂直平面检测不是一个特征(但是),但可以用一行代码激活水平平面检测configuration.planeDetection = .horizontal然后ARKit将自动添加,更改或删除当前会话中平面

    2.3K20

    ARKit 简介-使用设备相机将虚拟对象添加到现实世界中 看视频

    尽管ARKit仅在2017年于2017年发布,但它很快受到欢迎,其可能性无穷无尽。一些人声称这是“下一次大转变”或“改变游戏规则”。 在本课程中,您将了解ARKit,您将学习如何制作自己游乐场。...您将能够将模型甚至您自己设计添加到应用程序中并与它们一起玩。您还将学习如何应用照明并根据自己喜好进行调整。...增强现实 增强现实定义了通过设备摄像头将虚拟元素(无论是2D还是3D)集成现实世界环境中用户体验。它允许用户与自己周围环境交互数字对象或角色,以创建独特体验。 什么是ARKit?...一旦完成,沙发就会弹出屏幕。现在要做就是将它正确放置房间里,看看它是否合适。 SNAPCHAT Snapchat:这个社交媒体应用程序以其娱乐相机过滤器而闻名。...虽然Snapchat使用另一种技术将数字特征放到真实面部,但增强现实已经领先一步,但它现在融合了新ARKit工具,通过iPhone XTrueDepth相机增强了脸部跟踪功能。

    3.6K30

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

    然而,人类并没有花很长时间意识把脸变成兔子并不是他们最迫切需要,很快这种炒作就消失了! 认为,AR一直缺少两项关键技术飞跃:可用性和沉浸性。如果你追踪其他AR,你会注意这个。...而对于后者,ARKit检测到水平面,比如桌子,这样你就可以在上面放置物体。 那么,ARKit是如何做到这一点呢?这是通过一种叫做视觉惯性测量(VIO)技术完成。...接下来,我们需要设置一个渲染3D对象视图。这是通过添加ARSCNView类型视图来完成。...平面是在X和Z方向上定义,Y是表面的法线。如果我们想让它看起来就像在平面上打印一样,我们应该始终保持我们绘图节点位置在相同Y值上。 平面探测是通过ARKit提供回调函数完成。...这样做原因是为了确保物体底部总是在y=0处,这样它就会出现在平面上。 接下来,在SceneKit呈现器回调函数中,我们将使用相同PointNode 类,绘制一些类似钢笔尖点指示符。

    1.8K10

    ARKit和CoreLocation:第一部分

    演示代码 ARKit和CoreLocation:第一部分 ARKit和CoreLocation:第二部分 ARKit和CoreLocation:第三部分 背景 自从写了一篇新博客帖子以来,已经有一段时间了...**重力:**通过将对齐设置为**重力,** ARKit将y轴与重力平行对齐,z轴和x轴沿着设备原始方向定向 ?...您不一定需要使用ARAnchor该类来跟踪添加到场景中对象位置,但通过实现ARSCNViewDelegate方法,您可以将SceneKit内容添加ARKit自动检测到任何点。...我们球体将自动显示为跟踪真实世界位置,因为ARKit将SceneKit空间与真实世界空间相匹配。如果我们想要使用坐标,我们可能需要找到一些持久东西来锚定提示我们点将来。...虽然这与它们用于位置节点方式不同,但它们足够接近,您可以开始考虑实际应用原则。为此,使用SceneKit创建一个新ARKit项目。当你运行它时,屏幕前应该有一个漂浮在你面前屏幕截图。

    2.2K20

    【visionOS】从零开始创建第一个visionOS程序

    将你应用扩展沉浸式空间 从熟悉基于窗口体验开始,向人们介绍您内容。从那里,添加特定于visionOSSwiftUI场景类型,如卷和空间。...在身临其境体验中,使用ARKit将你内容与人周围环境整合起来。 在页面链接中探索新交互方式 人们可以通过看着一个元素并轻敲手指来选择它。他们还可以使用特定手势来缩放、拖动、缩放和旋转对象。...你也可以添加一个沉浸式场景,将你内容放置在人物周围环境中。 当你想要创建3D资产或场景从你应用程序中显示时,包括一个现实作曲家专业项目文件。...系统将每个窗口放置在初始位置,并根据与应用程序进一步交互更新该位置。 将3D内容添加到应用程序中 为您visionOS应用程序添加深度和维度,并发现如何将您应用程序内容融入人周围环境。...除了给2D视图更多深度,你也可以添加静态3D模型到你2D窗口。Model3D视图加载USDZ文件或其他资产类型,并在窗口中以其固有大小显示它。

    87840

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

    在下面的教程中,将向您展示如何使用Swift和ARKit制作有趣Domino游戏。 这就是我们要做: ?...()以下添加代码, configuration.planeDetection = .horizontal 通过将planeDetection值设置为.horizontal,ARKit会尝试自动检测平面。...我们使用简单SCNBox创建我们多米诺骨牌。为其添加绿色,创建一个放置在其中节点,并使用我们通过命中测试检测到坐标来定位它。...现在我们地板上有一个物理体。但它还没有完成。由于ARKit平面检测不断更新地板大小,因此值也physicsShape应该更新。...这是一个非常长教程,但我希望它能帮助您了解创建交互式ARKit应用程序所需过程,更重要是,希望您能够创建它。 如果您有任何问题或建议,请在下面的评论中写下。

    2.3K30

    聚焦位置-选择您喜欢位置放置虚拟物体

    正如我所提到,它们是放置物体点。但是,在飞机上我们应该添加我们物体?为此,我们需要在屏幕上选择一个点。在本节中,我们将形成并个性化焦点方块。...我们将使用焦点方块跟随相机,直到我们对放置感到满意为止。我们将讨论世界变换和命中测试,这是ARKit两个重要概念。...这个将在本地使用,所以让我们在末尾添加单词Local以防止混淆。然后,通过将其添加到场景根节点将其显示在屏幕上。最后,将其保存在稍后要使用类变量下。运行该应用程序以查看我们焦点方块。...我们现在能够看到它,但它位置并不理想,就好像它是在相机起始位置,这是世界起源。最重要是,它是空闲。我们希望它在场景中移动,以便我们可以选择一个位置来添加模型。...,那么它将是真的,我们将能够添加模型

    2.4K30

    数字人+AI换脸简单实现虚拟制片

    模型微调 我们模型头顶部分存在异常,原因可能是正面没有对好,所以我们在自定义网格体选中头顶调整区域影响,将头顶恢复正常。...自定义网格体微调 当模型调整完毕后重新返回虚幻引擎,点击上方快速添加到项目->打开Quixel Bridge->下载模型 模型导入 模型下载 模型下载完毕之后点击add添加到项目中,并重启项目。...首先我们打开 Live Link Face ,模式选择 Live Link(ARKit),进入后点击左上角设置,再点击流送添加目标,输入电脑IP地址。电脑和手机需要在同一个局域网内。...Face_AnimBP 动画蓝图 返回我们世界主页添加关卡序列。 添加关卡序列 点击轨道->ActorSequencer->你虚拟人。...添加动画 数字人虚拟制片导出 至此我们数字人虚拟制片已经完成。完成之后,发现自己捏数字人太丑了,因此决定再加一步换脸,让我们虚拟人变得更加生动。

    87251

    深入浅出 ARCore

    ARCore历史以及与苹果ARKit竞争就不多讲了,在网上可以搜到一堆信息。但网上深入讲解ARCore的确实不多。...这样就可以将虚拟物体放置检测出水平面上了。 它是如何做到呢?ARCore通过检测特征点和平面不断改善对现实世界环境理解。...这就好像您在桌面上放置一个虚拟花瓶,如果ARCore稍后调整与桌面相关姿势,那么花瓶仍然会保持在桌面上。...点云中每个点都是一个特征点,它是通过Camera获得放置虚拟物品 找到了平面,有了跟踪手段,我们就可以将准备好虚拟物品放置平台上,现在才是真正AR哈。...通过以上三点,可以说目前学习ARCore门槛相较于苹果ARKit要难不少。

    3.7K10

    【一文看尽苹果发布会】库克揭幕iOS 12,机器学习CoreML推出2.0

    AR和ARKit 2 苹果为增强现实创建了一个名为 USDZ AR格式。 Apple 与 Adobe,Autodesk 以及其他公司合作,为 AR 提供新 3D对象功能。...ARKit 2.0 还带有改进的人脸跟踪、3D 对象检测和逼真的渲染。现在,你可以通过多种设备获得同样增强现实体验。 舞台上,乐高演示了如何使用新 ARKit 将物理世界和数字世界结合起来。...这些功能基本上只是专用于特定文件类型文件夹,但它们会自动收集应该放入其中文件。点击它们会将打开文件弹出到桌面上,以便浏览。...安全控制 苹果正在添加更多弹出窗口,让用户控制哪些应用可以访问信息和硬件。这些对于iOS用户来说都非常熟悉,但它们在桌面上并不常见。...有了Core ML,开发者可以将自己训练好模型,在苹果提供转换工具辅助下,先转化为Core ML模型文件,然后通过Core ML实现模型和 App数据互通。

    76420

    ARKit示例 - 第3部分:添加几何和物理乐趣

    在上一篇文章中,我们使用ARKit来检测现实世界中水平平面,然后将这些平面可视化。在本文中,我们现在将开始为我们AR体验添加虚拟内容,并开始与检测到平面进行交互。...在这个应用程序中,当用户单击屏幕时,我们执行命中测试,这涉及获取2D屏幕坐标并通过2D屏幕点(在投影平面上具有3D位置)从相机原点发射Ray并进入现场。...如果光线与任何平面相交,我们得到命中结果,然后我们获取光线和平面相交3D坐标,并将我们内容放置在该3D位置。...停止飞机检测 一旦我们绘制了世界并拥有多个平面,我们就不希望ARKit继续为我们提供新平面并可能更新现有的平面,因为这可能会影响我们已经添加到世界几何体。...默认情况下,会话将保持相同坐标系和找到任何点: // Get our existing session configuration ARWorldTrackingSessionConfiguration

    98210
    领券