-- File : test.lua -- Brief : -- Autor : -- Date : -- //////////////////////////////////////////////////////////////////////////////// -- Global properties world_space( false ) -- Si se pone a FALSE, el emisor se puede mover sin afectar a las partículas ya lanzadas max_particles( 50 ) -- Número máximo de partículas -- Behaviour exhaust_mode( WAIT ) -- WAIT: Hace que las partículas se esperen a que mueran para que aparezca una nueva cuando se ha llegado al límite de particulas -- REPLACE: Fuerza la muerte de las partículas cuando se sobrepasa el limite máximo de partículas time_scale( 0.5 ) -- Con este valor se controla el tiempo de vida de las partículas. Si vale 1 dura 1 sengundo, si vale 0.5 dura 2 segundos, etc. gravity( ON ) -- Activación de la gravedad gravity_multiplier( 2.0 ) -- Multiplicador de gravedad -- Appearance draw_order( INVERSE ) -- DIRECT: pinta en orden de creación de las partículas -- INVERSE: pinta en orden inverso de creación -- SORTED: TODO: aún no implementado (en orden de Z) shader_name( "carNitroSmoke1.fx" ) -- Nombre del shader que se usará para el sistema de partículas rotation_speed(0) -- Velocidad de rotación de las partículas palette_name('Humo_degradadoDust.tga') -- Nomnbre de un fichero tga que se usará como paleta de colores color(250, 180, 60, 220) -- Color base de las partículas color_func( PALETTE ) -- PALETTE: Usa la paleta de colores de un fichero tga especificado con la función palette_name() -- FADE_IN_FADE_OUT: Cada prtícula empieza oscura, a mitad de su vida es blanco y termina oscuro. -- FAST_FADE_IN_FADE_OUT: Igual pero empieza a ser blanco antes -- FADE_IN_FAST_FADE_OUT: La transición de salida es rápida -- FAST_FADE_IN_FAST_FADE_OUT: Las transiciones de entrada y salida son rápidas -- SLOW_FADE_IN_FADE_OUT: La transición de entrada es lenta -- FADE_OUT: TODO: empieza con la máxima intensidad y va perdiendo poco a poco. -- NONE: No hace ningun fade. size( 2 ) -- Multiplicador del tamaño de las partículas size_func( CONE, 10 ) -- CONST: Los tama–os de las part’culas son constantes -- CONE: Los tamaños de las partículas van creciendo con forme el tiempo de vida de la partícula -- FADEINFADEOUT: Los tamaños de las partículas crecen al nacer y decrecen cuando mueren initial_processed_time(0)-- Tiempo de proceso con el que se inicia el sistema de partículas (sirve para que no se vea el crecimiento del sistema de partículas, sino que ya aparezca crecido de repente). -- Forces : Todas las siguientes fuerzas se pueden combinar simplemente añadiendo varias. -- FORCE_DIRECTIONAL: Aplicamos una fuerza direccional a las partículas. Los tres primeros valores son el vector de dirección y el 4º es un valor de escalado de dicho vector -- FORCE_REPULSOR: Aplica una fuerza de repulsión. Los tres primeros valores son la posición del repulsor. El 4º valor es el radio de acción y el 5º la fuerza de repulsión. -- FORCE_REPULSOR_XZ: Aplica una fuerza de repulsión sólo sobre las direcciones del plano XZ. Los tres primeros valores son la posición del repulsor. El 4º valor es el radio de acción y el 5º la fuerza de repulsión. -- FORCE_ATTRACTOR: Se añade un atractor que atrae a las partículas. Los tres primeros parámteros son la posición del atractor, el cuarto es el radio de acción y el quinto la fuerza de atracción (valores pequeños entre 0 y 1). -- FORCE_TURBINE: Crea una fuerza de turbina. Los tres primeros parámetros son la posición de atracción de la turbina. El cuarto parámetro es la fuerza de atracción y el quinto es la fuerza tangencial (la que hace que gire). -- FORCE_WIND: Crea una fuerza de viento que va y viene. Los tres primeros valores son la dirección del viento. El 4º es la amplitud y el 5º la frecuencia del ciclo. --force( FORCE_DIRECTIONAL, 0, 1.5, -2, 1, 0) --force( FORCE_REPULSOR_XZ, 0, 0, 0, 10, 5) -- Emitters : Se pueden crear tantos emisores como se quiera, cada uno con un número id diferente emitter( 0 ) do setType( SPHERE ) -- POINT: Todas las partículas salen del punto de origen -- SPHERE: Todas las partículas salen de puntos elegidos aleatoriamente de dentro de una esfera que se especifica con la función extents(). -- BOX: Todas las partículas salen de puntos elegidos aleatoriamente de dentro de un cubo que se define con la función extents(). -- BOXLIMITS: Parecido al anetior -- GRID: TODO: las particulas salen de varios puntos de un grid predefinido y con posibilidad de cambiar parámetros para cada punto de emisión. rate( 75.0 ) -- Velocidad de salida de partículas del emisor. rate_pattern( NOISE, 100, 0 )-- CONST: Las partículas salen de manera constante -- SINUS: Las partículas salen siguiendo una distribución senoidal. -- PULSE: Las partículas se emiten la mitad del tiempo sí, la mitad no -- NOISE: Las partículas se emiten con un un ruido de tipo perlin. -- RAND: Las partículas se emiten con una distribución aleatoria. -- El resto de parámetros sólo se usan para los tipos SINUS, PULSE y NOISE. El 2º parámetro es el periodo y el 3º el offset que no se usa actualmente (TODO). origin( 0, 0.2, -2.5 ) -- Punto de origen del emisor (si se usa la propiedad world_space(FALSE) se usará el sistema de coordenadas relativo al Pawn que lo contiene). extents( 0, 0.3, 2 ) -- Extensión del emisor. Define el tamaño del emisor que puede ser de tipo SPHERE, BOX o BOXLIMITS. dir( 0, 0.2, -1 ) -- Dirección de salida de las partículas angle_variation( 0 ) -- Variación del angulo de salida en grados. speed( 0.1 ) -- Velocidad de las partículas speed_variation( 0 ) -- Variación de la velocidad de las partículas --start_age() -- Vida de comienzo de la partícula (entre 0 y 1). end