Jump to content

Seaplane lsl: takeoff - landing, tricks


MIVIMEX
 Share

You are about to reply to a thread that has been inactive for 2065 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

 Hello! I build a seaplane, but it takes off very shortly (I can takeoff even at the first gear (10% throttle) ) and quickly loses altitude even at top speed, it does not hold altitude, I have to constantly raise it, pitch, I made such parameters that it was possible to make a loop and roll. But how can I keep the ability to do tricks (stunts?), and make takeoff and landing more smooth and keep altitude for longer?

llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.50);
    llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 10.0);
    llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 7);
    llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 3);
    llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1.00);
    llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 0.50);
    llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 1.00);
    llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 1.00);
    llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.20);
    llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 5.00);
    llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.70);
    llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 1.00);
    llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 2.00);
    llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.00 );
    llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.50 );
    llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 2.00 );
    llSetVehicleFloatParam(VEHICLE_BUOYANCY, 1 );
    llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <10.0, 10.0, 10.0>);
    llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <20.0, 20.0, 20.0>);
    llRemoveVehicleFlags(-1);
    llSetVehicleFlags(VEHICLE_FLAG_LIMIT_ROLL_ONLY|VEHICLE_FLAG_CAMERA_DECOUPLED);

 

Also for what these parameters?

    llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <10.0, 10.0, 10.0>);
    llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <20.0, 20.0, 20.0>);

Please help!

Thank you so much!

 

Edited by MIVIMEX
Link to comment
Share on other sites

dunno if this helps, but here are some params from a glider?

If your problem is between takeoff and at altitude, just make a check for

a difference in current alt and starting alt, and then change the parameters when you are in the air?

 


rotation rotAdjust = <0.46390, -0.53366, -0.53366, 0.46390> ;
  
 llSetVehicleType(VEHICLE_TYPE_AIRPLANE);

        llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, rotAdjust );
        
        // weak angular deflection
         llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.1);
         llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 1.0);

        // strong linear deflection
         llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1.0);
         llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 0.2);

        // somewhat responsive linear motor
         llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 0.5);
         llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 20);

        // somewhat responsive angular motor, but with 3 second decay timescale
//       llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.5);
//       llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 3);

         llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.25);
         llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 1.5);

        // very weak friction
         llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> );
         llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> );

         llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.25);  // almost wobbly
         llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1.5);    // mediocre response

//       llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 0.4);    // medium strength
//      llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 0.1);     // very responsive
//      llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.95);          // more banking when moving

         llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 0.4);
        llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 0.5);
        llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.75);

        // hover can be better than sliding along the ground during takeoff and landing
        // but it only works over the terrain (not objects)
        //llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 3.0);
        //llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.5);
        //llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 2.0);
        //llSetVehicleFlags(VEHICLE_FLAG_HOVER_UP_ONLY);

        // non-zero buoyancy helps the airplane stay up
        // set to zero if you don't want this crutch
        llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0.2);

        // define these here for convenience later
        gAngularControls = CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT
                           | CONTROL_ROT_LEFT | CONTROL_DOWN | CONTROL_UP;
        gLinearControls = CONTROL_FWD | CONTROL_BACK;

        llSetStatus(STATUS_PHYSICS, TRUE);

 

Edited by Xiija
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Xiija said:

and then change the parameters when you are in the air?

Was thinking this also - not sure if OP understood that the only way to make some vehicles behave the way you want is to change parameters actively in code, say when you touch water vs. when you lift off, etc.

  • Thanks 1
Link to comment
Share on other sites

There's no vehicle type "Seaplane", so you're going to have to manage much of the vehicle dynamics yourself. Real-life seaplanes are very rarely rated for acrobatics, anyway. Discussions in flying forums indicate this is a very bad idea.

Seaplanes depend heavily on ground effect during takeoff and landing. Unlike land aircraft, a seaplane landing doesn't usually involve a flare. You just settle into ground effect and bleed off speed until lift disappears and you become a boat. So you might consider having three vehicle modes.

  • Flight mode - vehicle type is aircraft
  • Boat mode - vehicle type is boat - lots of water friction
  • Ground effect mode - vehicle type is probably boat, but with a hover height a few meters above the water and low friction.

Define a flight stall speed and a ground effect stall speed, and a ground effect altitude. Speed above flight stall speed, you're an airplane. Speed between flight stall and ground effect stall, and below ground effect altitude, you're in ground effect mode. Below ground effect stall speed and near the water, you're in boat mode. As a rule of thumb, ground effect exists up to half your wingspan.

On takeoff, you start as a boat, sluggishly, fighting the water friction. Once you pass ground effect stall speed, you break free of the ground and float just above the water. Now you accelerate faster. You don't have enough airspeed to climb yet. Once you pass flight stall speed, you can start to climb.

On landing, you descend to ground effect altitude and reduce power until you're gliding on ground effect. Then reduce power more and let speed bleed off until you drop below ground effect stall speed and descend to the water. Then you taxi slowly, as a boat.

This is oversimplified, of course. But you'll capture the basics of seaplane operation.

It's convenient if your small seaplane behaves well as a slow boat. You can dock it at a boat dock; you don't need a seaplane ramp.

If you're going to use a seaplane ramp and have road wheels, there's a need for a transition to car mode when the wheels touch the ground. Seaplane ramps are usually for larger craft. There's a Linden-owned seaplane base suitable for testing large seaplanes, with a proper seaplane ramp.

seaplanebase_001.thumb.jpg.35501dd051fe9c386795d494cdddc66e.jpg

Orville Airport. Everything you need for seaplane operations. Rezzing and building allowed, 20 minute return.

Edited by animats
Comma
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2065 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...