How do I fix the torque my thrusters are adding to my ship?

I’m trying to build a physically simulated spacecraft, a Babylon 5 SA-23E “Aurora” Starfury Fighter. Its engines are placed on four long engine pylons, which extend from the cockpit and main frame of the ship. That way the pilot is seated as close to the center of mass as possible. But there’s one (16 to be specific) giant pain in the ■■■ of a problem - no matter how I setup the physics thrusters and the center of mass the engines always add torque to the ship instead of propelling it in a straight line, say straight ahead.

Each engine has 2 large main thrusters, as well as two auxiliary ones; the fighter has a total of 4 of these engines, so a total of 16 thrusters. And I can’t even setup the 8 main ones. Is there any way I can debug the physics so as to find the issue? Something like scripting an arrow, which shows the exact direction in which the combined thrust forces are pointed at?

Also, would reducing the mass of the fighter help? Because its real mass is 48 metric tons (48000 kg) and this requires a lot of thrust force to be moved in any direction.

And a side-question - how dafaq does a 48 metric ton Starfury bounce off a 85 kg mannequin without moving it even an inch?

The SkeletalMesh actor uses a skeletal mesh with locked constraints and manually set masses for each body.

Side answer: Is the mannequin set to Static? Also, remember, you are not using Physics, so the mannequin won’t be 85kgs. If you crash your ship into it, when it is a ragdoll (i.e. you’ve applied physics on the mannequin’s skeletal mesh), it will DEFINITELY move. :slight_smile:

It is. Lemme give you a reference image:

The cockpit is located almost exactly at the center of mass (when not offset), but the actual mesh includes the fusion reactor and everything else from the front to the rear, so it’s a long square-ish mesh.

Well, yeah I kinda managed to fix that by triggering a collision via a overlap capsule around the mannequin, so if the ship does enough damage to kill it it turns into a ragdoll before the actual
collision happens.

Is the ship perfectly symmetrical? If the cockpit and pilot weigh a certain weight, that imbalance could be throwing off the symmetry and starting a spin

which way is the torque turning the ship? I wouldn’t expect left/right movement, but would expect up/down (pitch) drift.

Oh yeah, that’s programmer thinking. :slight_smile:

The best I’ve achieved is a slight drift towards the positive Z and Y axises (diagonally up and right). Without any offset it either goes up and to the right by a lot or just noses down into the ground.

I wanted to make a fully simulated ship, damage included, but if I cannot find a way it’ll probably have to be the KSP way. Float rounding errors might get solved by reducing mass and thrust strength by a lot, though, if there are any.

That is very true. There’s just way too many variables to calculate in incredibly precise and complex formulas. Same reason why games use precomputed nav areas/meshes for the AI - there’s no computer that can handle that kind of computational load. Oh, well.

Hah! This is the problem with physics simulations. They don’t always do what you expect. There could also be some float rounding errors that will offset the engines slightly, or the mesh isn’t completely symmetrical (by maybe half a pixel). Is the physics simulation very important to you, or are you just after a spaceship that flies in a straight line?

I would look at taking the Kerbal Space Program approach. The thrusters are not part of the same mesh as the rest of the ship, which can then weigh nothing, so stopping any unsymmetrical weight distribution. You then add the engines separately, so you can be absolutely sure that they are four points along the exact same axis
.

Unfortunately, there’s a reason games don’t use physics unless this it is the whole point of the game because it is just too computationally expensive. Games are smoke and mirrors. If you ever think a game is doing something in a particular way that resembles Real Life, chances are it isn’t. The devs are just trying to make you think it is.