jointLinear is driving me crazy

  • The most common reason for joints breaking is too low masses and too high spring and damping values. This is numerically unstable.

    For starters just set the joint to Rigid = 1, then the parts don't break off.

    Once all parts stay attached that way you can make them non rigid one by one, testing each of these changes.

    If a part just wants to break off all the time or even worse your physics are stuck in a loop constantly reloading the plane, then make the forces really really small and the damping really small, use sensible force and torque max values though. Adjust the masses to be somewhat high, this will make it a lot more stable.

    At this point your gear will be too weak to hold the plane probably but it should no longer break off. You can set your collision hulls to no crash for the moment, then you are sure it wont reset the aircraft.

    Then slowly increase the force constants by one order of magnitude (factor of 10 higher). Do this for individual axes, until you see it breaking, then back of at least by a factor of 1.5 or 2.0.

    Don't increase just one axis and then try to raise the others. You should try to keep all values of the same type (i.e. force or torque in the three dimensions) somewhat at the same value. Having one axis force or rotation constant really high also affects the other axes.

  • Hi,

    After a "dog fight" with the model I think I found the issue... when I put wheelhull's connected to the end of joinlinear that should be the wheels connected to the landing gear the models bounces and kicks the wheels far away.

    So I removed the wheelhull's and now it is much more stable with the other models values.

    One more thing although, my model is leaning to the its right side, what is the best way to put it straight? Moving some rigidbody?

    Found another issue... how do I add the propeller geometry?

    I have in my file:

    <[string8][object][aeropropeller]

    <[string8][Name][Propeller]>

    with

    <[string8][object][propellergraphics]

    <[string8][Name][]>

    <[string8][GeometryList][ Propeller ]>

    ...

    <[uint32][BladeNumber][3]>

    <[string8][GeometryBlurred][ blade1 blade2 blade3 ]>

    <[string8][GeometryDisk][ propellerDisk ]>

    but it doesn't show up!!


    thanks for your imense help

    :thumbup::)

    Edited once, last by Aboim2: Found another issue... (March 24, 2021 at 12:44 AM).

  • Leaning to the side could have several causes. Check these things for symmetry:

    Rigid property of the jointlinear

    K and D values of the joints

    Masses

    R0 (y component sign flip)

    Wheelhull K and D and R0

    When the wheelhulls are causing issues then check their K and D values, lower them drastically.

    Regarding the propeller: if you take the propeller part of your 3d model (geometry) and add it to the normal rigidbodygraphics Fuselage GeometryList does it show up then?

    If so then check your R0 of the propeller and Pivot of its graphics, they should be identical. Maybe the log file shows something?

    By the way if you want to share code Here you can use the code block to keep all indentation and have it in a constant width font.

    Code
        <[][][]> //like this
  • the model now keeps straight in the ground start, way better that before!

    I am having some minor adjustmensts to do though on damping values.

    I have a spinner and 3 blades! The spinner is in the rigidbodygraphics Fuselage GeometryList and the blades are in propellergraphics

    Spinner shows in the model but the blades and the diskPropeller don't!

    Thanks