Difference between revisions of "LlGetVel"

From Second Life Wiki
Jump to navigation Jump to search
m (movement category)
m (<lsl> tag to <source>)
 
(4 intermediate revisions by 3 users not shown)
Line 3: Line 3:
|sort=GetVel
|sort=GetVel
|func=llGetVel|return_type=vector
|func=llGetVel|return_type=vector
|func_footnote=Velocity reported is relative to the [[Viewer coordinate frames#Global|global coordinate frame]] (the object rotation has no affect on this functions output).
|func_footnote=Speed is the magnitude of the velocity. Speed is measured in meter per second.<br>
Velocity reported is relative to the [[Viewer coordinate frames#Global|global coordinate frame]] (the object rotation has no affect on this functions output).<br>
For physic objects , velocity is the velocity of its center of mass [[llGetCenterOfMass]] . ( When the object has some torque and has not force , position of the object moves ( it turns )  , but its center of mass is unchanged , so the velocity is null )
|func_desc
|func_desc
|return_text=that is the velocity of the object.
|return_text=that is the velocity of the object.
Line 9: Line 11:
|caveats
|caveats
|constants
|constants
|examples=<lsl>//A very simple (and not very effective) way of keeping a physical object in place.
|examples=<source lang="lsl2">//A very simple (and not very effective) way of keeping a physical object in place.
//If you ever want to actually stop an object, use llMoveToTarget(llGetPos(), .1)
//If you ever want to actually stop an object, use llMoveToTarget(llGetPos(), .1)


Line 21: Line 23:
             if (llVecMag(spd = llGetVel()) > .001)
             if (llVecMag(spd = llGetVel()) > .001)
             { //We're accelerating...
             { //We're accelerating...
                 llApplyImpulse(-spd, 0) //Slow us down.
                 llApplyImpulse(-spd, 0); //Slow us down.
             }
             }
         jump loop;
         jump loop;
         }
         }
     }
     }
}//Written by Xaviar Czervik</lsl>
}//Written by Xaviar Czervik</source>
|helpers
|helpers
|also_functions=
|also_functions=
Line 37: Line 39:
|also_articles
|also_articles
|notes=To get the velocity relative the local frame (the direction the object is pointing), divide the output of this function by that of its rotation.
|notes=To get the velocity relative the local frame (the direction the object is pointing), divide the output of this function by that of its rotation.
<lsl>vector local_vel = llGetVel() / llGetRot()</lsl>
<source lang="lsl2">vector local_vel = llGetVel() / llGetRot()</source>
|cat1=Physics
|cat1=Physics
|cat2=Movement
|cat2=Movement

Latest revision as of 03:08, 22 January 2015

Summary

Function: vector llGetVel( );

Returns a vector that is the velocity of the object.

Speed is the magnitude of the velocity. Speed is measured in meter per second.
Velocity reported is relative to the global coordinate frame (the object rotation has no affect on this functions output).
For physic objects , velocity is the velocity of its center of mass llGetCenterOfMass . ( When the object has some torque and has not force , position of the object moves ( it turns ) , but its center of mass is unchanged , so the velocity is null )

Examples

//A very simple (and not very effective) way of keeping a physical object in place.
//If you ever want to actually stop an object, use llMoveToTarget(llGetPos(), .1)

default
{
    state_entry()
    {
        vector spd;
        {
            @loop;
            if (llVecMag(spd = llGetVel()) > .001)
            { //We're accelerating...
                llApplyImpulse(-spd, 0); //Slow us down.
            }
        jump loop;
        }
    }
}//Written by Xaviar Czervik

Notes

To get the velocity relative the local frame (the direction the object is pointing), divide the output of this function by that of its rotation.

vector local_vel = llGetVel() / llGetRot()

See Also

Functions

•  llGetAccel
•  llGetOmega
•  llGetForce Gets the objects force
•  llGetTorque
•  llGetMass

Deep Notes

Search JIRA for related Issues

Signature

function vector llGetVel();