Eye gazing

De VirtUAM-wiki
Saltar a: navegación, buscar
40x40px Esta página está actualizada a la versión OpenSim 0.7.5

A la hora de analizar el comportamiento de los avatares, puede ser interesante detectar hacia donde centra su atención en todo momento, de esta forma podemos comprobar qué aspectos del entorno le generan más inquietud.

A continuación se presenta un script que muestra los grados de rotación del avatar que lleva anexado el objeto.

<source lang="lsl2"> // Intervalo de tiempo que se muestra la rotacion. integer TIEMPO=5;

// Función que devuelve los grados de rotacion del avatar con respecto al Norte. float dameRotacion() {

   // Cálculo de la rotación del avatar para intuir hacia dónde está mirando.     
       vector giro = ((llRot2Euler(llGetRot())*RAD_TO_DEG));
       float rotacion = giro.z;
       if (rotacion < 0)
       {
           rotacion += 360;
       }

       // Con esto tendríamos los grados de la orientación hacie el ESTE, lo cambiamos hacia el NORTE.       
       if (rotacion>=90 && rotacion<360)
       {
           rotacion -= 90;
       }
       else if (rotacion>=0 && rotacion <90)
       {
           rotacion += 270;
       }

       return rotacion;

}

default {

   attach(key id)
   {
       if(id)
       {
           // Si tiene el objeto vestido.
           llSetTimerEvent(TIEMPO);
       }
       else
       {
           // Si se quita el objeto.
           llSetTimerEvent(0);
       }
   }
   timer()
   {
        llOwnerSay("Tu rotacion es: " + (string) dameRotacion() );
   }

} </source>