草庐IT

ARKit版

全部标签

swift - ARKit - 在 Swift 3 中的平面上的 2 个矢量点之间放置一个 SCNPlane

这个问题在这里已经有了答案:Scenekitshapebetween4points(1个回答)关闭4年前。类似于您可以在ARKit中看到的一些测量应用程序,我有一个平面,上面有2个标记节点,并在2个节点之间画了一条线。不过我需要的是2个之间的SCNPlane。所以,如果你原来的是地板,你在墙的两边放了一个标记,你可以在你的AR世界中用SCNPlane代表物理墙。目前我正在放置带有以下代码的行:letline=SCNGeometry.lineFrom(vector:firstPoint.position,toVector:secondPoint.position)letlineNode=

ios - 如何使用 ARKit ARSKViewDelegate 渲染 jpg 图像?

我想将jpg图像渲染为漂浮在空间中的二维矩形。使用SpriteKit示例-如何从ARSKViewDelegate返回jpg图像?该演示返回一个SKLabelNode-是否有适合我从网络获取的jpg图像的Node类,也许是UIImage?funcview(_view:ARSKView,nodeForanchor:ARAnchor)->SKNode?{//Createandconfigureanodefortheanchoraddedtotheview'ssession.letlabelNode=SKLabelNode(text:"?")labelNode.horizontalAlignm

ios - ARKit 世界地图——如何使用自定义 UTI 文件类型保存/访问?

我找不到任何专门列出ARKit将其世界地图保存为的文件类型的文档。据我所知,它是一个.arexperience文件。本质上,我正在尝试修改文档浏览器,以便能够有选择地选择要加载的.arexperience文件。我尝试启用支持的文档类型,特别是public.arexperience,其中LSHandlerRank为String类型,Value为Alternate,CFBundleTypeRole为TypeString,Value为Viewer。我还在info.plist中将SupportsDocumentBrowser设置为YESAdditionaldocumenttypepropert

swift - ARKit:如何判断用户的脸是否与相机平行

在我的Swift/ARKit/SceneKit项目中,我需要判断前置摄像头中用户的脸是否平行于相机。我能够通过比较左眼和右眼与相机的距离(使用faceAnchor.leftEyeTransform和worldPosition属性)来判断水平平行。但我被困在垂直平行上。有什么想法,如何实现? 最佳答案 假设您在应用中使用ARFaceTrackingConfiguration,您实际上可以检索ARFaceAnchor和相机的转换以确定它们的方向。您可以使用ARFaceAnchor.transform属性获取头部在世界空间中方向的simd

swift - 使用 ARKit 将图库中的图像放置在墙上

我有一个来自服务器并存储在图库中的图像列表。我想使用ARKit选择任何图像并将其放置在动态墙上,并希望将图像转换为3d图像tp执行缩放、移动图像等操作。谁能指导我如何在AR中创建自定义对象? 最佳答案 要在ARKit中检测垂直表面(例如墙壁),您需要首先设置ARWorldTrackingConfiguration,然后在您的应用中启用planeDetection。因此,在您的类声明下,您将创建以下变量:@IBOutletvaraugmentedRealityView:ARSCNView!letaugmentedRealitySess

swift - ARKit:你如何迭代所有检测到的特征点?

我想对ARKitsession期间在单个帧中发现的每个检测到的特征点进行一些处理。如何遍历每个检测到的特征点,并获取它们的世界坐标?我使用的是Swift,但Objective-C答案也可以。 最佳答案 编辑:在Xcode9.0GM(及更高版本)中,points是float3向量的Swift数组,因此您可以像任何其他Swift数组一样迭代它:forpointinframe.rawFeaturePoints.points{...}或者:frame.rawFeaturePoints.points.map{pointin...}或者您最喜欢

swift - 如何在 ARKit 中使用环境贴图?

ARKit2.0添加了一个名为AREnvironmentProbeAnchor的新类。阅读它的说明,似乎ARKit可以自动收集环境纹理(立方体贴图?)。我相信我们现在可以创建一些反射(reflect)真实环境的虚拟对象。但我仍然不清楚这是如何工作的,尤其是环境纹理是如何生成的。有没有人有简单的示例代码来演示这个很酷的功能? 最佳答案 AREnvironmentProbeAnchor(适用于iOS12.0+)是基于图像的光照技术的anchor。模型的PBR着色器可以反射来自周围环境的光。原理很简单:来自源的6个正方形图像进入着色Mat

swift - 如何识别用户是否点击了使用 ARKit 显示在屏幕上的对象 - swift

我是iOS编程新手。我想构建一个允许用户点击屏幕上显示的特定对象的应用程序。我正在对已显示的对象使用addGestureRecognizer以确定用户是否已被单击,然后我只想将另一个对象添加到屏幕。这是我到目前为止所做的objpizza=make2dNode(image:#imageLiteral(resourceName:"pizza"),width:0.07,height:0.07)objpizza.position=SCNVector3(0,0,-0.2)objpizza.name="none"self.arView.addGestureRecognizer(UIGestureR

ios - 你如何截取 ARKit 相机 View ?

寻找一种在没有按钮和其他subview的情况下捕获ARScene的屏幕截图或视频的方法传统的屏幕捕获会捕获屏幕上可见的所有内容,包括UI控件 最佳答案 ARSCNViews有一个内置的快照方法,可以返回ARScene的UIImage所以在Objective-C中你可以这样做:UIImage*image=[sceneViewsnapshot];在Swift中varimage=sceneView.snapshot() 关于ios-你如何截取ARKit相机View?,我们在StackOverf

ios - ARKit:将 3D 对象放置在图像之上

我正在尝试在引用图像上正确添加3D对象。为了在现实世界中的图像上添加3D对象,我使用了imageAnchor.transform属性,如下所示。funcrenderer(_renderer:SCNSceneRenderer,didAddnode:SCNNode,foranchor:ARAnchor){guardletimageAnchor=anchoras?ARImageAnchorelse{return}letreferenceImage=imageAnchor.referenceImageupdateQueue.async{//Addavirtualcupattheposition