问题标签 [realitykit]

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 投票
0 回答
97 浏览

swift - 在 ARKit 中转换 SIMD2 位置和标记

在尝试了解有关 ARKit 的更多信息时,我一直在探索 iOS 13 中的ARBodyTrackingConfiguration可用功能ARKit 3.0。理想情况下,我希望接收在我的会话中跟踪的特定“关节”,然后在屏幕上用指示器(a点、UIView 等)。我正在接收基于以下代码的位置;

如果在框架中检测到一个人,我会收到如下输出:

我的问题有两个

如何将此点转换为与我的应用程序相关的 X、Y 位置,以及如何用简单的东西(如小方形 UIView)“标记”该位置。不太熟悉RealityKitor SceneKit,我不确定如何像在 UIKit 中那样绘制一个简单的框。

0 投票
1 回答
1166 浏览

swift - 如何将已知的位置和方向设置为 ARKit 的起点

我开始使用 ARKit,并且我有一个用例,我想知道从已知位置到另一个位置的运动。

所以我想知道是否有可能(就像每个跟踪解决方案一样)在 ARKit 中设置一个已知的位置和方向作为跟踪的起点?

问候

0 投票
2 回答
630 浏览

swift - 如何在 ARKit 中播放特定时间间隔的 DAE 动画?

我的动画模型的总时间间隔为 45 秒。我点击模型,应该不能从一开始就播放它,而是从第 15 秒开始播放。

如果您认为这是可能的,任何人都可以帮助我吗?

编辑:

一旦我加载我的动画模型,SceneKit 就会播放动画。现在有了钥匙,我在遇到的自定义方法的帮助下裁剪了动画。

通过点击模型,我枚举所有父/子节点以停止或从场景中删除动画。到目前为止,一切都很好。

当我尝试将裁剪的动画添加回场景时出现问题。什么都没有发生,因为场景保持空闲,没有任何动作。

我在这里做错了吗?

0 投票
1 回答
1203 浏览

swift - 如何在 RealityKit 中与 3D 对象交互

3D 对象的交互问题。我发现了 RealityKit 的一些 beta 功能,例如 PhysicsBodyComponent、applyImpulse、addForce、applyAngularImpulse 等。

我试图为对象“花瓶”添加物理特性,并在点击或类似事件时产生对对象的冲动。

真的很奇怪,执行命令后,物理特性正常添加,同时脉冲和力没有添加到对象中(见下文调试输出)。

在此处输入图像描述

调试打印输出:

东西1可选(RealityKit.PhysicsBodyComponent(模式:RealityKit.PhysicsBodyMode.dynamic,massProperties:RealityKit.PhysicsMassProperties(质量:0.2,惯性:SIMD3(0.1,0.1,0.1),centerOfMass:(位置:SIMD3(0.0,0.0,0.0) , 方向: simd_quatf(real: 1.0, imag: SIMD3(0.0, 0.0, 0.0)))), 材质: RealityKit.PhysicsMaterialResource, isTranslationLocked: (x: false, y: false, z: false), isRotationLocked: (x:假,y:假,z:假),isContinuousCollisionDetectionEnabled:假,传送:假,userForce:SIMD3(0.0,0.0,0.0),userTorque:SIMD3(0.0,0.0,0.0),userLinearImpulse:SIMD3(0.0,0.0,0.0) ), userAngularImpulse: SIMD3(0.0, 0.0, 0.0)))

东西5可选(RealityKit.PhysicsBodyComponent(模式:RealityKit.PhysicsBodyMode.dynamic,massProperties:RealityKit.PhysicsMassProperties(质量:0.2,惯性:SIMD3(0.1,0.1,0.1),centerOfMass:(位置:SIMD3(0.0,0.0,0.0) , 方向: simd_quatf(real: 1.0, imag: SIMD3(0.0, 0.0, >0.0)))), material: RealityKit.PhysicsMaterialResource, isTranslationLocked: (x: false, y: false, z: false), isRotationLocked: (x :假,y:假,z:假),isContinuousCollisionDetectionEnabled:假,传送:假,userForce:SIMD3(0.0,0.0,0.0),userTorque:SIMD3(0.0,0.0,0.0),userLinearImpulse:SIMD3(0.0,0.0, 0.0), userAngularImpulse: SIMD3(0.0, 0.0, 0.0)))

正如我们所见,函数不会向对象“花瓶”添加冲动和力量。也许我做错了什么。

0 投票
1 回答
164 浏览

swift - 如何在 3D 模型的折叠中打开阴影?

我尝试在ARKit场景中产品的深度区域设置黑色阴影,但没有成功。我试过这段代码:

我附上了所需的结果图像和当前结果图像。

当前结果

在此处输入图像描述

预期结果

预期结果

0 投票
4 回答
6717 浏览

ios - ARKit 平面检测 - “ARView”类型的值没有成员“会话”

我正在尝试将平面检测添加到一个简单的 ARKit 应用程序中。我想在垂直平面上放一张图片。

所以首先我需要检测平面然后我可以添加我在 RealityKit 中创建的对象锚。

但是问题是我不确定使用 ARKit 3 和 Xcode 11 检测飞机并将其添加到我的场景中的正确方法。

它应该很简单:

但我收到以下错误:

“ARView”类型的值没有成员“会话”

我什至尝试了以下内容,Apple 在他们的 WWDC 演示 (4:27) 中将其用作示例,

苹果演示

但是在尝试创建 AnchorEntity 时出现以下错误

表达式类型“AnchorEntity”在没有更多上下文的情况下是模棱两可的

0 投票
2 回答
954 浏览

ios - RealityKit 仅显示深色图像

我正在使用 ARKit 3 和 RealityKit 开发 iOS 应用程序。我想在包含图像的房间内创建虚拟 2d 平面。因此我用

以编程方式将材质添加到 ModelEntity

但是不接近白色的图像会显示得很暗,接近黑色。我也试过了UnlitMaterial。它确实创造了更好的结果,但图像仍然很暗。此问题在 JPEG 和 PNG 文件上仍然存在。

在我使用 SceneKit 的早期版本中,我通过以下方式解决了类似的问题

我猜图像确实通过这段代码照亮了自己。

如何解决 RealityKit 中的问题?

可能相关:https ://forums.developer.apple.com/thread/119265

0 投票
1 回答
528 浏览

swift - SceneKit AR 游戏 fps 越来越低,并且设备在使用时变热

我正在使用 ARKit 和 SceneKit 开发 3D 游戏。游戏以 60 fps 的速度流畅运行,但当我继续使用它一段时间后,设备变热并且帧速率降至 30 fps。能量影响非常高,我在 Instruments 中注意到了一些东西。我将展示统计数据以及我在 Instruments 中看到的内容。这是游戏运行流畅时的统计数据,但我不明白为什么我得到 1.16K 作为节点数。我实际上并没有使用这么多节点,但这只是一个简单的级别。 在此处输入图像描述

这是我在 Instruments 上得到的,我不知道它是什么意思。 在此处输入图像描述 如您所见,能源影响非常高 在此处输入图像描述

我怎样才能找出为什么 fps 变低并且设备随着使用而变热?

0 投票
2 回答
2604 浏览

swift - ARKit People Occlusion 样本是如何完成的?

这可能是一个晦涩难懂的问题,但我在网上看到很多非常酷的示例,说明人们如何使用 ARKit 3 中的新 ARKit 人物遮挡技术来有效地将人物与背景“分离”,并对“人”(见这里)。

在查看 Apple 提供的源代码和文档时,我发现我可以segmentationBuffer从 ARFrame 中检索,就像这样;

在“未知”部分,我试图确定如何在原始相机源之上渲染我的新“模糊”人物。似乎没有任何方法可以在原始相机源的“顶部”绘制新的 CIImage,因为 ARView 无法手动更新。

0 投票
1 回答
555 浏览

swift - 如何在 ARKit 3.0 中启用“景深”选项?

在Apple的 ARKit 3.0演示depth of field中,效果就呈现出来了。我试图找到这方面的文档,但我找不到我们应该如何启用它。

我发现启用运动模糊噪声颗粒效果很容易。基本上,您在 Objective-C 中设置了一个这样的标志

但是我找不到任何景深效果。

这是尚未向开发人员公开的东西吗?