ForceSeatMI (Motion Interface) is a programming interface that allows to add a motion platform support to basically any application or a game. The ForceSeatMI does not control hardware directly – it sends all data to ForceSeatPM. This approach delegates responsibility of transforming telemetry data to a real motion from the application to ForceSeatPM. It means that application developers do not have to worry about things like platform disconnections, transmission errors, thermal protection warnings or signal filtering.
ForceSeatMI is an easy to use yet powerful interface that allows to add a motion platforms support to any application or game (referred as SIM in next sections). In most applications there is no need to control the hardware directly from the SIM. Because of that ForceSeatMI is used only to send telemetry or positioning request to ForceSeatPM. This approach delegates responsibility of transforming telemetry data to an actual platform motion from the SIM to ForceSeatPM. It also simplifies error handling that the SIM has to implement.
With the latest version of the ForceSeatMI, it is possible to control the hardware with usage of Inverse Kinematics. The SIM sends required top frame position and ForceSeatPM calculates required arms (or actuators) positions. This feature can be used in application where precise positioning is required instead of forces simulation.
Examples presented in this document and the plugin have been made in Unreal Engine 4.14, 4.15, 4.18 and 4.20+. They might not work correctly with different versions of the Unreal Engine.
The ForceSeatMI can be easily used in any .NET application. You just need to include ForceSeatMI_*.cs files directly in your project.
The ForceSeatMI can be easily used in any C/C++ x86 or x64 Windows application.
ForceSeatMI is an easy to use yet powerful interface that allows to add a motion platforms support to any application or game