我正在尝试将PUN2支持添加到一个简单的Oculus入门场景(桌子上的多维数据集)。我可以在基本的Photon2设置之上运行官方的Avatar synchronization。
这是当前序列:
玩家1(P1-使用Quest的玩家)创建房间并加入房间
玩家2(P2-使用Unity Player的玩家)加入游戏室
玩家1抓取一个立方体并将其移动
如果P1仅将其水平拖动,则P2看到立方体正常移动,但是如果他试图将其从桌子上抬起,则从P2的角度看,立方体看起来像疯了似的。
看起来立方体在与重力作斗争,但我不确定是怎么回事。您可以在此视频中看到一个示例,其中水平拖动和从表格中抬起之间是交替出现的:https://gofile.io/?c=A9PN41
如果我在立方体上禁用重力,则看起来工作正常(尽管与P1移动对象的方式相比,插值有些慢):https://gofile.io/?c=jM4qEE
重点是我不能在场景中飞来飞去的立方体:)
使用Unity 2019.1 / PUN2 / Oculus Quest
答案 0 :(得分:0)
出于记录,我发现了问题所在,但仍在研究完整的解决方案。当 P1 操作一个对象(使用assign(x[2],s[[2]])
在客户端之间保持同步)时, P2 看到该多维数据集试图在与重力作斗争的同时同步其位置/旋转(创建那奇怪的跳跃行为)。
经过大量研究,我发现了可以解决问题的可行方法:
> assign(x[[1]],s[[1]])
> x
[1] "a" "b" "c" "d"
> a
N1 N2 N3 N4 N5 N6
1 0 1 0 1 1
> assign(x[[2]],s[[2]])
> b
N1 N2 N3 N4 N5 N6
1 0 1 1 1 1
...
(同步速度和角速度)Photon Transform View
这需要在两个客户端(Master / Normal)上进行全面测试,但是到目前为止,结果似乎是有希望的。