llGetMass

From Second Life Wiki
Revision as of 10:16, 4 September 2023 by Gwyneth Llewelyn (talk | contribs) (Minor spelling changes (weight units are always expressed in lower case), creating a "real" footnote, adapting Wikipedia links with the {{Wikipedia}} template)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Summary

Function: float llGetMass( );
0.0 Forced Delay
10.0 Energy

Returns a float that is the mass of object (in lindograms) that script is attached to.

Caveats

  • The mass reported by this function is in lindograms, which function the same as kilograms within the bounds of Second Life, but not elsewhere. (See below)
  • Attachments do not affect an avatar's mass, only certain Appearance settings.
    • Avatar mass is reported to either be unexpectedly low (when measured using llGetMass) or unexpectedly high (when measured using llGetMassMKS). This is likely due to the weight being calculated based on a fixed value, with a modifier for height. The fixed value being used is incorrect, likely due to an incorrect density value being used.

Examples

//A way of making a constant force that returns the same speed visually whatever the object is
default
{
    touch_start()
    {
        llApplyImpulse(<0.0, 0.0, 5.0> * llGetMass(), FALSE);
        // This fires the object up at the same m/s whatever the size (or difference!)
    }
}//Written by El Taka

See Also

Functions

•  llGetObjectMass Gets the object mass (in lindograms)
•  llGetForce Gets the objects force
•  llGetOmega
•  llGetVel
•  llGetTorque
•  llGetAccel
•  llGetMassMKS Get the mass of an object (in kilograms)

Deep Notes

Signature

function float llGetMass();

Lindograms

"Lindograms" is the name of the primary unit of mass used in Second Life.

While Second Life primarily makes use of the "Wikipedia logo"SI system of units, mass seems to be an exception.

Some speculate that lindograms were intended to be kilograms, but a mistake was made when factoring object density, causing the mass value returned to be 100 times less than the actual kilogram value. As a result, some new functions were implemented (such as llGetMassMKS) which report the correct kilogram weight of an object.

Functionally speaking, lindograms can be used in the same way kilograms are used[1], however only within the bounds of Second Life. Trying to export mass values from Second Life will often run into issues, caused by the use of lindograms as a base unit of measurement.

From a technical point-of-view, a lindogram is equivalent to a "Wikipedia logo"metric quintal, however it is not treated as such.

  1. With exception to some functions, such as llSetPhysicsMaterial, which use kilograms, not lindograms. llGetMassMKS returns a kilogram value, not a lindogram value.