Skip to content

Physics Overview

Jirka Dell'Oro-Friedl edited this page Sep 6, 2022 · 8 revisions

FUDGE serves the OIMO physics engine. For more detailled information and its inner workings, see https://github.com/saharan/OimoPhysics/

This section covers the FUDGE side of physics. For more detailled explanations see Marko Fehrenbachs Master Thesis (German).

The Physics World

When using physics, one creates a whole new world apart from the visible world of geometry. In that world, everything is about the calculation of physical objects, forces, torques, impulses, friction etc. and the interaction between. FUDGE manages the synchronisation of its graphs with this physical world and vice versa. To distinguish the objects on the physical side from the nodes and meshes of the geometrical side, they are called bodies.

While the physics engines takes over a lot of calculation to help to create objects behaving naturally, it also takes over a lot of control. Everything must be setup carefully and well parameterized to keep it manageable for creators and to create a joyfull experience for users. Also, physical calculation can become exhaustive quickly, so it's crucial to understand some fundamentals to set up the physics world in an optimal way to help performance.

All calculations are done in world coordinates!

It is possible to create multiple physics worlds. Since the methods are static, only one world is active at a time. To support multiple worlds, it is necessary to switch between them.