问题标签 [arkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3102 浏览

swift - ARKit:将 SCNText 放置在相机前面的特定点

我已经设法将一个立方体(SCNNode)放置在相机指向的表面上,但是我发现很难完成将文本也放置在同一位置的简单(?)任务。

我已经创建了 SCNText 和后续的 SCNNode,但是当我将它添加到 rootNode 时,文本似乎总是被添加到我的头顶和右侧的相机之外(这告诉我这是全局原点)。

即使我使用与立方体完全相同的位置值,SCNText 节点仍会放置在我头顶的同一位置。

抱歉,如果这是一个基本问题,我以前从未在 SceneKit 工作过。

0 投票
3 回答
1530 浏览

swift - 从 ARCamera 获取相机翻译

我正在尝试使用 Apple 的 ARKit,并且对相机转换有疑问。变换矩阵中的哪个值代表用户从原点出发的距离?打电话

似乎没有产生正确的X翻译。

Y此外,和的正确位置是Z什么?

0 投票
1 回答
2744 浏览

ios - SceneKit 节点不随场景的根节点改变位置

我正在使用带有 ARKit 的 SceneKit,现在有一个简单的应用程序,我在屏幕上点击它,它会在我的场景中添加一个 ARAnchor 和一个 SCNNode。

在某些时候,我会想要移动整个场景,所以我尝试改变sceneView.scene.rootNode.position.x += 10以测试它。如果我在任何特定节点上调用它,该节点确实会适当移动。但是调用它rootNode,什么都没有发生,我希望每个子节点(即场景中的每个节点)都会随之移动。

为什么我的其他节点没有正确移动,我可以做些什么来解决这个问题?还是我想错了?

0 投票
1 回答
5026 浏览

ios - 使用 ARKit 获取到表面的距离

我已经开始尝试使用 ARKit,但遇到了一个问题。我找不到说明如何将对象放置在最近的表面上的教程。

假设我正在使用一个.scn包含平面对象的文件。我知道如何将它放在相机所在的位置,但我如何获得到最近表面的距离。

例如在这张图片中,它检测到桌子有多远。

对不起,如果这听起来像一个代码请求,但我不知道从哪里开始,任何指导将不胜感激

0 投票
1 回答
3934 浏览

ios - 如何将节点添加到我的 SceneKit/ARKit 场景,保留其位置但重置其方向/旋转

我想在我的场景中添加一个节点,保持相对于相机的位置,但保持场景的方向/旋转。到目前为止我在哪里...

当我点击屏幕时,我在场景中添加了一个锚点,其变换等于相机的变换。然后在 中didUpdateNode,也就是锚节点设置其位置信息时,我添加了一个包含模型的子节点,该模型具有position.z = -0.5. 模型节点直接添加到摄像机前面的场景中,并反映摄像机的旋转属性。随着手机向下倾斜并成一定角度,这可能看起来像这样:

在此处输入图像描述

模型节点,受锚节点旋转数据的影响,以与相机相同的方式旋转。这个特殊的模型出现在它的一边——我不担心,它只是一个占位符。也忽略顶部的红色按钮,用于调试。

到目前为止,一切都很好。

我想要做的是让旋转信息基本上被“重置”,因此它出现在与我的相机相同的高度,并面向默认的正面位置。如果我以不同的方式旋转相机并在房间内四处移动,则会在不同的位置添加额外的模型,但仍处于相同的高度和相同的方向。

这可能看起来像这样。想象一下,我刚刚点击了屏幕以添加对象,它以标准高度显示,并且与场景相关,而不是与相机相关的旋转。

在此处输入图像描述

我已经尝试过使用节点的eulerAngles,rotationorientation属性,但不能让它令人满意地工作。这是我到目前为止的代码。我创建了一个空白场景,我使用ship.scn标准 SceneKit 项目作为模型:

0 投票
1 回答
210 浏览

swift - 如何将手势位置转换为 ARKit 场景空间?

我正在尝试将 SCNNode 拖动到拖动位置的当前场景中。

但是,该对象不是在此位置创建的。我需要进行某种点转换吗?谢谢!

0 投票
1 回答
1848 浏览

ios - 在 ARKit 中获取点的绝对位置

当我在 ARKit 场景中点击一个特定点时,我得到了X该点相对于我的设备位置YZ坐标(对吗?)我想知道该点在地球上的绝对位置,而不是只是相对于我的设备。

到目前为止,我的逻辑是获取设备的longitude, latitude, altitude, 航向(罗盘方向)和姿态(旋转),并据此计算点的绝对位置。

想知道是否有比这更简单的方法。

0 投票
2 回答
283 浏览

ios - GameplayKit 中的 GKS 文件是什么?

我正在学习 SceneKit 团队在SceneKit: What's New中演示的示例代码。我发现一个文件有扩展名.gks,它似乎是GameplayKit.

这是加载:

文件是什么.gks?我一直在寻找很长时间,但没有成功。如何创建和使用它?

0 投票
5 回答
11532 浏览

ios - ARKit 将物体隐藏在墙后

如何使用 ARKit 跟踪的水平和垂直平面将对象隐藏在墙壁后面/真实对象后面?目前,当您离开房间和/或在它们应该在它们后面的对象前面时,可以通过墙壁看到添加的 3D 对象。那么是否可以使用 ARKit 提供给我的数据来提供更自然的 AR 体验,而不会让物体穿过墙壁出现?

0 投票
4 回答
1220 浏览

swift - 立体 ARSCNview 使 VR 和 AR 混合

我想混合virtual realityaugmented reality。目标是我有一个立体相机(每只眼睛)。

我试图将两个ARSCNView放在一个中viewCotnroller,但似乎 ARKit 只能同时启用一个ARWorldTrackingSessionConfiguration。我怎样才能做到这一点?

我研究了将视图的图形表示复制到另一个视图,但无法找到。请帮助我找到解决方案。

我找到了这个链接,也许它可以启发我们: ARKit with multiple users

这是我的问题的示例:

https://www.youtube.com/watch?v=d6LOqNnYm5s

PS:之前不像我的帖子,评论为什么!