Category:LSL Alpha

From Second Life Wiki
Jump to navigation Jump to search

The term "Alpha" refers to how translucent an object (or, in this case, a prim) is. In Second Life, the alpha property is set by the scripting functions llSetAlpha, llSetLinkAlpha, llSetPrimitiveParams, and llSetLinkPrimitiveParams. These functions use a float value. When set to 0.0, the object/prim is fully invisible. When set to 1.0, the object is opaque. Sometimes, Residents refer to a transparent texture as alpha texture. This is a texture with an alpha map, not to be confused with this prim property. See llSetTexture and TEXTURE_TRANSPARENT instead.

Build Mode

In Build Mode, the alpha is represented by a percentage, ranging from 0% to 90% (Note: The 90% cap is for viewers that have been officially released by Linden Lab). Take extra care when moving viewer transparency settings to scripts and back. In the editor a higher number is more transparent, while in scripts a higher number is more visible.

Examples

Below are examples on how one may set the alpha of an object.

Function LSL Example & Description
llSetAlpha <lsl>llSetAlpha(1.0, ALL_SIDES);</lsl> This will set the object's sides' alpha to opaque, or 0%.
llSetLinkAlpha <lsl>llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);</lsl>

This will set link-set's alpha to transparent, or 100%. (Note: The Viewers released by Linden Labs are unable to set the alpha of an object to fully transparent without a script; the limit is caped at 90%)

llSetPrimitiveParams <lsl>llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, llGetColor(ALL_SIDES), 0.5]);

// Using llGetColor this way may not give the desired result (it returns the average color)</lsl> This will set the object's alpha to translucent, or 50%.

llSetLinkPrimitiveParams <lsl>llSetLinkPrimitiveParams(LINK_SET, [PRIM_COLOR, ALL_SIDES, llGetColor(ALL_SIDES), 0.5]);

// Using llGetColor this way may not give the desired result (it returns the average color).</lsl> This will set the link-set's alpha to translucent, or 50%.

llSetLinkPrimitiveParamsFast <lsl>llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_COLOR, ALL_SIDES, llGetColor(ALL_SIDES), 0.5]);

// Using llGetColor this way may not give the desired result (it returns the average color).</lsl> This will set the link-set's alpha to translucent, or 50%.