尝试使用 RealityKit 构建多人游戏体验。但是所有实体的同步组件总是nil
即使我明确设置它。
dump(entity.synchronization) // nil
entity.synchronization = SynchronizationComponent()
dump(entity.synchronization) // nil
结果,虚拟内容不被共享。我做错了什么?
尝试使用 RealityKit 构建多人游戏体验。但是所有实体的同步组件总是nil
即使我明确设置它。
dump(entity.synchronization) // nil
entity.synchronization = SynchronizationComponent()
dump(entity.synchronization) // nil
结果,虚拟内容不被共享。我做错了什么?
看起来,首先,您需要一个服务 (
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)