I need a game engine that supports force fields in 2d or 3d, but suitable for 2d calculations, like bullet.

Each body I want to simulate is represented as a set of points. Each point has positive mass and can accept force. Force field is updated every tick. Engine should accept force applied to every point and return point speed values and coordinates. Each body made of particles should move as a whole thing in result, relative position of particles must persist, hence this is a rigid body. If engine does not support setting body as a set of points it should allow setting density function, or some other means to let have non-uniform density.

Is there any that can do that, preferably cross-platform.

  • \$\begingroup\$ Sounds like a particle-engine to me? \$\endgroup\$
    – bummzack
    Jan 4, 2013 at 8:26
  • \$\begingroup\$ not exactly, particles must form rigid bodies. \$\endgroup\$
    – q______b
    Jan 4, 2013 at 10:39
  • \$\begingroup\$ So your bodies must be able to interact despite being points? Or do you (falsely, I think) assume that particle engine particles are rigid bodies? Lastly, it seems your question is ambiguous: is each body a single point or does each body consist of a set of points? Please clarify. \$\endgroup\$
    – Eric
    Jan 4, 2013 at 10:53
  • \$\begingroup\$ @Eric each body consists of points in my system, I thought it is clearly stated. And I'd like to simulate this body made of points movement under action of the force field. \$\endgroup\$
    – q______b
    Jan 4, 2013 at 10:59
  • \$\begingroup\$ "set of points" is ambiguous, it should be "a set of points" or "sets of points". It was also not clear whether you were referring to all the bodies or a single body. Thanks for the clarification. \$\endgroup\$
    – Eric
    Jan 4, 2013 at 11:09

1 Answer 1


As explained in the comments, each physics engine will do it, so will Bullet. You can use btCompoundShape to create a rigid body from multiple "sub"-bodies, each with its own mass.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .