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.