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

向iPhone X上的AR SceneKit视图添加约束时,如何忽略安全区域?

在向iPhone X上的AR SceneKit视图添加约束时,忽略安全区域可以通过以下步骤实现:

  1. 首先,了解安全区域是指iPhone X屏幕上的非活动区域,例如刘海区域和底部的Home指示器区域。在设计界面时,需要考虑到这些区域,以避免内容被遮挡或不可见。
  2. 在AR SceneKit视图中,可以通过设置视图的safeAreaLayoutGuide属性来获取安全区域的布局指南。
  3. 要忽略安全区域,可以使用NSLayoutConstraint类的constraint(equalTo:constant:)方法来创建约束。将约束的第一个参数设置为视图的顶部或底部边缘,第二个参数设置为父视图的顶部或底部边缘,然后将常量设置为0。
  4. 例如,如果要忽略顶部安全区域,可以使用以下代码:
代码语言:txt
复制
let topConstraint = view.topAnchor.constraint(equalTo: view.superview!.topAnchor, constant: 0)
topConstraint.isActive = true
  1. 同样地,如果要忽略底部安全区域,可以使用以下代码:
代码语言:txt
复制
let bottomConstraint = view.bottomAnchor.constraint(equalTo: view.superview!.bottomAnchor, constant: 0)
bottomConstraint.isActive = true
  1. 通过将这些约束添加到AR SceneKit视图中,可以确保内容在iPhone X屏幕上的安全区域内正确显示,而不会被遮挡或不可见。

在腾讯云的产品中,与AR SceneKit视图相关的产品是腾讯云AR服务。腾讯云AR服务提供了丰富的增强现实技术和工具,可用于开发各种AR应用。您可以通过以下链接了解更多关于腾讯云AR服务的信息:

腾讯云AR服务

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

相关·内容

将模型添加到场景中 - 在您的环境中显示3D内容

调整大小以填充整个视图控制器。 约束 然后,单击Storyboard编辑器左下角的第四个图标,将新约束添加到场景视图中。定义约束以确保您的用户界面适应不同的屏幕尺寸或设备方向。...设置为0的顶部,左,右和底部。确保它们都被约束到视图而不是安全区域,然后单击Add Constraints。安全区域是凹口下方和主页指示器上方的边距,通常是屏幕的可见部分。...如果被限制在安全区域而不是超级视图,这就是看起来的样子,显然,这看起来并不好看。 ? 横屏约束安全区 重新 Outlet 请记住,一个IBOutlet将sceneView链接到ARSCNView?...约束到底部20但这次是在安全区域,并取消选中Constrain到边距。然后,将鼠标悬停在左侧的“ 对齐”图标上,并在“容器”中选中“水平”以在屏幕中水平居中。...然后,向ViewController添加扩展。

5.5K20

ARKit

在iOS 12中,当您在应用程序中使用USDZ文件时,系统会为3D对象提供AR视图,或者在Web内容中使用带有USDZ文件的Safari或WebKit。...QLPreview Controller 使用前置摄像头增强现实感 在iPhone X上,ARFace Tracking Configuration使用前置TrueDepth相机提供有关用户脸部姿势和表情的实时信息...class ARConfiguration AR会话配置的抽象基类。 显示 class ARSCNView 用于显示增强使用3D SceneKit内容的摄像机视图的AR体验的视图。...快速拍摄:为增强现实创造游戏 了解Apple如何为WWDC18构建精选演示,并获得使用ARKit,SceneKit和Swift制作自己的多人游戏的技巧。...面部追踪 使用iPhone X上的TrueDepth相机创建响应用户脸部和面部表情的AR体验。 创建基于脸部的AR体验 使用面部跟踪AR会话提供的信息来放置3D内容并为其添加动画。

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

    Youtube 要求 截至撰写本文时,您需要一台带有A9 / A10处理器的iOS设备来支持ARKit。这意味着iPhone 6S或更好,或iPad 2017或更好。...image.png 示例项目中的上述示例实际上比我们要创建的更高级,但这里的重点是学习如何从头开始编写这些项目,以便打开项目,并从viewDidLoad方法中删除所有代码(除了超级电话)。...这堂课有几件事: 从视图中的设备相机渲染实时视频流,作为3D场景的背景 ARKit的3D坐标系与SceneKit的3D坐标系匹配,因此在此视图中渲染的对象将自动匹配增强的ARKit世界视图 自动移动虚拟...ARWorldTrackingSessionConfiguration  - 此类向ARSession指示我们想要使用六个自由度来跟踪现实世界中的用户,滚动,俯仰,偏航和X,Y和Z中的平移。...当ARSession启动时,计算出的摄像机位置最初设置为X = 0,Y = 0,Z = 0。

    1.2K30

    建立您的第一个AR体验

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

    1.1K20

    《 iPhone X ARKit Face Tracking 》

    有幸去Cupertino苹果总部参加了iPhone X的封闭开发,本文主要分享一下iPhone X上使用ARKit进行人脸追踪及3D建模的相关内容。...由于不同的AR体验对iOS设备有不同的硬件要求,所有ARKit配置要求iOS设备至少使用A9及以上处理器,而face tracking更是仅在带有前置深度摄像头的iPhone X上才会有。...其结构和iPhone7P后置双摄采集的深度信息一样为AVDepthData。当设置其它AR模式时该属性为nil。...在iPhone X上实测效果比7P后置的深度信息更为准确,已经可以很好的区分人像和背景区域。...我们可以在人脸node上添加其他3D模型(比如3D眼镜)的node使其跟随人脸移动,可以达到非常逼真的效果,SceneKit支持多种格式的模型加载,比如obj、dae等。

    3.6K00

    《iPhone X ARKit Face Tracking》

    有幸去Cupertino苹果总部参加了iPhone X的封闭开发,本文主要分享一下iPhone X上使用ARKit进行人脸追踪及3D建模的相关内容。...由于不同的AR体验对iOS设备有不同的硬件要求,所有ARKit配置要求iOS设备至少使用A9及以上处理器,而face tracking更是仅在带有前置深度摄像头的iPhone X上才会有。...其结构和iPhone7P后置双摄采集的深度信息一样为AVDepthData。当设置其它AR模式时该属性为nil。...在iPhone X上实测效果比7P后置的深度信息更为准确,已经可以很好的区分人像和背景区域。...我们可以在人脸node上添加其他3D模型(比如3D眼镜)的node使其跟随人脸移动,可以达到非常逼真的效果,SceneKit支持多种格式的模型加载,比如obj、dae等。

    2K30

    ARKit和CoreLocation:第一部分

    Apple文档: 增强现实(AR)描述了用户体验,这些体验将2D或3D元素从设备的相机添加到实时视图中,使得这些元素看起来居住在现实世界中。...定义 视觉惯性测距(VIO):ARKit分析手机摄像头和运动数据,以便跟踪周围的世界。计算机视觉记录了环境中的显着特征,无论iPhone的移动如何,都能够保持对现实世界中位置的了解。...ARKit将图像数据与运动跟踪数据结合起来,以计算iPhone的位置。 [ARAncho - R ****:一种ARAnchor是在保持了不管相机(理论上)的运动或位置的真实世界的位置。...例如,它可以无缝访问手机的相机。甚至更酷,视图的SceneKit场景的世界坐标系统直接响应由会话配置建立的AR世界坐标系。它还会自动移动SceneKit相机以匹配iPhone的实际移动。 ?...宇宙飞船应该仍然出现在你的屏幕上,但是,当你点击它时,它应该循环。

    2.3K20

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

    在Apple ARKit的例子中,我们使用的是iOS SceneKit,由Apple提供的3D引擎。接下来,我们需要设置一个渲染3D对象的视图。这是通过添加ARSCNView类型的视图来完成的。...ARSCNView是一个名为SCNView的SceneKit主视图的子类,但它使用一些有用的特性扩展了视图。...随着计算机视觉技术的进步,以及向小设备(比如深度相机)添加更多的友好型硬件,我们可以获得越来越多的物体的3D结构。...虽然还没有向大众发布,但值得一提的是,微软是如何通过Hololens设备来赢得AR竞赛的。Hololens的设备结合了定制的硬件和先进的3D环境识别技术。...ARKit允许开发人员通过分析摄像机视图呈现的场景并在房间中查找水平平面,在iPhone和iPad上构建沉浸式增强现实应用程序。 我们如何跟踪Apple Vision库的对象?

    1.8K10

    ARKit 简介

    增强现实(AugmentedReality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。...硬件环境:iPhone或者iPad 的iOS11 beta版本。...其中位移三轴决定物体的方位和大小,旋转三周决定物体显示的区域。 4.坐标识别及转换:3D模型显示在现实图像中不是单纯的frame坐标点,而是一个三维的矩阵坐标。...这基本上也是学习AR最难的部分,好在ARKit帮助我们大大简化了这一过程。 4.除此之外,AR还可以与虚拟物体进行一些交互。 ?...ARKit提供了两种主要AR技术Content Technology 分别是: Scenekit: 基于3D场景 SpriteKit:基于2D场景 3,然后系统就为我们新建了一个简单的项目和场景

    2.5K60

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

    图2 AR 应用的整体架构 ARKit 是连接真实世界与虚拟世界的桥梁,而渲染引擎是把虚拟世界的内容渲染到屏幕上。本部分会围绕这两个方面展开介绍。...虽然我们可以用 SpriteKit 把 2D 的卡片放置到 3D 的 AR 世界中,但是考虑到扩展性,方便之后为 AR 页面添加新的功能,这里我们选用 3D 渲染引擎 SceneKit。...卡片朝向 SceneKit 会在渲染每一帧之前,根据 SCNNode 的约束自动调整卡片的各种行为,比如碰撞、位置、速度、朝向等等。...点击散开的交互方式 经过漫长的讨论,我们最终决定采取点击重叠区域后,卡片向四周分散的交互方式来解决重叠问题,效果如下: ? 图10 卡片散开的效果 下面围绕点击和投射两个部分,介绍该效果的实现原理。...图16 深度冲突 如果这两个像素点交替“胜出”,就会出现我们视觉上的闪烁效果。由于每个卡片都被设置了 SCNBillboardConstraint 约束,始终朝向摄像头方向。

    2.1K20

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

    在Apple ARKit示例中,我们使用的是Apple SceneKit,这是Apple提供的3D引擎。接下来,我们需要设置一个可以渲染3D对象的视图。...这是通过添加类型视图来完成的ARSCNView。 ARSCNView是一个名为SceneKit主视图的子类SCNView,但它使用一些有用的功能扩展了视图。...使用Apple ARKit将焦点正方形投影在桌子上 下一步是启动ARKit会话。每次出现视图时重新启动会话都是有意义的,因为如果我们不再跟踪用户,我们就可以不使用以前的会话信息。...位置,方向和比例均以4x4矩阵编码。如果我有机会选择一个数学概念供你学习,那毫无疑问就是矩阵。无论如何,我们可以通过如下描述这个4x4矩阵来避免这种情况:一个包含4x4浮点数的明亮的二维数组。...随着计算机视觉的进步,以及为小工具(如深度相机)添加更多AR友好的硬件,我们可以访问我们周围越来越多的物体的3D结构。

    2.2K30

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

    在本课程中,您将了解到ARKit,您将学习如何制作自己的游乐场。您将能够将模型甚至您自己的设计添加到应用程序中并与它们一起玩。您还将学习如何应用照明并根据自己的喜好进行调整。...以下是最知名的增强现实应用,只是为了向您展示它可以做些什么。 宠物小精灵 宠物小精灵围棋:这个游戏应用程序在2016年肆虐!当你四处走动时,口袋妖怪角色出现在现实世界中。...虽然Snapchat使用另一种技术将数字特征放到真实面部,但增强现实已经领先一步,但它现在融合了新的ARKit工具,通过iPhone X的TrueDepth相机增强了脸部跟踪功能。...场景理解 了解场景意味着ARKit会分析摄像机视图所呈现的环境,然后调整场景或提供相关信息。这使得能够检测物理世界中的所有表面,例如地板或平坦表面。然后,它将允许我们在其上放置虚拟对象。...第一次运行该应用程序时,它会询问您是否可以访问您的相机。您需要允许在屏幕上查看相机看到的内容并继续使用ARKit项目 结论 我们刚刚开始AR。我们学到了什么是ARKit,它是多么多样化。

    3.7K30

    SceneKit_中级04_约束的使用

    SceneKit_入门01_旋转人物 SceneKit_入门02_如何创建工程 SceneKit_入门03_节点 SceneKit_入门04_灯光 SceneKit_入门05_照相机 SceneKit...SceneKit_大神02_弹幕来袭 SceneKit_大神03_navigationbar上的3D文字 让学习成为一种习惯 先告诉你 我们在做应用开发的时候,也会用到约束,应用中的约束,就是当一个视图变化的时候...,让和他之间有约束关系的其他视图,按照一定的约束规则变化,那在游戏中,我们的约束是用来干什么的?...0 完全忽略约束 * 注意 SCNTransformConstraint 对这类约束不起作用 */ var influenceFactor: CGFloat,默认值为 1,这是为0 时,则...我举个简单的例子,帮助大家理解它的用法 如果你想要玩第一视角的游戏,这是我们需要让摄像机捕捉到人物移动时的位置,这是需要给照相机节点添加一个SCNLookAtConstraint 类型的约束,就能实现这个效果

    66210

    苹果的增强现实框架:ARKit

    同时能够分析环境自动给模型添加光源,实际效果还是比较惊艳的。 从结构上看,ARKit提供了一套简单易用的AR框架,但框架之外,需要很多的三维空间、游戏编程、3D模型、GPU渲染的知识来理解AR技术。...(看他们的意思,大量的计算,在A8上应该是比较低效的,解释了为什么A8上的追踪能力是阉割版的。性能应该说还不错,与游戏类似) 9 . 如何追踪实际的物体?...答:可以在已识别的物体位置上,添加一个node, 这样就能在之后的处理中一直保持这个物体的追踪。...sceneKit是系统动态库,对安装包压力不大。 sceneKit虽然能力弱,但是对于AR来说足够了,AR毕竟打造不了复杂的游戏。...欧拉角 把空间旋转分解成绕三个局部坐标轴的平面旋转,分别是pitch(俯仰角,绕x轴),yaw(偏航角,绕y轴),roll(翻滚角,绕z轴),然后以一定顺序做旋转(sceneKit中是 roll ->

    3.4K00

    ARKit 教学:如何搭配SceneKit来建立一个简单的ARKit Demo设定ARKit SceneKit View从ARSCNView移除物件

    是时候让你开始沉浸在本篇教学内,并让你了解如何一步一步建构出ARKit App,且透过你手上的装置与AR世界互动。...本篇教学的想法主要是学习AR与利用API来建置一个APP,藉由教学的步骤,你将会一步步了解ARKit在实体装置上是如何与神奇的3D物件来互动的。 在开始前,请了解本篇教学仅是以基础功能应用为主。...view在关闭时,设定AR单元就会同时停止追踪动作与处理图像内容。...接着,我们要来建立一个场景,这是一个应用SceneKit的场景功能来显示在视图上,过来加入我们的boxNode做为场景的初始根点位,然而初始根点位在一个场景中,是SceneKit用来定义与真实世界的坐标系统的方式...viewDidLoad()调用addBox()的方法时,就得写入特定x, y和z坐标值。

    1.8K20

    SwiftShot:为增强现实创建游戏

    SwiftShot:为增强现实创建游戏 了解Apple如何为WWDC18构建精选演示,并获得使用ARKit,SceneKit和Swift制作自己的多人游戏的技巧。...当您开始自己的会话时,启动会话的玩家会创建一个ARWorldMap包含ARKit对游戏板周围区域的空间理解。加入会话的其他玩家会收到地图的副本,并查看主持人查看该表的照片。...每当本地玩家执行将触发游戏事件的动作(例如在弹弓附近触摸屏幕时),游戏创建相应的GameAction并将其添加到列表的末尾。...每个玩家GameSession在收到动作时对其进行解码,并将其添加到本地GameManager实例的命令队列中。...GameManager类的更新的游戏状态为SceneKit渲染每个循环过程(以每秒60帧)。在每一个上update,它按照添加顺序从队列中删除命令,并在游戏世界中为每个命令应用结果效果(如启动球)。

    1.7K30
    领券