网路游戏之物理模拟

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

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

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

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

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

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

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

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

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

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

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

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

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






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

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

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

【VC++游戏开发#七】2D篇 —— 物理建模(二) 重力模拟:让愤怒的小鸟来感受一次自由落体运动

本文由BlueCoder编写 转载请说明出处: http://blog.csdn.net/crocodile__/article/details/16887511 我的邮箱:bluecoder...

html5移动开发制作基于模拟现实物理效果的游戏

html5移动开发制作基于模拟现实物理效果的游戏 简介 HTML5技术为现今Web应用程序在浏览器中提供了非常广阔的发挥空间,其强大的功能让我们在浏览器上开发游戏和玩游戏不再是难事。利用Canva...

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

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

用JavaScript玩转游戏物理(一)运动学模拟与粒子系统

系列简介 也许,三百年前的艾萨克·牛顿爵士(Sir Issac Newton, 1643-1727)并没幻想过,物理学广泛地应用在今天许多游戏、动画中。为什么在这些应用中要使用物理学?笔者认为,...

pygame 游戏开发 基础物理建模 重力系统模拟

游戏嘛,肯定有很多地方都与物理相关,所以需要物理建模来模拟相关的物理定律。于是乎,我就找到了一篇c++的重力系统模拟的文章(http://blog.csdn.net/poem_qianmo/artic...
  • vhghhd
  • vhghhd
  • 2013年08月29日 22:22
  • 942

基于JBox2D物理引擎开发的“雷电”小游戏(三)——模拟并显示世界

上一篇文章里讲到了如何创建世界及其边界,这次我将给大家讲讲如何模拟这个世界。什么是模拟世界虽然我们创建世界以及作为边界的刚体,但是这个世界是需要我们不断的去计算各个刚体的状态如速度、加速度、受力情况等...

pygame 游戏开发 基础物理建模 摩擦力系统模拟

OK,我们继续改一下c++的摩擦力系统模拟         摩擦力是两个表面接触的物体相互运动时互相施加的一种物理力。广义地物体在液体和气体中运动时也受到摩擦力。摩擦力可谓无处不在,为了模拟出与现...
  • vhghhd
  • vhghhd
  • 2013年08月30日 09:46
  • 906

用JavaScript玩转游戏物理(一)运动学模拟与粒子系统

// Framework.js var canvas, ctx, isContinue, timeoutID; function start(canvasName, func) { ...
  • mypongo
  • mypongo
  • 2014年08月05日 17:34
  • 718

用JavaScript玩转游戏物理(一)运动学模拟与粒子系统

用JavaScript玩转游戏物理(一)运动学模拟与粒子系统 2010-06-14 16:19 by Milo Yip, 28245 阅读, 78 评论, 收藏, 编辑 系列简介 也...
  • pi9nc
  • pi9nc
  • 2013年07月30日 20:09
  • 1102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网路游戏之物理模拟
举报原因:
原因补充:

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