Difference between revisions of "Category:LSL Alpha"

From Second Life Wiki
Jump to navigation Jump to search
m (float not integer)
m (Replaced <source> with <syntaxhighlight>)
 
(17 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header|ml=*}}
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 transparent. When set to '''1.0''', the object is opaque.
Sometimes, [[Resident]]s 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.


Alpha indicates how much an object is opaque or translucent. In LSL alpha is set using a [[float]] value ranging from 0.0, indicating a clear object to the highest value 1.0, indicating an opaque object.  
==Build Mode==
In Build Mode, the alpha is represented by a percentage, ranging from '''0%''' to '''100%'''. 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 less transparent.


When setting the alpha channel through the SL GUI alpha is represented as a percentage value ranging from 0 to 100, and there is a cap at 90%.
==Examples==
Below are examples on how one may set the alpha of an object.
{|cellspacing="0" cellpadding="6" border="1" style="border: 1px solid #aaaaaa; margin: 1em 1em 1em 0pt; background-color: #F8F8FF; border-collapse: collapse"
!style="background-color: #D2D3FF" | Function
!style="background-color: #D2D3FF" | LSL Example & Description
|-
| [[llSetAlpha]]
| <syntaxhighlight lang="lsl2">llSetAlpha(1.0, ALL_SIDES);</syntaxhighlight> This will set the object's sides' alpha to opaque, or '''0%'''.
|-
| [[llSetLinkAlpha]]
| <syntaxhighlight lang="lsl2">llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);</syntaxhighlight>
This will set link-set's alpha to transparent, or '''100%'''.
|-
| [[llSetPrimitiveParams]]
| <syntaxhighlight lang="lsl2">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)</syntaxhighlight>
This will set the object's alpha to translucent, or '''50%'''.
|-
| [[llSetLinkPrimitiveParams]]
| <syntaxhighlight lang="lsl2">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).</syntaxhighlight>
This will set the link-set's alpha to translucent, or '''50%'''.
|-
| [[llSetLinkPrimitiveParamsFast]]
| <syntaxhighlight lang="lsl2">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).</syntaxhighlight>
This will set the link-set's alpha to translucent, or '''50%'''.
|-
|}


{{LSLC|}}{{LSLC|Face}}
{{LSLC|}}{{LSLC|Face|*Alpha}}

Latest revision as of 11:08, 17 April 2022

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 transparent. 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 100%. 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 less transparent.

Examples

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

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

This will set link-set's alpha to transparent, or 100%.

llSetPrimitiveParams
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)

This will set the object's alpha to translucent, or 50%.

llSetLinkPrimitiveParams
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).

This will set the link-set's alpha to translucent, or 50%.

llSetLinkPrimitiveParamsFast
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).

This will set the link-set's alpha to translucent, or 50%.