尝试使用RealityKit构建多人游戏体验。但是,即使我明确设置了所有实体的同步组件,始终都是nil。
dump(entity.synchronization) // nil
entity.synchronization = SynchronizationComponent()
dump(entity.synchronization) // nil
结果,虚拟内容未被共享。我在做什么错了?
答案 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)