最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

第7章 游戏开发的核心——Box2D物理引擎[共98页]

IT圈 admin 32浏览 0评论

2024年6月4日发(作者:殳绮烟)

第7章 游戏开发的核心——

Box2D物理引擎

汽车引擎是汽车的心脏,其决定了汽车的性能和稳定性,是人们在购车时最关注的。而游戏

中物理引擎就如汽车的引擎一样,占据了非常重要的位置。一款好的物理引擎可以非常真实地模

拟现实世界,使得游戏更加逼真,提供更好的娱乐体验。

7.1 物理引擎很重要

经过前面章节的学习,读者可能对物理引擎已经有所了解,但那是远远不够的。本节将为读

者简单介绍物理引擎的一些基本概念。

7.1.1 什么是物理引擎

物理引擎通过给物体赋予真实的物理属性来模拟物体的运动,包括碰撞、移动、旋转等。并

不是所有的游戏都必须使用独立的物理引擎,一些简单游戏的物理功能可以通过自行开发碰撞检

测及实现力学公式来实现对刚体及质点的模拟,就像前面的某些案例。

当游戏需要实现比较复杂的刚体碰撞、滚动或者弹跳时,通过全部自行编程的方式实现就非

常困难,成本也很高。遇到这种情况时就可以使用独立的物理引擎来模拟物体的运动,使用物理

引擎不仅可以得到更加真实的结果,对于开发人员来说也比自行开发要耗时短、效率高。

一款好的物理引擎不仅会帮助实现碰撞检测、力学公式模拟,而且还会提供很多机械结构的

实现,如滑轮、齿轮、铰链等。这些主要是通过关节来实现的,详细内容在后续部分进行介绍。

更高级的物理引擎不但可以提供刚体的模拟,甚至还可以提供软件及流体的模拟,这些都能帮助

游戏大大提升真实感和吸引力。

7.1.2 常见的物理引擎

市面上存在的物理引擎数量是很多的,著名的物理引擎有Havok、Bullet、PhysX、ODE及

Box2D等。其中ODE、Bullet、Box2D是开源的物理引擎,而PhysX的前身是Novodex,当被

Ageia收购之后改名为PhysX,是一款可以免费用于非商业用途的引擎,商业用途及源代码需要

付费,Havok在许可方面也是如此。上述几种物理引擎的基本信息如表7-1所列。

表7-1

物理引擎名称

持有公司/人员

是否开源

是否支持C/C++

最新版本

文档情况

知名物理引擎的基本信息

Havok PhysX Bullet Box2D ODE

Intel Nvidia AMD Erin Catto

5.5

详细

2.3

尚可

Russell Smith

2.1

一般

9.13.1220 2.82

详细 尚可

7.1 物理引擎很重要

提示

三大3D物理引擎为Havok、PhysX和Bullet。另外2008年2月4日,NVIDIA

成功收购AGEIA,支援CUDA技术的显卡,就可以启动硬件PhysX加速。

y

Havok

Havok成立于1998年,总部位于都柏林。在2000年游戏开发者大会上发布了Havok 1.0,最

新版本为Havok 5.5,该引擎基于C/C++。2007年9月,Intel宣布成功收购Havok。之后,Intel

宣布Havok引擎开放源代码,并允许游戏开发人员免费用于非商业用途。

因为Havok全面为多线程与多平台优化,所以Havok对各种先进的游戏平台提供了全面的支

持,其中包括XBOX360数字游戏娱乐系统、PlayStation3娱乐系统、Windows系列、iOS,以及

Mac OS与Linux等顶尖的平台。另外2011年3月6日,Intel宣布Havok引擎开始支持Android

平台。

由于Havok的开放性和不依赖于特定硬件的特点,很多大型游戏均使用Havok引擎。其中著

名的有“星际争霸2”、“暗黑破坏神3”等,效果分别如图7-1和图7-2所示。

图7-1 星级争霸2 图7-2 暗黑破坏神3

y

PhysX

PhysX不仅可以由CPU计算,而且其程序本身在设计上可以使用独立的浮点处理器来计算(如

PhysX技术可利用GPU的处理能力来执行复杂的物理特效计算)。正是由于这个原因,其可以非

常轻松地完成像流体力学那样计算量非常大的物理模拟计算。该引擎可以在Windows、Linux、

XBOX360、Playstation3,以及Mac等多种平台上运行。

“无知之地2”以及“地铁:最后光芒”等流行游戏均采用PhysX技术。该技术可为游戏带来

充满动感的爆炸、撞击破坏效果、基于粒子的流体效果及逼真的动画,令游戏场景仿真度极高,

给玩家身临其境的感觉。脍炙人口的游戏“雪域危机”和“虚幻竞技场3”采用的就是PhysX引

擎,其运行效果如图7-3和图7-4所示。

图7-3 雪域危机 图7-4 虚幻竞技场3

287

2024年6月4日发(作者:殳绮烟)

第7章 游戏开发的核心——

Box2D物理引擎

汽车引擎是汽车的心脏,其决定了汽车的性能和稳定性,是人们在购车时最关注的。而游戏

中物理引擎就如汽车的引擎一样,占据了非常重要的位置。一款好的物理引擎可以非常真实地模

拟现实世界,使得游戏更加逼真,提供更好的娱乐体验。

7.1 物理引擎很重要

经过前面章节的学习,读者可能对物理引擎已经有所了解,但那是远远不够的。本节将为读

者简单介绍物理引擎的一些基本概念。

7.1.1 什么是物理引擎

物理引擎通过给物体赋予真实的物理属性来模拟物体的运动,包括碰撞、移动、旋转等。并

不是所有的游戏都必须使用独立的物理引擎,一些简单游戏的物理功能可以通过自行开发碰撞检

测及实现力学公式来实现对刚体及质点的模拟,就像前面的某些案例。

当游戏需要实现比较复杂的刚体碰撞、滚动或者弹跳时,通过全部自行编程的方式实现就非

常困难,成本也很高。遇到这种情况时就可以使用独立的物理引擎来模拟物体的运动,使用物理

引擎不仅可以得到更加真实的结果,对于开发人员来说也比自行开发要耗时短、效率高。

一款好的物理引擎不仅会帮助实现碰撞检测、力学公式模拟,而且还会提供很多机械结构的

实现,如滑轮、齿轮、铰链等。这些主要是通过关节来实现的,详细内容在后续部分进行介绍。

更高级的物理引擎不但可以提供刚体的模拟,甚至还可以提供软件及流体的模拟,这些都能帮助

游戏大大提升真实感和吸引力。

7.1.2 常见的物理引擎

市面上存在的物理引擎数量是很多的,著名的物理引擎有Havok、Bullet、PhysX、ODE及

Box2D等。其中ODE、Bullet、Box2D是开源的物理引擎,而PhysX的前身是Novodex,当被

Ageia收购之后改名为PhysX,是一款可以免费用于非商业用途的引擎,商业用途及源代码需要

付费,Havok在许可方面也是如此。上述几种物理引擎的基本信息如表7-1所列。

表7-1

物理引擎名称

持有公司/人员

是否开源

是否支持C/C++

最新版本

文档情况

知名物理引擎的基本信息

Havok PhysX Bullet Box2D ODE

Intel Nvidia AMD Erin Catto

5.5

详细

2.3

尚可

Russell Smith

2.1

一般

9.13.1220 2.82

详细 尚可

7.1 物理引擎很重要

提示

三大3D物理引擎为Havok、PhysX和Bullet。另外2008年2月4日,NVIDIA

成功收购AGEIA,支援CUDA技术的显卡,就可以启动硬件PhysX加速。

y

Havok

Havok成立于1998年,总部位于都柏林。在2000年游戏开发者大会上发布了Havok 1.0,最

新版本为Havok 5.5,该引擎基于C/C++。2007年9月,Intel宣布成功收购Havok。之后,Intel

宣布Havok引擎开放源代码,并允许游戏开发人员免费用于非商业用途。

因为Havok全面为多线程与多平台优化,所以Havok对各种先进的游戏平台提供了全面的支

持,其中包括XBOX360数字游戏娱乐系统、PlayStation3娱乐系统、Windows系列、iOS,以及

Mac OS与Linux等顶尖的平台。另外2011年3月6日,Intel宣布Havok引擎开始支持Android

平台。

由于Havok的开放性和不依赖于特定硬件的特点,很多大型游戏均使用Havok引擎。其中著

名的有“星际争霸2”、“暗黑破坏神3”等,效果分别如图7-1和图7-2所示。

图7-1 星级争霸2 图7-2 暗黑破坏神3

y

PhysX

PhysX不仅可以由CPU计算,而且其程序本身在设计上可以使用独立的浮点处理器来计算(如

PhysX技术可利用GPU的处理能力来执行复杂的物理特效计算)。正是由于这个原因,其可以非

常轻松地完成像流体力学那样计算量非常大的物理模拟计算。该引擎可以在Windows、Linux、

XBOX360、Playstation3,以及Mac等多种平台上运行。

“无知之地2”以及“地铁:最后光芒”等流行游戏均采用PhysX技术。该技术可为游戏带来

充满动感的爆炸、撞击破坏效果、基于粒子的流体效果及逼真的动画,令游戏场景仿真度极高,

给玩家身临其境的感觉。脍炙人口的游戏“雪域危机”和“虚幻竞技场3”采用的就是PhysX引

擎,其运行效果如图7-3和图7-4所示。

图7-3 雪域危机 图7-4 虚幻竞技场3

287

发布评论

评论列表 (0)

  1. 暂无评论