arkit相关内容

SceneKit:材质预览始终为黑色

在 Xcode 中,我有一个从 .DAE 文件转换而来的 .SCN 文件.我与制作模型的人一起设置了所有基于物理 (PBR) 的设置.但无论我做什么,预览总是黑色的. 此外,如果我将环境更改为 Procedural Sky,模型也会显示为黑色. 我知道向场景添加灯光会“修复"这个问题,但我必须这样做吗?因为它给了我的模型不切实际的阴影? 解决方案 我将照明设置更改为纹理列表中的 ..
发布时间:2021-11-17 21:32:45 移动开发

如何使用 ARKit 从远程服务器加载模型和纹理?

我正在 Xcode 中使用 Swift 开发 ARKit 应用程序,试图从远程服务器加载模型,但在将模型和纹理/材料一起加载并正确显示纹理/材料时遇到了问题. 我浏览了一些链接和教程并加载了模型,但没有显示材料.我在场景编辑器中创建了模型,或者下载它们并转换为 .scn 文件,在 Finder 中找到它们,然后将它们上传到网络服务器.只是 .scn 文件和材料(图像). //点击手势@ob ..
发布时间:2021-11-17 21:32:42 移动开发

SceneKit AR 游戏 fps 越来越低并且设备随着使用而变热

我正在使用 ARKit 和 SceneKit 开发 3D 游戏.游戏以 60 fps 流畅运行,但是当我继续使用它一段时间时,设备会变热并且帧速率下降到 30 fps.能量影响非常高,我在 Instruments 中注意到了一些东西.我将展示统计数据以及我在 Instruments 中看到的内容.这是游戏流畅运行时的统计数据,但我不明白为什么我得到 1.16K 作为节点数.我实际上并没有使用这么多 ..
发布时间:2021-11-17 21:32:39 移动开发

为 ARQuickLook 提取 Reality Composer 场景

我有一个 Reality Composer 场景,我想将它提取为 usdz 文件或任何可以在 ARQuickLook 中使用的文件?有可能吗? 解决方案 来自 Apple 的 Creating 3D Content与现实作曲家文档: 您还可以将您的作品保存到 .reality 文件中,以用作轻量级 AR Quick Look 在您的应用或网络上的体验.这个允许用户在现实世界中放置和预 ..

在 ARKIT 中为 3D 对象添加阴影

任何人都可以建议我如何以编程方式向 3D 对象添加阴影.请看下图.我想以同样的方式在椅子下以编程方式添加阴影. 解决方案 //在 3D 模型上添加阴影 只需复制粘贴此代码,它就会在地面上出现 3D 模型的阴影让面粉平面 = SCNFloor()让groundPlane = SCNNode()让地面材料 = SCNMaterial()groundMaterial.lightingModel ..
发布时间:2021-11-17 21:32:30 移动开发

SceneKit - 围绕 X 轴和 Z 轴旋转对象

我将 ARKit 与 SceneKit 结合使用.当用户按下按钮时,我会创建一个锚点,并在对应的 SCNNode 中添加一个 3D 对象(从项目中的 .scn 文件加载). 3D 对象面向相机放置,与相机的方向相同.我想让它看起来像物体放在一个平面上,如果是这样的话,它不会倾斜.所以,如果我做对了,我需要应用一个旋转变换,使其绕 X 轴和 Z 轴的旋转变为 0. 我对此的尝试是:取节点 ..
发布时间:2021-11-17 21:32:27 移动开发

如何在 SceneKit 编辑器中将模型的枢轴点居中

无论如何可以将模型的枢轴居中吗?当前(默认情况下)它设置在左下角.我想设置到中心.我怎样才能做到这一点? 图片如下: 更新:我添加了另一个节点并将椅子添加为孩子. 所以,现在它工作得更好,但它不会一直旋转,如果我继续旋转,它会重置位置.这是平移操作的代码: @objc func panned(recognizer :UIPanGestureRecognizer) {var n ..
发布时间:2021-11-17 21:32:24 移动开发

ARKit 图像检测 冻结相机

我在 ARKit 1.5 中的图像检测工作正常,但在 ARKit 2.0 中,每当我启动我的应用程序时,它会在看起来像 1 帧相机后冻结.我仍然可以与自动生成在屏幕上的对象交互,但相机停止更新.我正在使用 Unity 插件,每次我在 Unity AR 相机管理器脚本中更改图像跟踪下的字段时,我似乎都遇到了这个问题.有没有其他人遇到过这种情况? 解决方案 最后,我从 Apple 开发者论坛. ..
发布时间:2021-11-17 21:32:21 移动开发

启用 AR 相机时 iPhone X 手电筒关闭

我正在构建一个 AR 应用程序,需要将手电筒打开为手电筒模式.打开手电筒模式然后启用 AR 场景在我的 iPhone 8 上工作正常,但在 iPhone X 上,手电筒打开然后再次关闭.有没有办法解决这个问题,或者我必须做些什么才能让 iPhone X 正常工作? - (void)turnTorchOn:(bool) on {Class captureDeviceClass = NSClassF ..
发布时间:2021-11-17 21:32:15 移动开发

如何计算垂直平面可见部分的四边形?

我的目标是计算“可见"垂直平面的一部分,锚定到某个 ARPlaneAnchor 并用四边形表示,如下图所示: 我目前的方法是基于少数命中测试,不幸的是,这似乎没有给我令人满意的结果. 首先,当我检测到一个 ARPlaneAnchor 时,我会在它的主节点上添加一个巨大的隐形 SCNNode. func renderer(_ renderer: SCNSceneRenderer, di ..
发布时间:2021-11-17 21:32:09 移动开发

重置 ARKit 坐标

我有一个简单的问题.如果我想开始游戏并将棋盘放在我面前: gameBoard!.position = SCNVector3(0, 0, -0.6) 这一直有效,直到我离开游戏并再次回来.我可以在镜头前或 0.6m 前面完全相同的位置显示游戏板吗?我可能已经搬到了另一个位置. 解决方案 如果您想重置 ARSession,您必须暂停、删除所有节点并通过重置跟踪和删除锚点重新运行会话. ..
发布时间:2021-11-17 21:32:06 移动开发

将具有透明度的 UIView(来自 xib)添加到 SceneKit

我正在尝试将一个 UIView 加载到具有半透明背景的 SceneKit 中,但目前,随着我降低不透明度,它只会淡化为白色.我想加载到 SceneKit 的 .xib 文件中有一个非常简单的 UIView 布局.到目前为止,我可以在 SCNMaterial 中显示 UIView,更改视图内的任何文本字段、图像等,没有问题.但是,我不能让它具有透明度.如果我更改视图的 alpha,它只会淡化为白色. ..
发布时间:2021-11-17 21:32:03 移动开发

在没有 iPhone6s 或更新版本的情况下测试 ARKit

我在决定下载 Xcode9 之前.我想玩新框架 - ARKit.我知道要使用 ARKit 运行应用程序,我需要配备 A9 或更新芯片的设备.不幸的是,我有一个旧的.我的问题是针对已经下载了新 Xcode 的人.在我的情况下有可能运行 ARKit 应用程序吗?任何模拟器或其他东西?有什么想法或者我必须购买新设备吗? 解决方案 ARKit 可在任何 iOS 11 设备上使用,但支持高质量 AR ..
发布时间:2021-11-17 21:32:00 移动开发

如何从 .usdz 创建 SCNNode?

我已经下载了 Apple 提供的 .usdz 模型:https://developer.apple.com/arkit/画廊/ 但现在,我想用这些模型之一创建一个 SCNNode,所以我这样做是为了获取节点: guard let urlPath = Bundle.main.url(forResource: "retrotv", withExtension: "usdz") else {返回 ..
发布时间:2021-11-17 21:31:57 移动开发

ARKit:在屏幕上查找 SCNNode 的坐标

我有一个简单的 Swift ARKit 设置,其中我有一个 SCNNode,其中有一个在 ARSCNView 中可见的 3D 对象. 我想确定这个对象在 ARSCNView 上的二维坐标.我的意思是对象被绘制到屏幕上时的 x 和 y 坐标. 我提供了一个草图来说明我的意思: 有没有办法获得这些坐标,或者至少是一个近似值?我需要这个以便对相机框架进行一些进一步的处理.基本上我对物体 ..
发布时间:2021-11-17 21:31:54 移动开发

swift 4.0:覆盖的“准备"必须与其覆盖的声明一样可用

我试图将 Apple 的 ARKit 示例应用程序集成到我的应用程序中.由于 ARKit 只是一个附加功能,所以我需要支持较低版本的 iOS.我在所有 ARKit 示例应用程序类中添加了 @available(iOS 11.0, *) 标签......它几乎可以工作,除了这个 1 错误:“覆盖 'prepare' 必须与它覆盖的声明一样可用".知道如何解决这个问题吗? Xcode 错误图片 ..
发布时间:2021-11-17 21:31:51 移动开发

Xcode 错误:AR 参考图像必须具有非零正宽度

帮助我正在玩 ARKit 的图像检测,但我不知道为什么我放置在 AR 参考文件夹中的每个图像都有错误: AR 参考图像“名称"必须具有非零正宽度 我不太确定这意味着什么,而且我在谷歌上搜索时没有任何运气. 我该如何解决这个问题? 解决方案 当您将 AR 参考图像添加到您的资产目录时,您需要添加物理尺寸: 这对于 ARKit 在用户的物理环境中定位图像是必要的——否则 ..
发布时间:2021-11-17 21:31:48 移动开发