VR中物理的网络同步

参考: Networked Physics in Virtual Reality: Networking a stack of cubes with Unity and PhysX

之前做VR游戏时也是尝试了几种物理的同步方案, 最近看到Oculus Blog上也分享了一些, 经验, 做个笔记.

多人VR游戏中的物理交互, 有这么几个要求:

  • 玩家对物体交互不能有延迟
  • 物体能静止后稳定, 不能抖动
  • 玩家把物件扔给另一个玩家交互, 不能有延迟

通常网络模型有三种:

  • 帧同步
  • C/S
  • 分布式模拟

帧同步不适合做物理同步, 因为物理引擎一般不是确定性的, 而且有比较大的延迟 C/S会有延迟和网络带宽的问题 分布式模拟即谁交互谁有拥有控制权, 跟我们在游戏中使用的方式一样

  • 交互者自己的角色相当于Server, 所以没有延迟的问题
  • 一个物体同一时间只能受一个玩家控制, 直到释放权限

物理对象需要同步的数据有:

  • 位置(vector3)
  • 旋转(quaternion)
  • 速度(vector3)
  • 角速度(vector3)

如果要优化网络数据带宽:

  • 静止时不用同步速度和角速度
  • 旋转四元数可以使用smallest three representation
  • 为每个物理设计优先级累加器, 根据优先级排序发送有限的数量
  • 进行delta compression

相比于我们只同步交互状态的做法, 他们这种方式可以保证客户端的一致性, 但是会有更大的带宽需求, 还是比较适合网络条件较好的情况, 对于安全性也没有做校验.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏做全栈攻城狮

Android程序员 安卓7.0的新特性新功能 优化渲染来电

上篇介绍了安卓7.0中的多窗口支持、通知增强及即时编译的新特性。这次文章继续讲解android 7.0的新特性新功能.

11430
来自专栏杨建荣的学习笔记

使用flashback query巧妙抽取指定数据(r5笔记第75天)

在生产环境中存在着大量的数据,和业务是密切相关的。比如系统中的某个业务流程出现了问题,如果想复现就会显得非常困难,甚至是不太可能的,比如电信系统中存在着大量的客...

37390
来自专栏阿杜的世界

开发踩坑经验

10030
来自专栏蓝鸟资源分享网

关于服务器性能的一些思考

平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt,其中load、cpu、mem来衡量机器性能,qps、rt来衡量...

48550
来自专栏大数据

掌握数据处理的新方法!

来自:数据观 https://www.shujuguan.cn/?from=qiehao 一提到数据处理,我们首先想到的就是excel,作为日常必备的办公软件,...

21160
来自专栏蘑菇先生的技术笔记

浅谈分布式计算的开发与实现(二)

279100
来自专栏PPV课数据科学社区

【数据可视化专题】22个免费的数据可视化和分析工具推荐

本文总结推荐22个免费的数据可视化和分析工具。列表如下: ? 数据清理(Data cleaning) 当你分析和可视化数据前,常需要“清理”工作。比如一些输入性...

31950
来自专栏ATYUN订阅号

Facebook推出Spiral:通过实时机器学习自动调节服务

对于使用Facebook的数十亿人来说,我们的服务可能看起来像是一个统一的移动应用程序或网站。公司内部的视角是不同的。Facebook使用数千种服务构建,功能从...

13840
来自专栏蘑菇先生的技术笔记

浅谈分布式计算的开发与实现(二)

接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 ...

7820
来自专栏小白课代表

论文查重,自动生成报告,来看看?

23520

扫码关注云+社区

领取腾讯云代金券