开源的物理引擎_开源物理引擎

开源的物理引擎

物理引擎是用于创建虚拟环境的模拟器,该虚拟环境融合了来自物理世界的定律。 除了对象之间的相互作用(例如,碰撞)之外,该虚拟环境还可以包括具有附加作用力(例如重力)的对象。 物理引擎在模拟的环境中模拟牛顿物理学,并管理这些力和相互作用。

物理引擎最受欢迎的应用之一是娱乐和游戏行业(请参见图1 ),其中物理引擎提供了游戏环境(包括玩家和可能存在的其他对象)的实时仿真。 在游戏中使用之前,物理学引擎在科学领域中发现了许多应用,从天体的大规模模拟到天气模拟,一直到小规模模拟,以可视化纳米粒子及其相关行为的可视化。军队。

图1.游戏应用程序环境中的物理引擎
该图显示了物理引擎如何与诸如图形引擎,声音等其他元素相关联地进入游戏循环。

这些应用程序之间的主要区别之一是,尽管以游戏为重点的物理引擎专注于实时逼近,但科学多样性却更多地专注于精确计算以提高准确性。 科学物理引擎可以依靠超级计算机来获得原始处理能力,其中游戏物理引擎可以在资源受限得多的平台(例如手持游戏设备和移动电话)上运行。 游戏物理引擎通过避免诸如布朗运动之类的事情来缩减仿真的规模,从而降低了仿真的处理复杂性。 内置到这些发动机的数学和物理概念的范围是本文的范围之外,但你可以找到链接到更多信息相关主题

根据要求,存在许多类型的游戏物理,尽管它们都是同一主题的变体。 在游戏中,您可以找到布娃娃物理 (模拟复杂的铰接系统的行为)和粒子系统 (模拟许多小粒子和大粒子响应爆炸等事件的行为)。 ENIAC计算机是最早的软件物理引擎之一,用于给定质量,角度,推进力和风等变量来模拟炮弹。 Wikipedia提供了对此应用程序的有趣介绍-请参阅参考资料中的链接。

开源选项

物理引擎(尤其是实时性和低精度的变化)的主要用途之一是开发游戏运行时间。 基于这些软件框架的流行,有许多开源选项可供选择。 本文探讨了一些可用的开源物理引擎,并说明了它们在简单应用程序中的使用。

Box2D

Box2D是具有广泛用途的简单物理引擎。 它最初是由Erin Catto设计的,作为2006年游戏开发者大会上进行的物理演示的演示引擎。Box2D最初称为Box2D Lite ,但除了包括连续碰撞检测之外,该引擎还进行了扩展以增强API。 Box2D用C++编写,其可移植性通过使用它的平台(Adobe®Flash®,Apple iPhone和iPad,Nintendo DS和Wii以及Google Android)得到了证明。 Box2D提供了许多流行的掌上游戏背后的物理功能,其中包括《 愤怒的小鸟》和《 蜡笔物理豪华版》。

Box2D提供了一个刚体模拟,支持诸如圆形或多边形的几何形状。 Box2D可以使用关节来连接形状,甚至包括关节电机和滑轮。 在Box2D中,引擎可以施加重力和摩擦力,同时管理对碰撞的检测以及由此产生的动力学。

Box2D被定义为提供各种服务的丰富API。 这些服务允许定义一个由许多对象和属性组成的世界。 定义了对象和属性后,接下来您将以离散的时间步长模拟世界。 该示例应用程序(基于Erin Catto的示例应用程序)探索了一个用重力投掷到世界的盒子。

Box2D示例

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值