Jump to content

Airplane destroys itself after quickloading


Recommended Posts

So I flew an airplane (the DC-10 of the airliner safety challenge) today when I realized this very annoying bug with physics in the atmosphere.

It might be me jumping to conclusions, but it seems like any quicksave made at over 150 m/s causes the main wings to separate from the fuselage and the plane falls out of the sky. If the airplane survives (the wings didn't separate), I can see the wings jump up and down before stabilizing. Now I'm afraid of quicksaving in the atmosphere because it could lead to the catastrophic failure.

Is there a quick fix for this? Or is it something only the devs can fix?

Link to comment
Share on other sites

There is a discontinuity in the forces on a craft when it quick-loads.  

The forces do not seem to be saved in the sfs-files, just velocities.  I would speculate that the physics engine throws the craft at that speed through the air and then figures out what the forces are and how much the joints flex.  I would speculate that any particularly stiff joint could be overstressed at this point more likely than when the forces and flexing have had time to settle down.  I notice the problem rarely, mostly when I try other people's aircraft, probably because I'm not familiar with their stress limits.

Make a named save with alt-F5 as a backup, sometime when the aerodynamic forces are relatively low, so you won't be scared to quicksave.

Link to comment
Share on other sites

12 hours ago, OHara said:

The forces do not seem to be saved in the sfs-files, just velocities.  I would speculate that the physics engine throws the craft at that speed through the air and then figures out what the forces are and how much the joints flex. ...

You are almost right. What is saved are not velocities, but orbital elements with each vessel, and relative position and rotation of all parts with all vessels. Orbital elements are used to determine current speed, but that isn't what causes stress and spontaneous disassembly. Relative positions are however compared to the nodes positions (same for rotations), the difference is handled by the Unity Physics engine as a tensor, a set of oriented forces that would reduce the error in all axes and angles. The physics engine simulates elasticity, so joints are free to flex, forces are there to bring the error back (wasn't for outside forces on the vessel, e.g. thrust, gravity, drag and lift, nor inertia, parts won't ever be displaced). Each node has a maximum allowed displacement, beyond that the engine ceases to treat the joint as elastic and makes it break. Before a vessel is put on rails (saved and no more computed for physics interaction) is always better to wait a bit without acceleration, so to have all joints reduce the errors caused by acceleration and therefore the resulting forces. When coming off-rails,  the engine goes with those saved errors, but something goes off (I guess the forces are used to compute accelerations, which is integrated with time to update those positional errors; but while before a save time to integrate acceleration was a delta between two frames, when getting off-rails delta time is larger and the integrated acceleration brings to a new positional error greater then what allowed, resulting in a break).

Link to comment
Share on other sites

7 minutes ago, sal_vager said:

Make sure "Ease in gravity" is enabled in the General Settings screen :)

Sorry to say it, but it is enabled. I don't know what it does, though. Sure it "eases in gravity", but what is eased?

Edited by Delay
Link to comment
Share on other sites

Loaded up the quicksave again today. I was surprised to see that the airplane stayed intact. Seems like quickloading after a game restart is a workaround. Anyway, here is another quicksave (I provoked the failure this time).It's pretty much garanteed to break up.

Edited by Delay
Link works now.
Link to comment
Share on other sites

5 hours ago, rudi1291 said:

Had that happen to me a few times in the past. What you can do is to activate the "Unbreakable joints" cheat from the cheat menu and disable it again a few seconds after it loaded in.

This is my approach as well , also helpful for loading monstrosities on launchpad without exploding them:/

Link to comment
Share on other sites

Clarifying a little, the save-files store the relative positions of all the parts, in absence of any forces.  Quick-saving in a 3-G turn, or zero-G nose-over, results in the same part-positions in the save-file. So if I save with my wings flexed, upon reload they are at first straight and have to flex again. 
beforeSave.jpg afterLoad.jpg

So Delay's DC-10 (a nice craft) was quick-loaded with no flex at the wing-roots buy flying 240m/s; the body started to fall, while lift started flexing the wings up, and the peak stress broke off the wings.

Setting unbreakable-joints and then re-re-loading is a great solution, because we can apply if after we discover we have a problem.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...