网路游戏之物理模拟

原创 2017年07月24日 11:41:20

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。

CSDN视频网址:http://edu.csdn.net/lecturer/144

目前市面上的网络游戏,竞技游戏逐渐成为主流,这样也就出现了大家经常热议的帧同步策略,本博客将做一个系列文章分别介绍:帧同步,快速插值,状态同步等。游戏中的物理模拟一直是同步中的难点,本篇博客先给读者介绍几个物理碰撞的案例,然后在后面的系列文章中给读者提供解决方案。

为了能让读者更好的理解同步策略,我们将花点时间探索一下网络的物理模拟,在这里我已经在开源物理引擎ODE(官方网站:http://www.ode.org)中设置了一个立方体的简单模拟, 玩家通过在其质心中施加力量来移动, 物理模拟采用这种线性运动,并且当立方体与地面碰撞时计算摩擦力,引起滚动和翻滚运动,这些运动我们在后面的系列文章中会用不同的同步策略去模拟它的物理表现。先看如下的效果图:

这就是为什么我选择一个立方体而不是一个球体我想要这种复杂的,不可预测的动作,因为刚体通常根据其形状方式移动。

当玩家与其他物理模拟对象进行交互时,特别是当这些物体推回并影响运动时,网络物理学将变得非常有趣。所以让我们添加一些更多的立方体进行模拟:

当玩家与立方体集进行交互时,会变成红色当这个立方体停止时,它变成灰色(不相互作用)。再给读者看一幅图:

你可以看到,互动不仅仅是直接的, 由玩家推送的红色立方体也会转动其他立方体,通过这种方式,互动可以覆盖所有受影响的立方体对象。

我也想要一个非常复杂的运动,在玩家和非玩家的立方体之间,它们成为一个系统:一组刚体通过约束连接在一起。为了实现这一点,

我认为如果玩家可以滚动并创建一个立方体的球,效果如下所示:

玩家的一定距离内的立方体具有向立方体中心施加力以使这些立方体保持一个物理模拟。

       如果在网络中模拟这些物理效果是有一定困难的,但是我们可以使用不同的网络同步方式模拟出上面的物理效果并且做到不同玩家的同步。我们将在后面的系列文章中给读者介绍网络物理模拟实现方案。。。。。。。。






版权声明:本文为博主原创文章,未经博主允许不得转载。

网络物理模拟(三):具有确定性的帧同步

翻译:张乾光(星际迷航) 审校:陈敬凤(nunu) 大家好,我是格伦·菲德勒。欢迎大家阅读系列教程《网络物理仿真》,这个系列教程的目的是将物理仿真的状态通过网络进行广播。 在之前的文章中,我们...
  • u014659211
  • u014659211
  • 2017年02月13日 11:46
  • 936

网络游戏之帧同步物理模拟

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等...
  • jxw167
  • jxw167
  • 2017年07月25日 19:36
  • 913

【CG物理模拟系列】弹性体模拟--Mass Spring及绳子模拟

变形体中,变形后能恢复原状的物体称为弹性体,这种物理现象称为弹性变形;反之,发生变形后形状不能恢复的变形称为塑性变形,如黏土。通常的物体都会有弹性体和塑性体两种性质,一定力下发成弹性变形后能恢复原状,...
  • Knight_Lyh
  • Knight_Lyh
  • 2016年06月07日 16:40
  • 952

【CG物理模拟系列】开篇:介绍(上)

本科时候学过游戏制作,经常使用过unity,cocos2d,unreal等游戏引擎,也学过一些计算机图形学知识(模型处理方向)。那时候觉得游戏制作还蛮简单的,只要有精美贴图,好模型,加上一些剧情,以及...
  • Knight_Lyh
  • Knight_Lyh
  • 2016年03月16日 17:44
  • 1262

网路游戏之物理模拟

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等...
  • jxw167
  • jxw167
  • 2017年07月24日 11:41
  • 1838

使用Bullet的简单物理模拟

  • 2017年05月24日 16:03
  • 1.72MB
  • 下载

周笔记(12/52) - 过一下《游戏物理引擎开发》的书。。。

老实说……看书的吃力程度……令我想起了那年被普物虐的恐怖……但是更恐怖的是,其实我知道这些本不应该很难理解的…… 所以,怎么说呢,自强吧~ 两个无转动的碰撞的计算可以抽象为如下问题:两个物体质量...
  • YgritteSnow
  • YgritteSnow
  • 2017年03月23日 10:21
  • 541

OpenGL进阶(五) - 物理模拟

今天要实现的是利用OpenGL模拟三个物理学中常见的运动:自由落体,匀速之间,弹簧振子。 首先要实现一个空间三维向量类,看这篇文章:向量类的实现 然后主要要实现的是质点类, /* Copyright...
  • qp120291570
  • qp120291570
  • 2012年12月21日 11:49
  • 6279

物理运动模拟引擎

[from:http://www.gaoang.com/]Phun源自于瑞典UMU大学硕士生的毕业论文,可以模拟物体的各种物理运动规律。使用者可以通过鼠标绘图来创建物体,并让物体实验重力、摩擦力、弹力...
  • ramacess
  • ramacess
  • 2008年05月31日 23:08
  • 1036

CodeTyphon32中自带例子源码:物理定律的模拟演示,太逼真

=========================== gr32_cloth 一块抖动的布,弹性大,振幅逐渐缩小,参数可调 ======================== gl_PingP...
  • bq_cui
  • bq_cui
  • 2015年11月11日 23:07
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网路游戏之物理模拟
举报原因:
原因补充:

(最多只允许输入30个字)