我正在尝试使用 RealityKit 和 MultipeerConnectivity 框架制作一个简单的协作应用程序,其中所有用户都可以与同一实体进行交互。我有一个简单的 RealityComposer.reality
文件,其中有一个立方体,每次用户点击它时都会跳起来。
到目前为止,设置多点连接并从.reality
文件中加载实体工作正常。
但是我真的不明白如何为会话中的每个用户管理场景中只有一个立方体。
我尝试了什么:
将 Tap Gesture 添加到 arView 以创建 ARKit 的 ARAnchor(与所有对等点同步)。添加锚后,我禁用手势识别器。
在
didUpdateAnchor
委托函数中,我正在寻找这个锚点(一旦锚点同步,就会在所有对等点上调用它),为此锚点创建一个 AnchorEntity,将其添加到场景中,从现实文件中加载实体并将其添加为子项EntityAnchor 的。如果我这样做,每个对等方似乎都创建了一个立方体,并且我在场景中看到两个或更多立方体。
如何在每个对等点上为同步的 ARAnchor 加载模型(如网格、声音等)并告诉ARKit
/RealityKit
这个和同一个虚拟对象?