RealityKit实体同步始终为零

时间:2019-11-23 13:04:53

标签: swift synchronization realitykit

尝试使用RealityKit构建多人游戏体验。但是,即使我明确设置了所有实体的同步组件,始终都是nil。

dump(entity.synchronization) // nil
entity.synchronization = SynchronizationComponent()
dump(entity.synchronization) // nil

结果,虚拟内容未被共享。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

似乎,起初,您需要一种服务(MultipeerConnectivityService),该服务提供多点连接会话(MCSession)中所有对等点之间的场景同步。这样:

import ARKit
import RealityKit
import MultipeerConnectivity

let mcPeerID = MCPeerID(displayName: UIDevice.current.name)

let session = MCSession(peer: mcPeerID, 
            securityIdentity: nil, 
        encryptionPreference: .required)

arView.scene.synchronizationService = 
                             try? MultipeerConnectivityService(session: session)


而且,我想,您打开了isCollaborationEnabled实例属性,可以选择加入对等多用户AR体验:

let collabConfig = ARWorldTrackingConfiguration()
collabConfig.isCollaborationEnabled = true
arView.session.run(collabConfig)