Difference between revisions of "LlSetBuoyancy"

From Second Life Wiki
Jump to navigation Jump to search
m (Added note to caveat.)
m (Noted the inability to set relative buoyancy levels in a linked object.)
Line 10: Line 10:
|caveats=*[[llWind|Wind]] can cause the prim to drift. (server 1.38.4 this appears not to be true)
|caveats=*[[llWind|Wind]] can cause the prim to drift. (server 1.38.4 this appears not to be true)
*Unlike some other characteristics, this is cancelled if the script that set buoyancy is removed from the prim.
*Unlike some other characteristics, this is cancelled if the script that set buoyancy is removed from the prim.
*This function cannot be used to set relative levels of buoyancy in parts of a linked object e.g. to simulate a helium balloon weighted by its string. The most recent call of <code>llSetBuoyancy</code> in any child prim appears to set the global buoyancy level for the object.
*This function eats [[energy]] to keep the object floating. Large objects may not be able to supply enough energy to keep the object floating.
*This function eats [[energy]] to keep the object floating. Large objects may not be able to supply enough energy to keep the object floating.
|constants
|constants

Revision as of 13:48, 20 June 2011

Summary

Function: llSetBuoyancy( float buoyancy );
0.0 Forced Delay
10.0 Energy

Sets the buoyancy of the task or object. Requires physics to be enabled.

• float buoyancy

if (buoyancy == 0.0) disables
if (buoyancy < 1.0) sinks
if (buoyancy == 1.0) floats
if (buoyancy > 1.0) rises

Caveats

  • Wind can cause the prim to drift. (server 1.38.4 this appears not to be true)
  • Unlike some other characteristics, this is cancelled if the script that set buoyancy is removed from the prim.
  • This function cannot be used to set relative levels of buoyancy in parts of a linked object e.g. to simulate a helium balloon weighted by its string. The most recent call of llSetBuoyancy in any child prim appears to set the global buoyancy level for the object.
  • This function eats energy to keep the object floating. Large objects may not be able to supply enough energy to keep the object floating.

Examples

Makes an object float up slowly (e.g. a red balloon)<lsl>default {

   state_entry()
   {
       llSetStatus(STATUS_PHYSICS, TRUE);
       llSetBuoyancy(1.05);
   }
}</lsl>

Notes

Often used to make an object look like gravity does not affect it.

Deep Notes

Signature

function void llSetBuoyancy( float buoyancy );