问题标签 [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.
augmented-reality - AR 快速查看“无法打开对象”
当我单击我网站上的 AR 快速查看图标时,它没有显示 3d 模型,并且我收到消息“无法打开对象”。USDZ 目前托管在 google 存储桶中。问题可能出在我托管 USDZ 的方式上吗?如果是这样,是否有推荐的地方供我托管 USDZ 文件?
swift - ARKit 3.0 – 带有动作捕捉的人物遮挡
我正在尝试同时加载people occlusion
和加载motion capture
同一个应用程序。
由于ARBodyTrackingConfiguration
不支持personSegmentationWithDepth
,我正在创建 2 个 ARView,为每个提供不同的配置(ARWorldTrackingConfiguration
和ARBodyTrackingConfiguration
)。
问题是由于某种原因,只有一个委托回调被触发,并且没有可用的深度数据。
我在这里做错了什么?
不能同时拥有多个 ARSession 吗?
rendering - RealityKit 如何在运行时创建自定义网格?
RealityKit 具有许多有用的功能,例如通过网络内置多用户同步以支持共享世界,但我似乎找不到太多关于在运行时创建网格/对象的文档。RealityKit 具有一些基本的网格生成功能(盒子、球体等),但我想在运行时创建自己的程序网格(顶点和索引),并可能在每一帧立即模式渲染样式中重新生成它们。
首先,有没有办法做到这一点,或者 RealityKit 是否过于封闭而无法进行大量自定义渲染?其次,是否有替代解决方案可以让我使用一些 RealityKit 的同步?例如,这部分真的只是我可以与 ARKit 3 一起使用的另一个库吗?这叫什么?我也希望能够在用户设备之间同步任意数据,因此内置系统也会有所帮助。
我无法真正对此进行测试,因为目前我没有任何可以支持测试版软件的设备。我正在尝试了解如果我确实获得了必要的硬件,我是否能够为我的程序做我想做的事情,但文档很少。
swift - 如何阻止为 iOS 12 目标自动生成 Reality Composer Swift 文件?
我正在编写一个具有 RealityKit 功能的应用程序。我也想让它支持 iOS 12。这意味着 iOS 12 或更低版本将能够使用非 RealityKit 功能,而 iOS 13 将能够使用所有这些功能。
但是,在设置所有@available
andif #available
之后,构建失败。原因是 Xcode 项目中包含的 RCProject 自动生成的 Swift 文件应该仅适用于 iOS 13。
仅当 iOS 13 可用时,如何才能编译 RCProject 文件?
我已经为 RealityKit 方法设置了所有@available
和if #available
,以确保 RealityKit 代码只会在 iOS 13 设备上执行。
- Xcode 自己为 Reality Composer 项目自动生成的 Swift 文件
我希望该应用程序能够成功地为 iOS 12 或更低版本的设备构建,但构建操作失败,因为无法编译 Experience.swift(由 Xcode 自身构建并存储在派生数据中的 RCProject 自动生成的内容)。
ios - 为什么 ARFaceAnchor 的 Z 位置为负?
我正在使用 ARKitARFaceTrackingConfiguration
对齐ARConfiguration.WorldAlignment.camera
,但我发现文档(似乎)并没有反映现实;
根据下面的文档摘录,我希望面部锚点transform
以右手坐标系表示。但是,当我尝试移动头部时,我注意到面部锚点的 Z 坐标始终为负(即faceAnchor.transform.columns.3.z < 0
)。请注意,在 X 和 Y 方向上移动头部对应于预期结果(与 Z 坐标不同)。
相机对齐根据设备相机的本机传感器方向定义坐标系。相对于一个
AVCaptureVideoOrientation.landscapeRight
方向的相机图像,x 轴指向右侧,y 轴指向上方,z 轴指向设备的前部(朝向用户)。
我希望transform
按照文档行事,即面部锚的 Z 坐标应该是正的,因为文档说“ z 轴指向设备的前面(朝向用户) ”。到目前为止,Z 轴似乎指向设备的背面……
我错过了一些明显的东西吗?
我尝试通过以下代码修复旋转,但我不确定它是否是解决此问题的正确方法:
swift - ARAnchor 和 AnchorEntity 有什么区别?
我目前正在用 RealityKit 做一些实验。
我一直在查看一些示例代码,我对 和 之间的区别以及何时使用其中一个而不是另一个感到有些ARAnchor
困惑AnchorEntity
。
到目前为止,我知道:
- 两者都是描述现实世界中位置的锚点。
AnchorEntity
也可以有其他Entity
的作为孩子,所以你可以直接将模型对象添加到锚点。您不能使用 来执行此操作ARAnchor
,您必须“手动”将模型对象添加到rootNode
,并使用锚点的位置正确放置它。- 在文档中它说 ARKit 使用添加
ARAnchor
来优化锚点周围区域的跟踪。的文档AnchorEntity
没有指定这一点。
现在我将 aAnchorEntity
作为“根节点”添加到会话中,因为它更易于使用,因此我可以简单地将模型作为子节点直接添加到此锚点。但随后我还在ARAnchor
场景的锚点中添加了一个位于同一位置的 ,以增强围绕该点的跟踪。这是必要的吗?
问:任何人都可以帮助我澄清这两者的区别和用例吗?
swift - SwiftUI:如何使用非模拟器支持的框架和 PreviewProvider?
我正在开发一个 RealityKit 应用程序,并使用 SwiftUI。
PreviewProvider
当然,RealityKit 视图在 SwiftUI预览中不起作用。但我的问题是,即使是简单且完全隔离的 SwiftUI 视图也无法预览,因为PreviewProvider
需要编译整个项目。
我的 SwiftUI View 类没有以任何方式连接到 ARView 代码。如果我只是去“文件”->“新建”并选择一个 SwiftUI 文件,然后尝试在画布中预览它(⌥ + ⌘ + ↵)就足够了,没有任何更改。然后它会给我那个错误。只是我的代码中有任何不受画布预览支持的代码的事实,就会.xcodeproj
产生错误。
我收到这样的错误:
我现在唯一的两个解决方案是 1)将文件复制到 Playground 并在那里进行试验,然后在完成后复制回来。2) 在处理视图之前注释掉所有不受支持的 RealityKit 相关代码。
问:当然,这些解决方案都不是最优的。有没有更好的解决方案?
swift - RealityKit 和 ARKit 的挑战
我想在 ARKit 中构建一个演示应用程序,但我对 beta 版目前可能实现的功能有一些疑问(Apple 一直将此称为 RealityKit 或 ARKit 3.0)。
我正在尝试构建的演示应用程序应该执行以下操作:
识别真实环境中的对象或图像,并在那里创建锚点
渲染附加到锚点的虚拟模型
让虚拟模型呈现遮挡
让虚拟模型与锚图像/对象一起移动
我尝试从早期版本(利用 SceneKit 的 ARKit 2.0)中调整一些代码,但某些功能(如人物遮挡)不是 ARKit 2.0 的一部分。
由于 Apple 一直在迭代其测试版,因此在其网站和 WWDC 2019 上宣传的许多功能似乎已从 RealityKit 的文档中消失(人物遮挡、身体跟踪、世界跟踪)。
根据我的理解,ARKit 2.0 可以实现项目 (1) 和 (2)。第 (3) 项在测试版中尽可能宣传,但我几乎看不到任何文档。
这可以在最新的测试版中做到吗?如果是这样,最好的方法是什么?如果没有,是否有任何解决方法,例如混合新旧 API 之类的?
swift - RealityKit 和 Reality Composer – 图像识别
我正在开发一个可以识别图像的应用程序,然后在该图像之上放置一个 AR 节点(使用 Reality Composer 构建的 3D 模型)。我想用RealityKit
/构建它Reality Composer
(它也应该支持图像识别),但这不起作用。
我已经测试过模型是否可以在简单的水平面上工作,并且确实可以(在 Xcode 和 Reality Composer 测试环境中)。但是当我选择一个图像作为锚定模式时,该模型不会出现在 Xcode 项目中,但它会出现在 Reality Composer 测试环境中。
我目前使用此代码将 Reality Composer 项目加载到 Xcode 中:
预期的输出将是 - 当指向正确的图像时 - 模型出现。