$nav ===== Function: llRot2Fwd ===== vector llRot2Fwd(rotation rot) Returns the local X (forward) vector of a rotation. ===== Parameters ===== === rot === The $lty[rotation] whose X vector is to be returned. ===== Return value ===== Returns a unit $lty[vector] that is the local X vector for that rotation. ===== Notes ===== * This function is roughly equivalent to ''<1, 0, 0>*rot'', except for the fact that the vector is normalized. When working with rotations that are guaranteed to be normalized (such as the ones that $lfn[llGetRot], $lfn[llEuler2Rot] etc. return), it's faster to use ''<1, 0, 0>*rot'' than $fn[llRot2Fwd]. * The forward (X) vector is special in many physics-related applications in SL. For example, ''llRot2Fwd(llGetRot())'' (or equivalently, ''<1,0,0>*llGetRot()'') used in the root of an attachment gives the direction the avatar is facing; vehicles also use the X vector as the direction to move towards by default. ===== Complete examples ===== This script, if used in an attachment, will rez an object 1.5 m in front of the avatar's center when touched. If used in an object that is not attached, it will rez the object 1.5m away in the direction of its local X axis. default { touch_start(integer num) { vector pos = llGetPos() + llRot2Fwd(llGetRot())*1.5; llRezObject("Object", pos, <0,0,0>, llGetRot(), 1); } } ===== See also ===== * $lfn[llRot2Left] returns the local Y axis of a rotation. * $lfn[llRot2Up] returns the local Z axis of a rotation. * $lfn[llAxes2Rot] takes local X, Y, and Z unit vectors and converts them to a rotation.