问题标签 [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.
swift - RealityKit – 什么是“steelBox”实例加载?
当您使用标准 Xcode 模板创建增强现实项目时,Xcode 会将此swift
文件添加到您的项目中:
让我们关注代码的最后一部分
这部分显然是在加载立方体,从标准中命名为“钢盒” Experience.rcproject
。但是如果我将此字符串重命名为不在场景中的任何随机名称,立方体仍然可以正常加载,项目也是如此......并且在初始化期间调用此方法!
这是为什么?这真正加载的是什么?
swift - RealityKit – 从同一个 Reality Composer 项目中加载另一个场景
我使用 Xcode 的模板创建了一个增强现实项目。
Xcode 创建一个名为Experience.rcproject
.
该项目包含一个名为 的场景Box
和一个名为 的立方体Steel Cube
。
我在、和Experience.rcproject
中添加了 3 个场景 。alpha
bravo
delta
我运行这个项目。
Xcode 运行这两行
这些行从 Experience 文件加载 Box 场景。
加载此场景后,如何切换到另一个场景alpha
,bravo
或者delta
无需加载整个场景?
realitykit - 我想 addChild RealityComposer 创建的实体
我正在将 addChild 添加到一个自定义类,该类继承了我使用 RealityComposer 创建的实体,但该实体没有放置在点击位置,而是显示在屏幕中央。
我正在使用Apple 的协作会话创建的官方示例,并且到目前为止我已经完成了它。(它不使用 RealityComposer。)
例如,点击实体会将其放置在该位置。
但是,当我将实体添加到场景中时,例如作为由 RealityComposer 创建的实体的 addChild 的容器,它总是出现在中间。
我的猜测是这是因为使用 RealityComposer 创建的实体不符合 HasModel。
在这段代码中,实体始终位于屏幕的中心(我已经创建了一个 QRScene.rcproject。)
但是,此代码将其放置在正确的位置。
使用的扩展
我不认为这是最好的方法。
AddChild 是在保留层次关系的同时添加整个实体的更好方法。此模型分配只能添加顶层层次结构中的模型,因此它不会添加显示所需的其他模型。
如何使用 addChild 让 RealityComposer 创建的实体出现在正确的位置?
ps 2020/07/03
准确地说,当您点击 Device1 时,Entity 出现在中心,而 Device2 显示 Entity 异步居中,无论相机指向何处。
它不是由 RealityComposer 创建的实体,而是使用这样的代码,它可以工作。
augmented-reality - 在 SceneKit 中从 ImageAnchor 播放 3d 音频
我假设 Reality Composer 文件在导入 Xcode 时将没有我希望在 SceneKit 中可用的 3d 音频控件。
所以我假设我需要添加 aSCNAudioSource
或者ARImageAnchor
我可以使用 Reality Composer 的锚点吗?
swift - 如何将我自己的 Reality Composer 场景加载到 RealityKit 中?
我在Experience.rcproject
文件中创建了 3 个“场景”,它们是在您使用 xcode 启动新的增强现实项目时创建的。
经常为 3D 工作,我会说这些是场景中的 3 个对象,但在里面Experience.rcproject
我添加了 3 个“场景”。在每个内部,相同的 3D 模型。第一个连接到水平平面,第二个连接到垂直平面,第三个连接到图像。
我第一次使用 Reality Kit 并一路学习。
我这样做的想法是在我想将它附加到水平、垂直或图像时加载正确的对象。
这就是我实现这一目标的方式。
我修改Experience.swift
了 Apple 提供的文件以接受场景名称,如下所示:
我叫这条线
无论我想要什么,但我必须使用这段代码:
这段代码很愚蠢,我相信有更好的方法。
有什么想法吗?
swift - 如何从 AnchoringComponent.Target 创建 ARReferenceImage
我遇到了一个错误,似乎从未找到 AnchorEntity 的目标。
例如:我在 Reality Composer 中将水平面设置为触发器。一旦我运行该项目,有时(并非总是)它永远不会检测到飞机。就像飞机检测没有运行一样。
我的解决方案是使用基于 AnchorEntity 中的目标的配置运行会话。问题是我无法使用检测图像运行会话,因为我从目标.image
案例中收到的只是名称和组。我无法ARReferenceImages
使用该数据进行初始化。
swift - 这个 RealityKit 的东西是构思不好还是我错过了什么?
我正在尝试使用 Reality Kit 玩增强现实。
我想让我的程序执行以下操作之一,用户可选择:
- 仅检测水平表面。
- 仅检测垂直表面。
- 检测水平和垂直表面。
- 检测图像,例如打印目标,附加到现实世界中的对象,然后应用程序检测到它。
据我所知,为了做到这一点,我需要调整三件事:
ARWorldTrackingConfiguration
做类似的事情
在 Experience.rcproject 中创建场景
一种用于我需要的锚定类型。我创建了三个具有以下锚类型的“场景” horizontal
:vertical
和image
。
创建一个 ARCoachingOverlayView
指导用户使检测正常工作。
这些是问题:
ARWorldTrackingConfiguration
planeDetection
:horizontal
或.只有两个选项vertical
。里面的场景
Experience.rcproject
,只能是 3 种:horizontal
,vertical
或image
。的选项
ARCoachingOverlayView.goal
是:(tracking
如果没有适当的文档很难弄清楚)horizontalPlane
,verticalPlane
和anyPlane
。
问题:
如何配置
ARWorldTrackingConfiguration
并使ARCoachingOverlayView.goal
应用程序仅检测horizontal
,vertical
仅检测,horizontal and vertical
如果images
它们没有所有这四个选项?我有 3 个场景,一个用于
Experience.rcproject
,一个用于检测,一个用于检测。那是怎么做的?horizontal
vertical
image