2

这是一个非常基本的问题。我想开始写一个物理引擎。我找到了一堆网站告诉我如何,但我还没有找到需要的东西。

我想知道的是我需要什么软件来编写物理引擎并查看它的工作原理(查看相互碰撞的形状)。我的电脑上有Eclipse,可以用吗?

4

1 回答 1

4

顺便说一句,将其发布到https://gaming.stackexchange.com/可能是一个更好的主意

然而,顾名思义:

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

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

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

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

概括:

  • 您的引擎将受限于您开发它所使用的语言。
  • 您开发它所使用的语言将仅限于您希望使用引擎解决的问题。问题是:速度、易于开发、准确性、可维护性等。
  • 大多数物理引擎都基于经典力学。
于 2013-10-11T06:04:41.377 回答