首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ARKit:增强现实技术在美团到餐业务的实践

官方文档所言,它也有两个致命的缺点: 受环境光线质量影响 受剧烈运动影响 由于在追踪过程要通过采集图像来提取特征点,所以图像的质量会影响追踪的结果。...在这种模式下 ARKit 内部会根据设备偏航角的朝向与地磁真北(非地磁北)方向的夹角不断地做出调整,以确保 ARKit 坐标系 -Z 方向与我们真实世界的正北方向吻合。...ARKit 坐标系同样以单位,因而可以直接确定商家的水平坐标(x, -z)。...卡片大小 ARKit 的物体都是近大远小。只要固定好 SCNPlane 的宽高,ARKit 会自动根据距离的远近设置 SCNPlane 的大小。...也就是说,假如 SCNPlane 的宽度 30,距离用户 100 ,那么在屏幕上看到这个 SCNPlane 的宽度大约为 \(530 / 100 \times 30 = 159\) pt。

2.1K20

SceneKit 场景编辑器-您的AR体验构建3D舞台

Euler Angles 缩放 Scale允许我们调整模型的大小。 边界框 边界框是您的资产的尺寸,以单位。 材质 让我们切换到Material Inspector。...蓝色是相机,还有其他物体,物理和动画。 Apple Watch Pink 外壳 我们将从手表外壳开始。 盒子几何 将Box拖放到场景。要调整节点的视图,诀窍是双击节点名称框旁边的节点图标。...您可以随时根据需要调整视图。 盒子位置 在“ 节点”检查器,将所有轴的位置设置0,以便在首次运行会​​话时与摄像机的位置对齐。 盒子颜色 我们它指定一种颜色。...缩放 请记住,我们测量的是大小。现在我们应该将整个手表缩小到1%。选择框的父节点。对于比例,x,y和z输入0.01。双击该框的节点图标以调整视图。...正如你所看到的,一旦我调整了盒子的大小,它的所有孩子都一样。 预览观看场景 我们如何才能真实地看到手表在应用的外观?运行应用程序,您可以按cmd+ R了。

5.5K20

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

增强现实的目的是能够在特定点将虚拟内容插入到现实世界,并在您在现实世界中移动时拥有虚拟内容轨道。使用ARKit,其基本过程包括从iOS设备相机读取视频帧,每个帧处理图像并提取特征点。...功能可以很多,但您想尝试检测图像可以跨多个帧跟踪的有趣功能。一个特征可能是一个物体的角落或纹理的一块织物的边缘等。...SCNNode实例是ARKit创建的SceneKit节点,它有一些属性设置,方向和位置,然后我们得到一个锚实例,这告诉我们使用有关已找到的特定锚的更多信息,例如大小和中心飞机 锚实例实际上是一个ARPlaneAnchor...在构造函数方法,我们创建平面并相应地调整它的大小: // Create the 3D plane geometry with the dimensions reported // by ARKit in...我在SCNPlane几何体添加了Tron样式的网格纹理,我在这里省略了它,但你可以查看源代码。

2.9K20

ARKit和CoreLocation:第一部分

定义 视觉惯性测距(VIO):ARKit分析手机摄像头和运动数据,以便跟踪周围的世界。计算机视觉记录了环境的显着特征,无论iPhone的移动如何,都能够保持对现实世界位置的了解。...**重力:**通过将对齐设置**重力,** ARKit将y轴与重力平行对齐,z轴和x轴沿着设备的原始方向定向 ?...您可以使用其 radius 属性在所有三个维度定义球体的大小。 SCNGeometry:可以在场景显示的三维形状(也称为模型或网格),附加材料定义其外观。...坐标以单位进行量化。...当我们将SCNVector3上的最后一个属性设置-1时,我们将z轴设置摄像机前面的一。如果一切按计划进行(应该),屏幕将显示如下内容: ? image.png 目前这种方法很好。

2.2K20

苹果的增强现实框架:ARKit

与UIKit的hitTest不同,ARKit的HitTest以设备方向配合视图坐标,建立一条世界的射线,所有在射 线上的ARAnchor, 会以由近到远的方式返回。...最好不要将太远的光照加载模型文件,这样会导致加载文件到SCNNdoe时,你的 node 真实尺寸特别大,而你期望的尺寸可能只是模型对象的大小。...光照 合理的阴影会大大提高AR的效果,贴一张纹理当然可以,但动态阴影更让人沉浸,我们还是要有追求的。 使用Bake ambient occlusion(ABO)效果,模型会更逼真。...但特征点不多的话,直接在CPU利用公式计算一下不就行了吗?不过也许Metal有更强大的方法。) 2 . ARKit怎么做虚拟环境? 答:利用Cube背景。...ARKit的最大应用范围是多少? 答:100ARKit 在保持较好用户体验的最大测量距离。 (这个其实我有点没太听清,实际数字应该是100以上) 7 . ARKit如何做marker?

3.2K00

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

在本课程,您将学习如何通过检测您喜欢的任何图像以及如何在呈现模型时更改模型的材质,将您自己的3D模型放置在任何对象之上。...第一个AR项目 如果这是您的第一个ARKit项目,我强烈建议您阅读我们的ARKit简介,因为我们不会在这里介绍基础知识。...设置 如果您运行该应用程序,Apple的太空飞船将出现在您的环境。这是AR模板。由于我们不需要此场景及其纹理,请单击art.scnassets,删除ship.scn和texture.png。 ?...if anchor is ARImageAnchor { } 平面 在锚声明,声明一个具有此大小的平面。我们之所以希望平面的尺寸大于盒子的大小,是因为我们希望标签的错觉漂浮在空中。...通过拖放这些元素从媒体库插入这些图像:ARLeft,ARRight和iPhoneX-Screen。单击场景并将其颜色更改为“ 自定义”,并将不透明度设置0。 ?

2.4K20

一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例

CVMetalTextureCache 很方便,可以直接从缓存获取 Metal 纹理,无需进一步转换。...借助 iPadOS 16 新增的 Stage Manager,用户可以在可调整大小的浮动窗口中打开多个应用程序。...7.2、探索 ARKit 6 参见:Discover ARKit 6[21] 这个 Session 介绍了 ARKit 新的能力:在 ARKit 启用 4K 视频模式,支持以目前最高的图像分辨率运行相机...3)平面锚点(Plane Anchor) ARKit 6 更新了平面锚点的行为,可以清晰地分离平面锚点和底层几何平面。...还介绍了使用 ARKit、RealityKit 和 Object Capture 时的最佳实践。 要做好对象捕获,有几点需要注意: 选择具有正确特征的对象: 物体表面要有足够的纹理

2.5K10

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

要向场景添加内容,首先要创建一些几何体,几何体可以是复杂的形状,或简单的形状,球体,立方体,平面等。然后将几何体包裹在场景节点中并将其添加到场景。然后SceneKit将遍历场景图并渲染内容。...的坐标大致对应于,因此在这种情况下,我们创建一个10x10x10厘的盒子。...ARKit和SceneKit的坐标系如下所示: ? image.png 正如您在上面的代码中所看到的那样,摄像机前面的摄像机位置-0.5,因为摄像机面向负Z方向。...当ARSession启动时,计算出的摄像机位置最初设置X = 0,Y = 0,Z = 0。...我们想要做的一个快速调整是在3D场景添加一些默认光照,这样我们就可以看到立方体的两侧,我们可以稍后添加一些更高级的光照但是现在我们可以在SCNScene实例上设置autoenablesDefaultLighting

1.2K30

一个AR Tech Radar的诞生

为什么我们会选择ARKit呢?(ARKit是苹果做AR软件开发的一个工具,使开发者能为iOS设备开发增强现实应用。) 之所以选择ARKit一个很重要的原因就是懒,只想选一个学习成本比较低的技术。...我才不会告诉你,每个技术标示点在第一版的设计是圆锥形的,看起来像雷达上的一坨坨屎。请看下图。 ? 然后就是添加交互,让用户在点击某一个圆球的时候弹出它的具体阐述。就像下图一样。...所以我们利用3D纹理贴图,把文字描述贴到了白板上。 ? 数据 最后就是如何添加数据,我们希望这个AR技术雷达能运用到每一年的技术雷达,这就要求我们添加进去的数据是支持更新的。...---- 3D开发过程遇到的困难与趣事 遇到的第一个奇葩事件就是,第一次我们添加了一个物体,可是在摄像头里面怎么都找不到,后来我们无意中把镜头对着天空突然发现那个物体在空中飘着。...原因就是ARKit世界里面的尺寸是和现实世界一样的,单位是,而我们的离地高度设的是3,因此它就跑到空中去了。 另一个和这个是相似的,我们加了一个圆管放在地上,可是在地上怎么也找不到那个圆管。

76710

ARKit 初探

今年7月Apple推出了AR工具ARKit,着实闪着了大家的眼睛。从目前的评测可以知道 ARKit已经非常成熟,完全可以进行商用了。 在iOS,增强现实由ARKit和渲染两部分组成。...今天我们就来详细的了解一下 ARKit,看看 Apple 我们提供了怎样强大的工具,可以让我们迅速的构建一个AR应用程序。 在讲解我们的 AR 程序之前,我们先要了解几个ARKit的基本概念。...缺少纹理 如果摄像头指向一面白墙,那也没法获得特征,ARKit 也去无法找到并追踪用户。尝试避免看向纯色、反光表面等地方。...什么是平面检测 ARKit 的平面检测用于检测出现实世界的水平面,也就是在 3D 空间中,Y值0的一个区域。平面检测是一个动态的过程,当摄像机不断移动时,检测到的平面也会不断的变化。...ARKit 会追踪以下几个信息: 追踪设备的位置以及旋转,这两个信息均是相对于设备起始时的信息。 追踪物理距离(以“单位),例如 ARKit 检测到一个平面,我们希望知道这个平面有多大。

2.3K20

ARKit介绍

Apple在WWDC17上宣布了一个名为ARKit的新iOS框架。它是一个“允许您轻松iPhone和iPad创建无与伦比的增强现实体验”的框架。...从演示,我了解到场景单元映射到ARKit,所以这是一个很好的提示。 两个节点之间的距离 我想要一个基本的应用程序,只需点击屏幕选择点并计算最后一个点击与前一个点的距离。...创建项目步骤2 创建项目步骤2 “增强现实应用程序”模板我们提供了一个基本代码。...如果您没有这些知识或任何3D渲染,Metal,OpenGL或Unity,那么我建议您在使用ARKit之前查看其中一个,因为它将帮助您理解我将呈现的代码(例如,矢量和矩阵等3D概念以及可以对它们执行的一般操作...为了实现10厘的平移,我需要在第四列上应用转换z。正值定义更接近相机,负值更远。因此,如果使用0,对象位置将位于当前相机框架的正前方。

2.3K20

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

点击并拖动应用程序内容下方的窗口栏,以重新定位窗口在环境的位置。将指针移动到窗口栏旁边的圆圈上,显示窗口的关闭按钮。将光标移动到窗口的一个角落,以将窗口栏变为调整大小控件。...使用visionOS,应用程序自动获得具有visionOS外观和感觉的材料,完全可调整大小的窗口,间距调整眼睛和手输入,并为您的自定义控件提供高亮显示调整。...视图闭包的代码球体创建一个RealityKit实体,在球体表面应用纹理,并将球体添加到视图的内容。...系统还增加了一个窗口条,允许用户重新定位窗口或调整窗口大小。 在人周围页面链接显示3D内容 当你需要更多地控制应用内容的位置时,可以将内容添加到ImmersiveSpace。...沉浸式空间您的内容提供了一个无限的区域,您可以控制空间内内容的大小和位置。在获得用户许可后,您还可以使用ARKit与沉浸式空间将内容整合到他们的周围环境

72240

深入浅出 ARCore

环境理解 ARCore可以让手机检测出一块水平面的位置和大小地面、桌子、书架等等。这样就可以将虚拟物体放置到检测出的水平面上了。 它是如何做到的呢?...由于ARCore使用特征点检测平面,因此可能无法正确检测到没有纹理的平坦表面(白色桌面)。 光线评估 ?...这样就能实现用户与ARCore环境的对象交互了。 锚点与跟踪 ARCore可以改变对自身位置和环境的理解来调整姿态。...就是通过 Session.update 获取 Camera 数据,再通过纹理交给背景线程。 对纹理没有概念的同学可以把它想像成一块内存空间。...渲染背景 // Draw background. mBackgroundRenderer.draw(frame); 通过上面的代码就可以将纹理的内容推给 EGL,上面创建的渲染线程从 EGL 上下文中获取数据

3.6K10

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

从现在开始,我们将更多地投入到代码。 下载 要学习本教程,您需要Xcode 10或更高版本,以及来自Configuration for ARKit的最终Xcode项目。...水平平面检测 首先,我们需要打开配置的平面检测属性并将其设置水平,以检测平面(地板或桌子)。...平面几何 在此函数,我们将为节点设置几何,并且该几何是平面。因此,使用其范围属性创建一个大小planeAnchor的平面。...y做同样的事情。 接下来,让我们飞机赋予纹理。我们将使用网格图像。 plane.firstMaterial?....您现在正在学习如何在代码应用它。 飞机位置 所以,就像我们手表所做的步骤一样,我们需要定位它。将平面节点放在检测到的曲面的中心。

2.9K30

ARKit示例 - 第4部分:现实主义 - 照明和PBR

这是一个有方向(方向)但也有位置的灯。如果要根据几何体与光源的距离执行光的强度计算,这非常有用。...有一个名为automaticUpdatesLighting的属性,文档说这将根据估计的光强度自动场景添加灯光。...灯光 首先让我们场景添加一个灯光,我们将添加一个直接向下指向的聚光灯,并将其插入到原点上方几米处的场景。这大致模拟了我在我家里制作视频的环境,我在天花板上有聚光灯。...它映射到材质的漫反射组件,它是材质纹理,在光照或阴影信息没有任何烘焙。 粗糙度  - 描述材料的粗糙程度,较粗糙的表面显示较暗的反射,更光滑的材料显示更明亮的镜面反射。...当涉及到ARKit以使我们的应用程序更加健壮时,我们需要处理许多场景,在下一篇文章我们将退后一步并处理错误和降级案例。

1.2K30

导入 3D 模型-将您自己的设计融入现实生活

在本节,您将学习如何导入3D资源并进行调整,以使其在您的应用运行良好。 3D建模软件 3D艺术家在他们用于创建图形的建模软件方面有自己的偏好。我们将瞥一眼一些专业人士。...在搜索栏,键入iPhoneX。请注意这里的大小写。再往下,我们将从Sketchup Designer中选择模型。在下一页上,单击红色的“ 下载”按钮,然后选择“ Collada文件”。...它们不是必需的,因为ARKit使用设备的相机。 重命名 我将重命名模型的文件和文件夹以使其更加明确。...您还了解了一些建模软件,可供下载模型的站点以及适用于它们的纹理站点。您现在可以找到要添加到项目中的优秀模型。请注意,使用3D非常耗时,因为要在应用程序很好地集成,需要进行大量操作。...原文: https://designcode.io/arkit-importing-3d-models

3K10

ARKit 的配置-在您的AR项目的幕后

在本节,我们将看看如何在后面配置提供的ARKit模板。我们将发现什么是世界跟踪和AR会话。同样,我们将学习如何将一些调试选项应用于场景的指导。...有文件检查器,快速帮助检查器,身份检查器,属性检查器, 大小检查器和连接检查器。 对象库 在检查员的左上方,有一个圆形图标,用于存储对象。如果您长按它,您可以访问对象库或媒体库。...AR场景视图 ARKit模板已经放入对象库可用的ARSCNView视图类。此视图反映了相机看到的内容并将其显示在屏幕上。...统计信息提供有关场景渲染性能的信息,每秒帧数(fps),动画,物理等.Apple建议将fps设置60.在您的设备上,您可以单击+按钮展开统计栏更多细节。...在下一个教程,您将学习如何检测现实世界的平面。到时候那里见! 原文: https://designcode.io/arkit-configuration

2.5K20
领券