编写物理引擎需要什么?

时间:2013-10-11 05:32:45

标签: physics-engine

这是一个非常基本的问题。我想开始写一个物理引擎。我找到了一堆网站告诉我怎么做,但我还没找到我需要什么

我想知道的是我需要用什么软件来编写一个物理引擎并看它是否正常工作(参见相互碰撞的形状)。我的计算机上有Eclipse,可以使用它吗?

1 个答案:

答案 0 :(得分:4)

顺便说一下,将此帖子发布到https://gaming.stackexchange.com/

可能是个更好的主意

然而,顾名思义:

  1. 您需要了解物理学。你想要的深度取决于你,因为物理学是对自然世界的研究,所以它自动包含对非常大的事物(星系,星系,星云等)的研究到非常小的事物(原子,夸克)等)。因此,物理学很快变得非常奇特(即你开始处理量子力学,弦论,相对论力学等)。但是,要记住的是,游戏引擎中的大多数物理都使用Newtonian Mechanics 。所以,我的建议是从那里开始的。

  2. 接下来,您必须确定您的引擎将采用何种语言。大多数人通常使用与编写游戏逻辑的语言相同的语言设计引擎。但是,这不是必然如此。主要是,您开发引擎的语言将受限于您希望引擎解决的问题,以及引擎的速度,易用性,易开发性,可维护性等。正如您所期望的那样,这通常意味着开发物理引擎是一项雄心勃勃且耗时的工作,因为引擎的大多数方面都限制了游戏的设计方式。

  3. 一旦你做出了所有这些选择,接下来你必须弄清楚你希望如何实现你的引擎(例如使用Procedural与面向对象的方法相比)。但是,这又将限于您选择的语言。但是,应该指出的是,每种方法都有其优点和缺点。您必须根据您希望在游戏引擎中解决的问题来研究方法。例如:如果您的所有游戏都是射弹运动,那么创建一个实现方程式来解决射弹运动方程的游戏。

  4. 当然它比这更多涉及,但它应该让你知道从哪里开始和做什么。并且,应该注意的是,请记住,标准软件开发方法应始终得到解决:可维护性,单元测试,代码备份(通过存储库)等。

    内容:

    • 您的引擎将仅限于您开发的语言。
    • 您开发的语言将仅限于您要使用引擎解决的问题。问题是:速度,易于开发,准确性,可维护性等。
    • 大多数物理引擎都是基于经典力学。