问题标签 [reality-composer]

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 回答
938 浏览

swift - 如何在 RealityKit 中访问 Reality Composer 的模型组件?

我正在尝试在我的代码中更改在 Reality Composer 中创建的文本实体的模型组件,但这是!将 gui 创建的实体转换为对具有模型组件的实体的引用失败。

RealityKit 中的文本实体应该具有模型属性,因为它在 ARView 中具有视觉外观,但我不知道如何访问它。有谁知道怎么做?

有没有其他简单的方法可以使用RealityKit/在同一位置动态显示不同的文本Reality Composer

0 投票
0 回答
192 浏览

ios - 构建中的“不支持的 swift 版本”(ARKit + Reality Composer)

我是 swift 的初学者,并开始使用 Reality Composer 和 ARkit3 创建图像跟踪 AR 应用程序。

我正在尝试将 Reality Composer 制作的场景添加到下面的示例中。 https://developer.apple.com/documentation/arkit/detecting_images_in_an_ar_experience

在我的Xcode项目中拖拽.rcproject文件,在下面添加代码,但是出现错误。

堆栈跟踪如下;

我看到了以下解决方案并修复了 Swift 编译器语言,但没有奏效。
如何修复 Xcode 10.2 中的“SWIFT_VERSION '3.0' 不受支持,支持的版本为:4.0、4.2、5.0”错误?

我应该怎么做才能修复它?

Xcode 版本:11.3.1 (11C504)

0 投票
1 回答
810 浏览

swift - Reality Composer 中创建的“行为”存储在 .rcproject 中的什么位置?

情况

我正在 xcode (11.3.1) 中制作 AR 应用程序。我已经使用现实作曲家将对象(例如立方体)添加到场景中,并向这些对象添加了行为(即点击和翻转并查看相机),也使用现实作曲家。保存,切换到ViewController.swift

在 ViewController 中,我通过编写加载Experience.rcproject并访问默认场景。一切都按预期工作。Boxvar box = try! Experience.loadBox()

然后我打印层次结构中的各种对象以了解它们是如何构造的。因此,例如,我将编写并查看此处print(box)描述的所有实体和组件

问题

我可以看到诸如Transform位置等以及ModelComponent网格、材料等的内容,这一切都很有意义,但我看不到 .rcproject 快速变为对象的行为存储在何处。

例如,如果我look at camera在现实作曲家中添加了一个行为,我的假设是该对象会附加一个类似于“广告牌”组件的东西,但我看不出应用了行为的对象和那些应用了行为的对象之间有任何区别那不..

另一个例子是,添加tap and flip到对象后,我希望在对象中的某处找到一些动画信息,但我还是看不到它附加到对象上。我也无法在场景对象的任何位置看到任何动画信息或行为组件。

有没有地方知道我在哪里可以访问这些?似乎有一些东西被box调用actions但打印只是返回Experience.Box.Actions而没有更多信息。

我找错地方了吗?还是这些没有暴露?

0 投票
1 回答
378 浏览

ios - ARKit - 在现实作曲家中以编程方式添加“广告牌”(看相机)元素

我正在使用 Xcode (11.3.1) 使用 ARKit 制作 AR 应用程序。我在 Reality Composer 中添加对象、文本等。然后我可以通过将场景和对象加载到ViewController.swift.

我想让这些物体中的一些不断面对相机。

我知道我可以在 Reality Composer 中添加一个观察相机的“行为”,但我不想这样做有两个原因;

a)它只允许您以这样的方式添加效果持续一定时间(最多 5 分钟)

b)我想知道如何以编程方式执行此操作。

我知道这里提供了一系列 ARKit 中的广告牌解决方案,其中大部分都包含在这个问题的答案中,但所有这些解决方案都涉及使用 SceneKit。

因此,我的问题是——是否可以在不使用 SceneKit 的情况下实现这种“广告牌”效果?有没有办法只在 RealityKit 中做到这一点?似乎有,因为您可以通过使用 Reality Composer 将其添加为行为来包含此效果(据我所知,它不需要 SceneKit,但我可能是错的)。我试图深入研究 Reality Composer 场景以了解广告牌是如何在那里实现的,但您可以在对上一个问题的回复中看到“行为”没有暴露,所以我看不出这是如何实现的。

我的“从头开始”的方法是了解相机的位置/旋转,但我太缺乏经验,不知道从哪里开始。本质上,我正在寻找相当于SCNBillboardConstraint但不使用 SceneKit,也许那是不可能的?

0 投票
1 回答
738 浏览

swift - Reality Composer - ar hittest 不工作?

好吧,我正在通过https://developer.apple.com/videos/play/wwdc2019/609/提供的 RealityComposer 游戏进行除草,并试图弄清楚如何让实体在用户点击的地方移动。

我可以像这样在 .rc 场景中引用我的对象:

我知道这涉及到某种形式的 arhitest,但是我得到了以下错误:

UIView最后没有成员?

我很迷茫,不知道我是否正确地处理了这件事。我在 ARKit 中引用Detect touch on SCNNode但这不涉及 RealityComposer。

我怎样才能做到这一点?

0 投票
0 回答
162 浏览

ios - 在 Swift Playgrounds 中使用 Reality Composer 项目文件

据我所知,Reality Composer Projects 文件.rcproject通常与所有其他源文件一起放在 Xcode 项目中,然后可以简单地通过其名称来引用该项目:

在此处输入图像描述

例如,let boxAnchor = try! Prototyping.loadNameOfScene()只需从.rcproject名为“原型”的场景加载场景。

然而,在 Swift Playgrounds 中,将.rcprojectjust 放在文件夹中时似乎会被忽略resources,而当放在sources文件夹中时,会导致 iPad Playground 抛出编译错误。由于 Xcode 无法运行 AR,因此必须在 iPad 上运行 Playground。无论发生什么,同一行let boxAnchor = try! Prototyping.loadNameOfScene()现在都会引发错误,因为未识别“原型”。

有什么方法可以.rcproject在 Swift Playground 中使用吗?

0 投票
1 回答
1010 浏览

swift - Reality Composer - 不同场景实体之间的自定义碰撞

我对 RealityKit 和 ARKit 很陌生。我在 Reality Composer 中有两个场景,一个带有书籍图像锚点,一个带有水平平面锚点。第一个带有图像锚点的场景顶部有一个立方体,第二个构建在水平面上的场景有两个环。所有物体都有固定的碰撞。我想在环和立方体接触时运行动画。我在 Reality Composer 中找不到执行此操作的方法,因此我在代码中进行了两次尝试,但均无济于事。(我打印“碰撞开始”只是为了测试没有动画的碰撞代码)不幸的是,它没有用。将不胜感激这方面的帮助。

尝试#1:

尝试#2

0 投票
1 回答
592 浏览

swift - 有没有一种将 RealityKit 实现到 Swift 游乐场的好方法?

我希望能够将在 Reality Composer 中创建的文件添加到 Swift Playground 以进行测试。我也认为作为剧本的补充会很有趣。如何将 rcproject 添加到 Playground 中,例如 Apple 提供的带有场景“Box”的 Experience.rcproject?

0 投票
1 回答
435 浏览

arkit - 从 Xcode 加载后移动 Reality Composer 实体?

我已经使用 Reality Composer 构建了一个 AR 场景,该场景目前有一个对象(据我所知,这是一个实体)。使用 Xcode,我正在加载这个 Reality Composer 场景,它按预期运行。但是,我希望我的用户能够缩放或移动对象,同时仍保留我的所有动画和 Reality Composer 设置。

我正在使用此代码加载我的对象;

我试图实现传统的UIPinchGestureRecognizerUITapGestureRecognizer但无济于事。我确实看到了诸如此类的选项EntityScaleGestureRecognizer,尽管我还没有弄清楚如何相应地实现它。我确实从一些阅读中看到,我的“实体”需要符合hasCollision,但似乎我可能遗漏了一些东西,因为我认为 Reality Composer 必须提供某种交互功能,因为它构建 AR 体验的简单性.

谢谢!

0 投票
1 回答
1029 浏览

swift - 如何在 RealityKit 中旋转实体而不复制它?

我正在使用以下代码旋转从 Reality Composer 加载的实体。我希望球体会简单地旋转。但是,我留下了新的旋转实体和旧实体。以为这很简单。

我该怎么做才能旋转实体而不复制它?