Tiaeld Tolsen y el (meta)mundo.

Apuntes potencialmente interesantes para los residentes de Second Life.

¡Haz Tu Propio AO Con llSetAnimationOverride!

| Comments

De parte de nuestro colaborador Robe Jameson, tenemos un pequeño artículo acerca del uso de la función llSetAnimationOverride.

Utilizaremos la función llSetAnimationOverride para fabricarnos un AO de forma fácil.

  1. Pon el siguiente script y tus animaciones dentro de un prim.
  2. Edita los nombres de las animaciones del script y cámbialos a los nombres de tus animaciones.
  3. Vístete el prim.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Override the Sit, Stand and Walk animations
// 1. place this script and your animations in a prim
// 2. edit the animation names in the script to your animation's names
// 3. attach the prim to your avatar

string gMySit = "chop_sit";
string gMyStand = "FStand _02";
string gMyWalk = "Kort gang F v4.1";

default
{
    attach(key id)
    {
        if ( id ) llRequestPermissions(id , PERMISSION_OVERRIDE_ANIMATIONS);
        else if ( llGetPermissions() & PERMISSION_OVERRIDE_ANIMATIONS ) llResetAnimationOverride("ALL");
    }
    run_time_permissions(integer perms)
    {
        if ( perms & PERMISSION_OVERRIDE_ANIMATIONS )
        {
            llSetAnimationOverride( "Sitting", gMySit);
            llSetAnimationOverride( "Standing", gMyStand);
            llSetAnimationOverride( "Walking", gMyWalk);
        }
    }
}

Instrucciones

Expliquemos como extender este script con un ejemplo. En el código se muestra esta sentencia:

1
llSetAnimationOverride("Sitting", gMySit);

Quiere decir que cuando el avatar esté "Sitting" (Sentado), la animación que se reproduce es gMySit definida previamente en la línea 5:

1
string gMySit = "chop_sit";

Donde gMySit toma el valor "chop_sit".

No es necesario definir una variable global como en el script del ejemplo. Podemos omitir las líneas 5, 6 y 7 e introducir el nombre de la animación directamente como se mostrará en los ejemplos a continuación descritos.

Ahora explicaremos cómo ejecutar el resto de animaciones al igual que hacen otros AOs comerciales.

Valor Descripción Ejemplo
"Crouching" Mientras el avatar se agacha llSetAnimationOverride("Crouching", "animacion_agachado");
"CrouchWalking" Agachado y caminando llSetAnimationOverride("CrouchWalking", "animacion_agachado_caminando");
"Falling Down" Cayendo llSetAnimationOverride("Falling Down", "animacion_agachado_caminando");
"Flying" Volando llSetAnimationOverride("Flying", "animacion_volando");
"FlyingSlow" Volando despacio llSetAnimationOverride("FlyingSlow", "animacion_volando_despacio");
"Hovering" Flotando llSetAnimationOverride("Hovering", "animacion_flotando");
"Hovering Down" Flotando hacia abajo llSetAnimationOverride("Hovering Down", "animacion_flotando_abajo");
"Hovering Up" Flotando hacia arriba llSetAnimationOverride("Hovering Up", "animacion_flotando_arriba");
"Jumping" Mientras estas en el aire durante un salto llSetAnimationOverride("Jumping", "animacion_saltando");
"Landing" Aterrizando despues de un salto llSetAnimationOverride("Landing", "animacion_aterrizando");
"PreJumping" En el inicio de un salto llSetAnimationOverride("PreJumping", "animacion_pre-salto");
"Running" Corriendo llSetAnimationOverride("Running", "animacion_corriendo");
"Sitting" Sentandose en un objeto llSetAnimationOverride("Sitting", "animacion_sentado");
"Sitting on Ground" Sentandose en el suelo llSetAnimationOverride("Sitting on Ground", "animacion_sentado_suelo");
"Standing" De pie parado llSetAnimationOverride("Standing", "animacion_de_pie");
"Standing Up" Despues de caer a lo largo de una gran distancia llSetAnimationOverride("Standing Up", "animacion_levantandose");
"Striding" Cuando el avatar está atascado en el filo de un objeto ó encima de otro avatar llSetAnimationOverride("Striding", "animacion_equilibrandose");
"Soft Landing" Despues de caer una pequeña distáncia llSetAnimationOverride("Soft Landing", "animacion_caida");
"Taking Off" Despegando llSetAnimationOverride("Taking Off", "animacion_despegando");
"Turning Left" Girando a la izquierda llSetAnimationOverride("Turning Left", "animacion_girando_izquierda");
"Turning Right" Girando a la derecha llSetAnimationOverride("Turning Right", "animacion_girando_derecha");
"Walking" Caminando llSetAnimationOverride("Walking", "animacion_caminando");

Nota Aclaratoria: El primer parámetro de la función llSetAnimationOverride es un valor (circunstancia) de la tabla anterior. El segundo parámetro es el nombre de la animación a ejecutar cuando dicha circunstancia se produzca.

Comments