返回项目
大空间多人联机 MR
案例拆解

大空间多人联机 MR

从 SpatialXR 视频课程整理的研究型案例:共址(colocation)多人 MR 的核心难题——多台头显各自的本地坐标系如何经空间锚 + 空间对齐收敛到同一个共享 origin,再叠加玩家 / 物体状态同步。联机 Netcode SDK 来自视频、未核实。非已上线 Unity 应用。

Spatial AnchorsColocationSpatial AlignmentPicoMultiplayerUnity

这是一篇研究型案例,材料来自 SpatialXR(广州虚境起源)的「VR-MR 大空间多人联机」Unity 视频课程。课程是纯视频(.sz 即改名 MP4、无字幕)+ 加密 RAR 素材,因此这里梳理的是文档化的共址联机管线不是一个跑得起来的 Unity 应用联机所用的 Netcode SDK 在可读材料里没有点名(视频课程,未核实)。

共址 MR 最难的一步:让多台头显认同同一个坐标系

单机 VR 不存在这个问题,但只要两个人在同一个物理空间里看同一份虚拟内容,立刻就要解决:每台头显开机时都建立自己的本地坐标系,两个 origin 不重合、朝向也不一致。如果不对齐,A 看到的桌子在左边,B 看到的就在右边——共享体验直接崩。

课程文档化的管线把这件事拆成清晰的几步:

空间锚(spatial anchors)
  └─> 空间对齐(spatial alignment)  ← 多台头显收敛到同一个共享 origin
        └─> 联机房间(networked room)
              └─> 玩家 + 可交互物体 状态同步(state sync)
                    └─> 公网中继(public-internet relay)

目标平台是 Pico(含企业级大空间场景)。

13 课时序列(来自课程结构)

#课时在管线里的位置
1环境搭建工程基线
2房间联机房间
3玩家数据同步state sync(玩家)
4可交互物体同步state sync(物体)
5复杂交互同步state sync(复杂)
6锚 + 对齐原理colocation 原理
7对齐实现spatial alignment
8公网联机public-net relay
9Pico MR平台适配
10手势适配输入适配
11Pico 锚平台空间锚

课程把"原理"(第 6 课)和"实现"(第 7 课)分开讲——先讲清为什么需要把多个本地系吸附到一个共享 origin,再讲怎么落地。这正是共址 MR 的认知重点。

对齐前 vs 对齐后(Demo 复演的核心)

  • 对齐前:两台头显各在自己的本地系。同一个被抓物体,A 算出来在一个位置,B 算出来在另一个位置(Demo 里画成虚线"幽灵框")。
  • 对齐后:空间对齐把两个本地系吸附到同一个共享 origin。此后所有 avatar 和共享物体都在同一坐标系里——A、B 对位置达成一致,状态同步才有意义。

互动 Demo 用俯视平面图复演这一步:两台头显先各有独立坐标轴 → 扫描放置空间锚 → "对齐"一步把 B 的坐标轴吸附到 A 的共享 origin → avatar 和共享被抓物体跨端位置随之一致。

关于 Netcode:诚实标注未核实

共址 MR 一旦对齐完成,剩下的就是经典的网络状态同步(玩家位姿、物体 transform、复杂交互),并走公网中继让不在同一局域网的人也能联机。但具体用的是哪个 Netcode SDK,在我能读到的材料(3 份 PDF)里没有点名——其余都是无字幕视频和加密 RAR。所以这里只把它标成"未核实,来自视频",不臆测具体框架名。

价值点

  • 共址 / 共享坐标系:理解为什么"多台头显认同同一个 origin"是 XR 最难的问题之一,以及空间锚 → 空间对齐这条收敛路径
  • 状态同步分层:玩家数据 / 可交互物体 / 复杂交互逐级同步,而不是一锅端
  • 平台落地:Pico 大空间(含企业级)+ 手势适配 + Pico 空间锚的具体适配点
  • 资深信号 + 诚实边界:共址是高级 XR 工程问题;同时明确这是从纯视频课程整理的研究复演,且 Netcode SDK 未核实——不编造
Demo strategy

Demo 真实材料对应

互动 Demo 用俯视平面图复演课程文档里的共址管线:两台头显独立本地系 → 空间锚扫描 → 空间对齐把两个系吸附到同一共享 origin → avatar 和共享被抓物体跨端位置一致。管线步骤(spatial anchors / spatial alignment / state sync / public-net relay)和 Pico 大空间目标取自课程结构。这是从纯视频课程(无可运行 Unity 工程)整理的研究复演,不是已上线应用;联机 Netcode SDK 来自视频、未核实。

Public preview can be enabled later without redesigning the case-study layout