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