rail

‘rail’ integrates tracks and trains with Unreal’s NVidia PhysX based physics system. It is a C++ plugin to Epic’s Unreal Engine, but to be used it does not require any mathematical or programming skills.

Category:
Tags: , , , , , , , , , ,

Description

‘rail’ integrates tracks and trains with Unreal’s NVidia PhysX based physics system. It is a C++ plugin to Epic’s Unreal Engine, based on the theories in this book; but to be used it does not require any mathematical or programming skills. Simple object composition allows an artist to build track systems and ‘WheelFrame’ – scene components rail nearly everything on them. The dynamics then is calculated completely by the physics system of Unreal, yielding an unprecedented degree of realism and interaction as well as integration into the game engine.

The core element of this library is the so called ‘trackjoint’, that keeps an object aligned with a track. It is a set of constraints communicated to the physics engine directly, so it works seamlessly with other forces and constraints in the simulator. This was discovered lately during the development of various railroad simulators at Trend Verlag in Freiburg, Germany. It turns out that rigid body simulators are not so well made for dead ragdolls or collapsing brick walls – but for railroading!

A word of warning is appropriate at this point: even if the trackjoint is highly configurable, and there are motors and brakes to work with it, it is made to be used in the frame of a physical simulation. So in a game or other application there has to be some room for the results. If the result is always known in advance, is non-physical and has to be enforced by additional actions, then a simple animation might be the means of choice.

Technical Details

Code Modules:

Number of C++ Classes: 22

Network Replication: No

Supported Development/Target Platforms: Win64, MacOS, Linux

Documentation: traxBook / Chapter11

Example Project: railSample

Videos: railUnreal Playlist

Supported Engine Versions

4.25 – 4.27