草庐IT

ARKit版

全部标签

swift - 如何使用 ARKit Swift 将对象附加到相机位置?

我有移动的物体,我希望这些物体能够与我的玩家发生碰撞。我有能力通过获取我当时的当前位置/方向来从我身上发射物体,但我不明白如何将一个物体附加到我身上,它会一直跟随我的定位。 最佳答案 在SceneKit中,所有可以在场景中占有一席之地的东西都是(附加到)一个节点。这不仅包括可见物体,还包括光源和相机。当您使用ARSCNView时,仍然有一个SceneKit相机,但ARKit控制它的位置/方向。SceneKit节点创建一个层次结构:每个节点的位置(和方向等)都是相对于其父节点的。如果父节点在场景中移动,其子节点也会随之移动,以便它们保

ios - 如何在 ARKit 中设置文本方向?

我正在使用ARKit创建一个简单的应用程序,我在其中向场景中的点击位置添加了一些文本:@objcfunctapped(sender:UITapGestureRecognizer){letsceneView=sender.viewas!ARSCNViewlettapLocation=sender.location(in:sceneView)lethitTest=sceneView.hitTest(tapLocation,types:.featurePoint)if!hitTest.isEmpty{self.addTag(tag:"A",hitTestResult:hitTest.firs

ios - ARKit session 暂停且未恢复

在我的ARKit应用程序中,我展示了一个模态窗口。当我关闭模式并返回到ARSCNView时,我发现session由于以下代码而暂停:overridefuncviewWillDisappear(_animated:Bool){super.viewWillDisappear(animated)//Pausetheview'ssessionsceneView.session.pause()}当我关闭模式并返回到ARKit相机View屏幕时,这段代码被触发:overridefuncviewWillAppear(_animated:Bool){super.viewWillAppear(anima

ios - ARKit session 暂停且未恢复

在我的ARKit应用程序中,我展示了一个模态窗口。当我关闭模式并返回到ARSCNView时,我发现session由于以下代码而暂停:overridefuncviewWillDisappear(_animated:Bool){super.viewWillDisappear(animated)//Pausetheview'ssessionsceneView.session.pause()}当我关闭模式并返回到ARKit相机View屏幕时,这段代码被触发:overridefuncviewWillAppear(_animated:Bool){super.viewWillAppear(anima

ios - 使用 SceneKit 在 ARKit 中拖动 SCNNode

我在ARKit中有一个简单的SCNNode,我试图将它拖动到我在手机上移动手指的任何位置。这是我的代码。@objcfuncpan(recognizer:UIGestureRecognizer){guardletcurrentFrame=self.sceneView.session.currentFrameelse{return}vartranslation=matrix_identity_float4x4translation.columns.3.z=-1.5letsceneView=recognizer.viewas!ARSCNViewlettouchLocation=recogni

ios - 使用 SceneKit 在 ARKit 中拖动 SCNNode

我在ARKit中有一个简单的SCNNode,我试图将它拖动到我在手机上移动手指的任何位置。这是我的代码。@objcfuncpan(recognizer:UIGestureRecognizer){guardletcurrentFrame=self.sceneView.session.currentFrameelse{return}vartranslation=matrix_identity_float4x4translation.columns.3.z=-1.5letsceneView=recognizer.viewas!ARSCNViewlettouchLocation=recogni

ios - ARKit 无法运行 session ,此设备不支持配置

在iPhone6plus上使用ARWorldTrackingSessionConfigurationget和error无法运行session,此设备不支持配置它可以是什么? 最佳答案 这是Apple的文档ARKitanddevicesupportARKitrequiresaniOSdevicewithanA9orlaterprocessor.TomakeyourappavailableonlyondevicessupportingARKit,usethearkitkeyintheUIRequiredDeviceCapabilitie

ios - ARKit 无法运行 session ,此设备不支持配置

在iPhone6plus上使用ARWorldTrackingSessionConfigurationget和error无法运行session,此设备不支持配置它可以是什么? 最佳答案 这是Apple的文档ARKitanddevicesupportARKitrequiresaniOSdevicewithanA9orlaterprocessor.TomakeyourappavailableonlyondevicessupportingARKit,usethearkitkeyintheUIRequiredDeviceCapabilitie

ios - 如何将视觉框架坐标系转化为ARKit?

我正在使用ARKit(与SceneKit)添加虚拟对象(例如球)。我正在使用视觉框架跟踪真实世界的对象(例如脚),并在视觉请求完成处理程序方法中接收其更新后的位置。letrequest=VNTrackObjectRequest(detectedObjectObservation:lastObservation,completionHandler:self.handleVisionRequestUpdate)我想用虚拟替换跟踪的真实世界对象(例如用立方体替换脚)但我不确定如何将boundingBox矩形(我们在视觉请求完成中收到)替换为场景工具包节点,因为坐标系是不同。下面是视觉请求完成

ios - 如何将视觉框架坐标系转化为ARKit?

我正在使用ARKit(与SceneKit)添加虚拟对象(例如球)。我正在使用视觉框架跟踪真实世界的对象(例如脚),并在视觉请求完成处理程序方法中接收其更新后的位置。letrequest=VNTrackObjectRequest(detectedObjectObservation:lastObservation,completionHandler:self.handleVisionRequestUpdate)我想用虚拟替换跟踪的真实世界对象(例如用立方体替换脚)但我不确定如何将boundingBox矩形(我们在视觉请求完成中收到)替换为场景工具包节点,因为坐标系是不同。下面是视觉请求完成