Animacion



Esta entidad nos permite integrar animaciones (secuencias de imágenes .BMP) en nuestro juego en puntos concretos del escenario y que podremos activar mediante el comando 'ANI1' en el momento que queramos durante el transcurso del juego.




Parámetros de esta entidad:


  • Origin
  • Son tres cifras (X Y Z) que determinan la posición de esta entidad en el escenario. Estos 3 datos normalmente no se modifican aquí y se deja que se modifiquen según movemos esta entidad (con el ratón) desde 'World Editor'.



  • Activa
  • Con valor 'True' esta animación se comenzará a mostrar desde que de comienzo el nivel.

    Con valor 'False' esta animación no se comenzará a mostrar desde que de comienzo el nivel, habrá que activarla durante el transcurso del juego mediante un comando 'ANI1'.



  • Num_animacion
  • Número de animación (entre 1 y 255).

    Son números que deberemos asignar nosotros manualmente.

    Este número será el que se utilizará en el comando 'ANI1' para referirse a una animación en concreto.

    Se puede utilizar el mismo número en diferentes entidades 'Animacion' si lo que queremos es presentar la misma animación en diferentes posiciones al mismo tiempo y utilizando un solo comando 'ANI1'.



  • Nombre
  • Nombre de la animación.

    Con este nombre, Entidad 3D buscará en la carpeta 'bmp\texturas' una secuencia de imágenes .BMP que utilizará para presentar las animaciones.

    Por ejemplo, si ponemos el nombre chica en el parámetro 'Nombre', Entidad 3D buscará los ficheros:

    bmp\texturas\chica001.bmp

    bmp\texturas\chica002.bmp

    bmp\texturas\chica003.bmp

    bmp\texturas\chica004.bmp

    bmp\texturas\chica005.bmp

    .

    .

    ... hasta que encuentre el último.

    También buscará los ficheros con el canal Alfa correspondiente a cada uno de los ficheros anteriores:

    bmp\texturas\a_chica001.bmp

    bmp\texturas\a_chica002.bmp

    bmp\texturas\a_chica003.bmp

    bmp\texturas\a_chica004.bmp

    bmp\texturas\a_chica005.bmp

    .

    .

    La función de estos ficheros con canal Alfa se explica más abajo en el apartado de ejemplos.



  • Cuadro_inicial
  • Número de cuadro, de la secuencia de ficheros .BMP, por el que se comenzará a presentar la animación.

    Podemos tener una animación compuesta por 20 ficheros .BMP pero puede que nos interese mostrar en un momento dado sólo una secuencia que vaya por ejemplo desde el cuadro 10 al 15, entonces en el parámetro 'Cuadro_inicial' pondremos 10.



  • Cuadro_final
  • Número de cuadro, de la secuencia de ficheros .BMP, que será el último en la animación a presentar.

    Podemos tener una animación compuesta por 20 ficheros .BMP pero puede que nos interese mostrar en un momento dado sólo una secuencia que vaya por ejemplo desde el cuadro 10 al 15, entonces en el parámetro 'Cuadro_final' pondremos 15.



  • Dimension
  • Tamaño que tendrá esta animación. A más valor mayor tamaño.



  • Velocidad
  • Velocidad de la animación. A menos valor, animación más lenta.



  • Sonido
  • Nombre del fichero de sonido (exclusivamente en formato .WAV) que se interpretará mientras se muestra la animación. No se debe indicar la extensión '.WAV'.

    Este sonido es 3D posicional, por lo que el jugador oirá este sonido en el lado del altavoz que se encuentre el sonido en ese momento y con la atenuación correspondiente según la distancia en la que se encuentre el jugador.
    Este fichero de sonido ha de estar en la carpeta 'wav' de Entidad 3D.

    Por defecto se utiliza el fichero 'animacion.wav' que en realidad sólo produce silencio.



  • Transparencia
  • Nivel de transparencia que tendrá la animación (de 0 a 255), siendo 0 completamente invisible, 255 no es transparente y 128 semitransparente.




    Acerca de esta entidad:

    Puedes poner tantas entidades 'Animacion' como quieras, pero sólo se podrá mostrar una secuencia de animación al mismo tiempo. Eso no quiere decir que no puedas mostrar, al mismo tiempo, la misma animación pero repetida cinco veces, pero todas mostrarán la misma secuencia, en el mismo tamaño y con las mismas características.

    Asígnales un número de animación 'Num_animacion' distinto a cada una si las vas a activar por separado.

    La animación siempre es vertical y gira en función de los movimientos del jugador para que siempre la vea de frente. Esto tiene la ventaja de poder mostrar objetos o personajes 2D en un mundo 3D sin que se note demasiado que son planos, ya que siempre se mostrarán al jugador de frente.

    Los ficheros utilizados en la animación pueden ser con color RGB (16 millones de colores), aunque finalmente la animación los presentará a 256 colores.

    La resolución de los ficheros .BMP ha de ser de: 64x64 o 128x128 o 256x256.

    El nombre de la animación (parámetro 'Nombre') ha de ser igual en todas las entidades 'Animacion' de un nivel, si hay distintos nombres sólo se utilizará el que se encuentre en la primera entidad 'Animacion'. Para presentar distintas animaciones en un mismo nivel debes utilizar los parámetros 'Cuadro_inicial' y 'Cuadro_final' para presentar el intervalo de animación que desees en cada momento.

    No se puede activar una animación mientras aún está corriendo otra animación, primero hay que detener la animación en curso con el comando 'ANI0'.
    El total de ficheros .BMP que componen la animación no debe ser superior a 255.



    ¿ Para que sirve ?:

    Esta entidad se puede utilizar para por ejemplo:

    - Presentar animaciones a modo de pantallas que tenga que activar el jugador.

    - Letreros luminosos de neón con letras parpadeantes (con sonido eléctrico incluido).

    - Presentar personajes translúcidos que miran al jugador y le hablan.

    - Anuncios publicitarios animados semitransparentes a modo de hologramas.

    - Explosiones configurables (normales, de plasma, de gas, luminosas).

    - Efectos especiales (espirales en movimiento, luces pulsantes).

    - Imágenes fijas semitransparentes.

    ... todo dependerá de la calidad de los .BMP que utilices y de las variaciones que realices en los parámetros de la entidad 'Animacion' correspondiente.



    Ejemplo 1:

    Queremos presentar una pantalla que muestre la animación de un radar barriendo la zona.

    Colocamos estas 12 imágenes en formato gráfico .BMP en la carpeta 'bmp\texturas' de Entidad 3D:


    6 ficheros que forman la animación y sus 6 ficheros con el canal Alfa (todos de un tamaño de 256x256).

    ¿ Para que sirven lo ficheros Alfa ?. Pues indican a Entidad 3D que zonas de cada uno de los gráficos será transparente y cuales no, siendo el blanco para indicar completamente opaco y negro para indicar completamente transparente. Como en el caso de nuestro radar no nos interesa hacer nada transparente, todos los cuadros tienen su fichero Alfa completamente relleno de blanco.
    Para que aparezca esta animación en nuestro nivel sólo tendríamos que poner una entidad 'Animacion' con estos valores:







    Ejemplo 2:

    Queremos disponer de distintas animaciones en un mismo nivel para activar cada una de ellas en función de acciones del jugador.

    Esta es la secuencia que necesitaríamos:


    En esta ocasión hemos creado unos ficheros Alfa especiales para el letrero del Hotel para que en la animación sólo aparezca el letrero rojo sin las bandas negras que tienen a los lados los ficheros .BMP que contienen el letrero.

    Para situar el letrero en nuestro nivel crearíamos una entidad 'Animacion' como esta:


    De esta forma tendríamos las dos animaciones cargadas en memoria, con sus características definidas con sus entidades correspondientes y situadas en el nivel en las posiciones donde se presentarán las animaciones.

    Como sólo se puede mostrar una animación distinta al mismo tiempo, tendremos que utilizar los comandos 'ANI0 y ANI1' para desactivar y activar las animaciones durante el transcurso del juego, que en nuestro caso sería 'ACCI ANI1 1' para activar el radar y 'ACCI ANI1 2' para activar el letrero luminoso. Para desactivar cualquiera de las dos utilizaremos 'ACCI ANI0'.





    Efectos avanzados con los ficheros Alfa (Alpha Blending):

    Los ficheros Alfa no sólo soportan los colores blanco y negro para indicar opacidad y transparencia respectivamente, sino que también se pueden utilizar escalas de grises para hacer semitransparencias en función del nivel de brillo del gris que utilicemos. En resumen, cuanto más clara sea la zona que definimos en el fichero Alfa más opaca se presentará la animación y cuanto más oscura más transparente.

    Aquí puedes ver el resultado de utilizar estos matices en un fichero Alfa con grises:

     


     
     


     




    Consulta la sección de los comandos 'ANI0 y ANI1' para saber como activar y desactivar estas animaciones durante el transcurso del juego.