NGLE Manual
All the TR3 Waterfalls have been compiled in one TGA set for your convenience and can be downloaded here:

Download  249 Kb

 

Manual del NGLE

Texturas Animadas - Técnicas Avanzadas

Por Bedazzled
Traducido por Pemon

Nota: Este tutorial solo es aplicable al nuevo motor del juego y NO al anterior NGLE.

P – Frames  (Diapositivas)

Esto te permite cambiar la texturización de un cuarto sin necesidad de usar flipmaps, por ejemplo; puedes cambiar el suelo que está cubierto con hierba a nieve usando un flipeffect.

Para hacerlo, asignas un rango de animación consistente en 2 o más texturas con el Anim – Type set to P – Frame. Al aplicar este trigger que se muestra abajo, la textura referenciada por el parámetro [E]xtra será reemplazado por el parámetro Timer. Dos rangos diferentes P – Frame pueden ser usados con este tipo de trigger.

River-Rotate    (Río-Rotación)

Nota: Durante las pruebas he usado las texturas normales de agua suministradas con los archivos .tga estándar.

No aconsejo usar valores por encima de 4 y 6 texturas para 64 x 64 y 128 x 128 respectivamente ya que el efecto deseado de scrolling se pierde a velocidades superiores.

Información suministrada por Paolone

Esta animación mezcla UV-scroll full rotate con la animación normal de diapositivas. Se usa para simular el movimiento del caudal de agua de un río. En realidad el movimiento del agua (Uv-range) pero también se ve la luz reflejada en la superficie (frame animation).

Para configurarlo en la ventana del Animation range del NGLE, debes colocar en la lista desplegable de la parte superior un valor bajo para el UvRotate tal como 1 o 2 para texturas de 64x64 o un valor de 2 o 3 para texturas de 128x128.

En la lista desplegable de la parte inferior debes poner un valor de MAX_FPS o algo inferior tal como 28 fps. La lista desplegable de la parte inferior se configura con la velocidad de la animación de diapositivas (frame animation) como el agua normal, mientras que la lista desplegable de la parte superior se configura la velocidad scrolling (UvRange).

Es recomendable colocar solamente unas pocas texturas para el rango del río y así permitir tener otras texturas para el agua normal.

El rango River-rotate se coloca en el nivel de la misma forma que las texturas normales del agua - double sided (doble lado) y transparent en el portal entre los dos cuartos. Cuando coloques estas texturas de río, es importante girar todas las texturas de la misma forma para conseguir la misma dirección que la de animación UvRotate. Por supuesto esta dirección debe seguir el caudal del río.

Si durante el juego no puedes apreciar claramente el caudal del río, podría ser de ayuda reducir la velocidad de diapositivas (frame speed), poner en la lista desplegable inferior, un valor MAX_FPS más bajo, por ejemplo, valores de 28 fps or 20 fps.

Paolone aconseja que el rango de animación del río requiere, que un par de cualquiera de estas texturas sean colocadas ocultas en cualquier parte del nivel y en modo Opaco. He realizado pruebas con y sin colocar estas texturas opacas y no he notado diferencia alguna.

Texture Sequences    (Secuencia de texturas)

Esto permite que una textura de la secuencia sea reemplazada por otra definida por el creador del nivel y que pueda ser activada o parada repetidamente usando el trigger flipeffect. Un autor creativo puede conseguir el efecto para el jugador de ver como Lara, en algún momento del juego, mover sus labios como si estuviera hablándole.

Solo pueden ser usadas texturas colocadas específicamente en el mapa .tga, estas se muestran abajo, y se cuenta de izquierda a derecha empezando por la superior de la izquierda del mpa .tga comenzando por la 1.

Texturas 5 – 12 y 21 - 24.  En la actualidad texturas colocadas en otro lugar del mapa no funcionan, es posible que esto sea resuelto en el futuro por lo cual este tutorial sería actualizado para reflejar los cambios.

Una gran cantidad de inestimable información referente a los comandos requeridos en el script y varios de sus parámetros se encuentran en la documentación del TRNG suministrada por Paolone, la sección apropiada referida se encuentra al final de este tutorial. Voy a dar algunos ejemplos de cómo configurar alguna de estas secuencias de texturas.

Example 1 A single sequence and range
Ejemplo 1, Una sola secuencia y rango

En la ventana Animation Ranges (Rangos de Animación) selecciona las texturas deseadas hasta un máximo de 16, desde la lista desplegable Anim – Type selecciona P –Frames pulsa en los botones Assign y OK.

Coloca un trigger para el (effect) efecto en el lugar requerido y coloca los parámetros del trigger como se muestra abajo.

Nota: El parámetro del rango de animación (animation range) introducido en la ventana del trigger debe ser el número del rango introducido. Si por ejemplo anteriormente has asignado un rango de textura por cualquier razón, debes seleccionar el 2º Rango de Animación (2nd Animation Range) de la ventana desplegable [E]xtra:

También se puede configurar un segundo trigger para parar el effect tal como se muestra aquí.

Finalmente, para completar el proceso de configuración del TextureSequence= comando debe ser añadido en el sector del script del nivel, aquí se muestra un ejemplo.

TextureSequence= 1, 1, SEQ_LOOP,3, 2, 1, 0

Esto hará ejecutar una secuencia de texturas en el orden 3,2,1,0, al ritmo de una por segundo de forma continuada (loop) hasta que sea parada por el flipeffect.

Los varios parámetros que pueden ser usados se explican de forma detallada al final de este tutorial.

Example 2 A pair of sequences and ranges
Ejemplo 2, Un par de secuencias y rangos

Esto se configura como en el ejemplo anterior hasta que tengamos que introducir los parámetros de los triggers y los datos en el archivo script. En este ejemplo, he introducido un juego de un rango para las texturas de agua normal antes de configurar el de la secuencia de texturas del segundo rango, como resultado he seleccionado el 3rd Animation Range en la ventana desplegable del trigger [E]xtra.

El script requiere, como aquí se muestra, de una entrada para cada rango, la segunda entrada hace referencia a la segunda secuencia del rango numerado como el 3, explicado más arriba. Solo he elegido 2 frames por segundo para la velocidad, las texturas se moverán en el orden inverso de forma continuada debido a;  SEQ_LOOP_INVERSE

TextureSequence= 1, 1, SEQ_LOOP,3, 2, 1, 0
TextureSequence= 3, 2, SEQ_LOOP_INVERSE,3, 2, 1, 0

Example 3 Multiple sequences within a single range
Ejemplo 3, Multiples secuencias dentro de un rango individual

Es posible tener varias secuencias de texturas dentro de un solo rango de animación, para este ejemplo voy a usar un rango individual de 8 texturas divididas en 2 secuencias, esta es la configuración usada para este tutorial de forma que puedas entender mejor lo que ocurre.

Para empezar, imagínate que ponemos la textura de la letra “A” en una pared y queremos que las letras formen una secuencia y las texturas numeradas formen la otra secuencia.

Debemos configurar este trigger para la 1ª secuencia.

Y este trigger para la 2ª secuencia.

E introducir estas entradas en el script.

TextureSequence= 1, 1, SEQ_LOOP,0, 1, 2, 3
TextureSequence= 2, 1, SEQ_LOOP,4, 5, 6, 7

Los números 0–7 hacen referencia a la posición de cada una de las texturas dentro del rango. Cuando el primer trigger es activado, la letra “A” será reemplazada en la secuencia por las letras B,C,D. una vez que se activa el segundo trigger, la secuencia será A,1,B,2,C,3,D,4. 

Activando los 2 triggers en el orden inverso, el resultado en las secuencias sería 1,2,3,4 y 1,A,2,B,3,C,4,D

Una o ambas secuencias se pararían usando un flipeffect como se muestra en el ejemplo 1, y también pueden ser paradas o iniciadas repetidamente.

 TextureSequence=
****************

Syntax: TextureSequence=IdTexSeq, FramePerSec, SEQ_ flags, Tex Indices array {...}
Scope: to use in [Level] section     (para usar en [Nivel] sección)

IdTexSeq field
--------------
Número correlativo para identificar esta secuencia de textura, cuando lo actives usando el trigger flipeffect. Debes usar "1" para el primer comando de la TextureSequence, el valor "2" para el comando de la segunda secuencia TextureSequence, etc.

FramePerSec field
------------------
En este campo (field) introduces la velocidad de la secuencia.
El valor es en frames por segundo. El valor máximo es de 30, ej. 30 frames por segundo, el valor más bajo es 1.

SEQ_ flags field
-----------------
Puedes configurar dos o más SEQ_ flags, puedes encontrar la lista en el panel de referencia del programa NG Center.

Actualmente hay las siguientes flags (banderas):

SEQ_LOOP
La secuencia será reproducida de forma indefinida. Si usas esta flag debes usar un flieffect específico para parar la secuencia, de no hacerlo será reproducida de forma continuada.

SEQ_LOOP_INVERSE
Este flag funciona solamente si has configurado el flag SEQ_LOOP. Mientras que el flag SEQ_LOOP individual configura un reproducción infinita de esta secuencia, (supongamos que usamos 4 texturas de 0 a 3): la secuencia se mostrará así.

0 1 2 3 0 1 2 3 0 1 2 3 ....

Cuando también configuras el flag SEQ_LOOP_INVERSE, la secuencia será:

0 1 2 3 2 1 0 1 2 3 2 1 0 ...

SEQ_STOP_AT_FIRST
Si configuras este flag, fuerzas al motor a que siempre se resetee a la primera textura del rango cuando la  secuencia de la animación haya sido completada. De forma diferente, si omites este flag la última textura mostrada depende del tipo de configuración de la secuencia de animación.

Si no has configurado un loop, la última textura mostrada será la del índice array sequence. Si has configurado un loop, la textura mostrada dependerá del momento exacto cuando actives la parada (Stop) del flipeffect de la secuencia de textura.

Tex Indices array {...} fields
------------------------------
El tex índices array, puede almacenar hasta 100 índices diferentes. Hay que separar los valores de la manera normal con comas ',' Cada índice describe la posición del índice para cada textura en el rango de animación específico.

Por ejemplo, si configuras cuatro texturas en el .tga map, con cada textura muestra literalmente una "A" en la primera y luego "B", "C" y "D". Cuando deseas que se muestre un frame con la textura "A" debes introducir el 0 (zero), cuando desees mostrar la "B" debes escribir 1, etc.

Por ejemplo, si tu comando del TextureSequence es:

TextureSequence= 1, 4, IGNORE,
3, 2, 1, 0

Tendrás un secuencia con el ID = 1 (este es el número para introducir en el trigger flipeffect para start/stop comenzar/parar esta secuencia).

La animación será lenta porque la has configurado a 4 fps, la imagen cambiará solo cuatro veces por segundo.

No será reproducida de forma continua porque has configurado, IGNORE para SEQ_ flags

Mientras que la secuencia mostrada durante el juego, será con las siguientes imágenes:

D  (3)
C  (2)
B  (1)
A  (0)

Remarks     (Notas)

  • Los rangos que puedes animar con el comando TextureSequence necesitan ser configurados como   "P-Frames" en el NGLE.
     
  • El máximo de texturas que puedes animar con TextureSequence es de 16. Esto quiere decir que solo puedes introducir números dentro del rango de 0 - 15 en los campos: Indices Array.
     
  • Puedes animar el mismo rango P-Frame con diferentes commandos del TextureSequence.
     
  • El número del P-Frame a animar necesita ser configurado en el trigger flipeffect trigger

Back to Top