arkit相关内容
我实际上是在尝试使用 ARKit 在 QRCode 上放置 3D 对象为此,我使用 AVCaptureDevice 来检测二维码并建立二维码区域,该区域为我提供 CGRect.然后,我在 CGRect 的每个点上进行 hitTest 以获得平均 3D 坐标,如下所示: positionGiven = SCNVector3(0, 0, 0)对于 Int(qrZone.origin.x)...2*I
..
如果我在 SceneKit 中有两个点(例如 (1,2,3) 和 (-1,-1,-1)).我如何在两者之间划一条线? 我看到有一个 SCNBox 对象我可以使用,但它只允许我指定中心(例如通过 simdPosition).修改它的其他方法是变换(我不知道如何使用)或欧拉角(我不确定如何计算需要使用的角度). 解决方案 您可以使用以下方法在两点之间画一条线: import Sce
..
我已阅读所有关于 ARKit 的 Apple 指南,并观看了WWDC 视频.但我无法理解绑定到的坐标系如何: 真实世界 一个设备 3D 场景 相互连接. 我可以添加一个对象,例如一个SCNPlane: let stripe = SCNPlane(width: 0.005, height: 0.1)让 stripeNode = SCNNode(geometry: stripe
..
我使用 iPhone X 和 ARFaceKit 来捕捉用户的面部.目标是使用用户的图像对面部网格进行纹理化. 我只查看 AR 会话中的单个框架(ARFrame).从 ARFaceGeometry,我有一组描述人脸的顶点.我对当前帧的 capturedImage 进行 jpeg 表示. 然后我想找到将创建的 jpeg 映射到网格顶点的纹理坐标.我想: 将顶点从模型空间映射到世界空
..
我正在使用 ARKit 收集面部网格 3D 顶点.我已阅读:将图像映射到 3D 面部网格和跟踪和可视化人脸. 我有以下结构: struct CaptureData {var 顶点:[SIMD3]var verticesformatted:字符串{let verticesDescribed = vertices.map({ "\($0.x):\($0.y):\($0.z)" }).join
..
在 ARKit 中,我想要做的是收集放置在我的场景中的一堆节点位置,然后将它们平均化,以便节点移动不会像使用 ARKit 时发生的那样抖动.因此,我将一个变量声明并初始化为一个字典,其值是一个 vector_float3 数组.(我认为这更像是一个 Swift 问题而不是 ARKit 问题,是吗?) var extentOfnodesAddedInScene: [SCNNode: [vector
..
我最近尝试向我的 AR 应用添加一个欢迎屏幕,用作主屏幕.当应用加载时,用户可以点击按钮,然后应用会死机、崩溃并显示代码 “线程 1:"-[_0_2_2020_2.WelcomeViewControllerletsGo:]:无法识别的选择器发送到实例 0x13ec05e00" 我已经尝试了一些可用的解决方案,但我一直无法想出一个解决方案.我认为这与我的 *IBAction 连接有关.非常感谢
..
我有下一个代码: guard let feauturePoint = frame.hitTest(normalizedPoint, types: .featurePoint).first?.worldTransform else {返回}let anchor = MyAnchorSubclass(transform: feauturePoint, plus: someAdditionalInf
..
在 ARKit 示例源代码中,我可以看到“.scn"[场景套件文件].我想知道如何创建一个新的场景文件?让我们说一个硬币场景? 有什么网站可以下载吗?或学习如何创建一个供我使用?🤞 解决方案 您可以在 Xcode 的“新建文件"对话框中从头开始创建一个.它是一种资源类型(与 GPX 文件在同一区域).Chris Language 的关于构建 SceneKit 游戏的书有一个关于使用
..
在 ARKit 1.5 之前,我们无法调整相机的焦距,获取镜头位置总是返回相同的值.然而,在 ARKit 1.5 中,我们现在可以通过设置 ARWorldTrackingConfiguration.isAutoFocusEnabled 来使用自动对焦.我的问题是,有没有办法从 ARKit 获取当前的镜头位置,以便我可以对我的虚拟对象应用失焦效果?我查看了一些可能存储此信息的类,例如 ARFrame
..
尝试开发一个 AR 应用.当应用打开时,此时设备位置是 (0,0,0),也就是说,如果我打印或显示我的坐标,它将是 (0,0,0).我想在门的入口处创建一个起点.当其他使用我的应用程序的用户可以在任何地方打开应用程序时. 我想要做的是我已经在门的入口处保留了一个 AR.用户在随机位置打开应用程序作为他们的起点,所有 AR 对象都会出现.当他们通过 AR 对象时,我想要他们设备的坐标是(0,0
..
我希望从 IOS 插件中获取纬度和经度值.下面给出了插件代码,这是一个 .mm 文件. #import "iPhone_Sensors.h"#import #import #include "iPhone_View.h"#include "iPhone_OrientationSupport.h"static bool gCompensateSensors = true;bool gEnableG
..
我使用的是从 3dsMax 导出到 Blender 软件的 DAE 模型. 但是当我将它加载到 Xcode 中时,它的右侧会变得透明. 解决方案 我认为问题出在模型右侧的 Normals 上,它们可能正面临着错误的方向. 人脸的方向称为其Normal.有时会让面部 Normals 走错方向.很容易修复. 在编辑模式下选择脸部,然后 网格 > 法线 Blende
..
我使用 ARKit 1.5(测试版)进行图像检测.检测到图像后,我想使用检测到的平面放置 AR 场景图像.如何才能做到这一点? 到目前为止我的代码检测图像(在我的资产文件夹中): ///- 标签:ARImageAnchor-Visualizingfunc renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anc
..
我无法触发 didBeginContact 方法,我已经尝试了一段时间,但我无法发现错误,可以重新审视一下: - (void)viewDidLoad {[超级viewDidLoad];self.lastRender = nil;self.accelX = 0.0;self.accelY = 0.0;self.accelZ = 0.0;self.isLooping = TRUE;self.trip
..
我遵循了@rickster 的此代码,该代码 100% 有效,看起来很棒.在视频中,他正在为 SCNNode 设置动画,该 SCNNode 使用 ARAnchor 从一个位置到另一个位置并返回.我尝试做类似的事情,但我希望使用 ARAnchor 设置的节点跟随/更新它的位置到另一个作为相机子节点的节点. 我在更新 func renderer(_ renderer: SCNSceneRende
..
我在 SceneKit 中使用 SCNLevelOfDetails. 我想知道是否有办法知道引擎何时更改特定节点几何的 levelOfDetails. 非常感谢. 解决方案 我正在回答我自己的问题.为了提供更多上下文,我们需要知道 LOD 何时更改以停止空闲动画,我们的模型已蒙皮.如果您在 LOD 更改时不禁用此动画会发生什么情况,即地理遍布整个地方并且看起来是错误的.
..
我将在 ARKit 中检测水平和垂直平面.检测到是水平面还是垂直面后,分别在检测面上添加灰色平面.点击检测平面我要添加.scn文件的3D对象. 我的代码可以很好地将 3D 对象(.scn 文件)放置在水平平面上,但在垂直平面上无法正常工作. 垂直平面(如相框)的 3D 对象(.scn 文件)在 SceneKit 编辑器中面向右侧.所以我将它的 EularAngleY 更改为 -0,现在
..
我有这本书,但我目前正在重新混合 AR/VR 周免费的视频教程中的家具应用程序. 我想要一个与检测到的墙壁/垂直平面对齐的 3D 墙壁画布. 事实证明这比我想象的要难.定位不是问题.就像家具放置应用程序一样,您只需获取 hittest.worldtransform 的 column3 并提供新的几何体向量 3 作为位置. 但我不知道我必须做什么才能让我的 3D 对象在对齐的检测平
..
我从 ARKit 得到了一个 simd_float4*4 矩阵.我想检查矩阵的值,但发现自己不知道如何在 Objective-C 中进行.在 Swift 中,这可以写成 matrix.columns.3 来获取值的向量.但我不知道如何在 Objective-C 中做到这一点.有人可以给我指点方向吗?谢谢! 解决方案 simd_float4x4 是一个结构体(如 4 simd_float4)
..