PRIM POINT LIGHT/fr

From Second Life Wiki
Jump to: navigation, search

Description

Constante: integer PRIM_POINT_LIGHT = 23;

La constante PRIM_POINT_LIGHT de type integer a la valeur 23

PRIM_POINT_LIGHT est utilisé pour paramètrer les effets de lumière des prims

llSetPrimitiveParams

[ PRIM_POINT_LIGHT, integer booléen, vector couleur, float intensité, float rayon, float vitesse_extinction ]
• integer booléen TRUE activé, FALSE désactivé
• vector couleur Couleur en RVB <R, V, B> (<0.0, 0.0, 0.0> = noir, <1.0, 1.0, 1.0> = blanc)
• float intensité va de 0.0 à 1.0
• float rayon va de 0.1 à 10.0
• float vitesse_extinction va de 0.01 à 1.0

Lorsque utilisé avec llSetPrimitiveParams & llSetLinkPrimitiveParams

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_POINT_LIGHT ]);

Renvoie le list [ integer booléen, vector couleur, float intensité, float rayon, float vitesse_extinction ]

• integer booléen TRUE activé, FALSE désactivé
• vector couleur Couleur en RVB <R, V, B> (<0.0, 0.0, 0.0> = noir, <1.0, 1.0, 1.0> = blanc)
• float intensité va de 0.0 à 1.0
• float rayon va de 0.1 à 10.0
• float vitesse_extinction va de 0.01 à 1.0

Articles connexes

Constantes

•  CHANGED_SHAPE

Fonctions

•  llSetPrimitiveParams Permet de changer les paramètres d'une prim
•  llSetLinkPrimitiveParams Permet de changer les paramètres d'une prim liée
•  llGetPrimitiveParams Renvoie les paramètres d'une prim

Evénement

•  changed Evènement déclenché par une modification de la prim

Exemples

<lsl> // Demo de gestion d'une source de lumière unique // 8fev07 "tetsumo kuri" // Merci à squee janitor pour son analyse

integer light_s = TRUE; // "_s" pour indiquer qu'il s'agit d'un statut

default {

   state_entry()
   {
     //  llSetText("touchez moi",<1,0,0.6>,.5);  // au cas ou vous voudriez ajouter une étiquette
   }
   touch_start(integer total_number)
   {
       if ( light_s )
       { 
           light_s = FALSE;
           // fullbright (pleine lumière) n'a rien à voir avec la gestion des lumières introduite en 2006.
           // Le mode pleine lumière peut améliorer le rendu malgré tout
           llSetPrimitiveParams([PRIM_FULLBRIGHT,ALL_SIDES,FALSE]);
             
           llSetPrimitiveParams([PRIM_POINT_LIGHT, FALSE,   // si FALSE, la lumière est éteinte
                                    <0.0,1.0,0.0>,1.0, 10.0, 0.5]); // les autres paramètres sont sans importance
       }            
       else
       {
           light_s = TRUE;
           //llSetPrimitiveParams([PRIM_FULLBRIGHT,ALL_SIDES,TRUE]);   //laissons l'activation de ce mode en commentaire pour le moment
           llSetPrimitiveParams([PRIM_POINT_LIGHT,TRUE,
                                   <1.0,0.7,1.0>,  // couleur RVB          (varie entre 0.0 et 1.0 x3)
                                   1.0,            // intensité            (varie entre 0.0 et 1.0)
                                   10.0,           // rayon                (varie entre 0.1 et 10.0)
                                   0.6 ]);         // vitesse d'extinction (varie entre 0.01 et 1.0)
               
           // la même chose peut être réalisée en une seule ligne :
           // llSetPrimitiveParams([PRIM_FULLBRIGHT,ALL_SIDES,FALSE,PRIM_POINT_LIGHT,TRUE,<1.0,1.0,0.5>,20,1.0,0.5]);
           //      ... mais cela peut s'avérer plus difficile à lire...       
       }
       //llSay(0, " Clic!");
   }

} </lsl>