![]() |
Tutorial archivos ambiente (env files) |
| Posibilidades meteorológicas y astronómicas en Train Simulator |
| world_sky_satellites | Definición capas de satellites |
| ( | Paréntesis de inicio |
| 2 | Número de satellites |
Tras definir el número de satellites en la escena, pasamos al código de un satellite propiamente dicho, en este caso el sol:
| world_sky_satellite | Definición del satellite |
| ( | Paréntesis de inicio |
| world_sky_satellite_low_scale ( 200 ) | Tamaño del satellite en el horizonte |
| world_sky_satellite_high_scale ( 150 ) | Tamaño del satellite en el cénit |
| world_sky_satellite_rise_position ( 95 ) | Posición de salida (en grados) |
| world_sky_satellite_rise_time ( 07:00:00 ) | Hora de salida |
| world_sky_satellite_set_time ( 19:00:00 ) | Hora de puesta |
| world_sky_satellite_dir_rise_colour ( ffffee8b ) | Color directo en la salida |
| world_sky_satellite_dir_high_colour ( ffffffff ) | Color directo en el cénit |
| world_sky_satellite_dir_set_colour ( ffffb573 ) | Color directo en la puesta |
| world_sky_satellite_amb_rise_colour ( ff202020 ) | Color ambiental en la salida |
| world_sky_satellite_amb_high_colour ( ff808080 ) | Color ambiental en el cénit |
| world_sky_satellite_amb_set_colour ( ff202020 ) | Color ambiental en la puesta |
| world_sky_satellite_light ( 1 ) | Luz del satellite |
| world_sky_satellite_fog ( 0 ) | Transparencia del satellite |
| world_anim_shader | Definición animación del satellite |
| ( | Paréntesis de inicio |
| world_anim_shader_frames | Cuadros de la animación |
| ( | Paréntesis de inicio |
| 1 | Número de cuadros |
| world_anim_shader_frame ( ) | Definición cuadro animación |
| ) | Paréntesis de cierre |
| world_shader ( AddATexDiff | Tipo de Shader |
| terrain_texslots ( 1 | ? |
| terrain_texslot ( sun.ace 1 0 ) | Textura y parámetros |
| ) | Paréntesis de cierre |
| terrain_uvcalcs ( 1 | ? |
| terrain_uvcalc ( 1 0 0 0 ) | ? |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
Veamos una explicación más detallada de los parámetros junto con algunos ejemplos gráficos de su utilización. Al igual que con las capas, están estrechamente relacionados entre sí y las variaciones pueden causar, en ciertos casos, efectos indeseados:
| world_sky_satellite_low_scale ( 200 ) |
| Define el tamaño del satellite en el horizonte (en la realidad, la atmósfera actúa como una lente que aumenta los objetos celestes en el horizonte). Hay que tener en cuenta que dependerá del tamaño que tenga el objeto en la textura. Para que tenga más resolución, conviene que sea grande, para luego reducirlo con éste parámetro. |
| world_sky_satellite_high_scale ( 150 ) |
| Tamaño del satellite en el cénit (en la realidad, la atmósfera no aumenta los objetos celestes que están en su cénit). Combinando éste parámetro con el anterior se puede recrear el aspecto de un objeto astronómico con realismo. |
| world_sky_satellite_rise_position ( 95 ) |
| Define el punto del horizonte por donde aparecerá el objeto celeste (y en consecuencia, por dónde se esconderá). 0 es Norte, 180 Sur, 90 Este y 270 Oeste. |
| world_sky_satellite_rise_time ( 07:00:00 ) |
| Hora de aparición en el horizonte del objeto celeste. Funciona en colaboración con el parámetro siguiente. |
| world_sky_satellite_set_time ( 19:00:00 ) |
| Hora de desaparición en el horizonte del objeto celeste. Funciona en colaboración con el parámetro anterior. Tanto la salida como la puesta de un satellite afectarán a la coloración de la escena. |
| world_sky_satellite_dir_rise_colour ( ffffee8b ) |
| Color de la luz en el momento de la aparición del objeto celeste. Estos parámetros dir actúan tanto en el color del propio objeto como en el del cielo, no en el terreno ni sobre los objetos. |
| world_sky_satellite_dir_high_colour ( ffffffff ) |
| Color de la luz en el cénit del objeto. Igual que el anterior, afecta tanto al propio objeto como al color del cielo, no al del terreno ni a los objetos. |
| world_sky_satellite_dir_set_colour ( ffffb573 ) |
| Color de la luz en la ocultación tras el horizonte del objeto celeste. Igual que los anteriores, afecta al tinte del objeto y del cielo, pero no al del terreno ni los objetos. |
| world_sky_satellite_amb_rise_colour ( ff202020 ) |
| Color del ambiente en el momento de la aparición del objeto. Estos parámetros amb afectan al color del terreno y los objetos (excepto a los que utilizan texturas nocturnas), no al del satellite ni al del cielo. |
| world_sky_satellite_amb_high_colour ( ff808080 ) |
| Color del ambiente en el cénit del objeto celeste. Igual que el anterior, no afecta ni al propio objeto celeste ni al cielo y sí al terreno y los objetos que están en él (excepto a los que utilizan texturas nocturnas). |
| world_sky_satellite_amb_set_colour ( ff202020 ) |
| Color del ambiente en la ocultación del objeto tras el horizonte. Igual que los anteriores, no afecta ni al propio objeto celeste ni al cielo y sí al terreno y a los objetos que están sobre él (excepto a los que utilizan texturas nocturnas). |
| world_sky_satellite_light ( 1 ) |
| Activación ( 1 ) y desactivación ( ) de la luz que emite el satellite. Sirve para, activar y desactivar las sombras dinámicas producidas por el satélite. En el caso de tener una luna llena, es adecuado activarla para que produzcan sombras, tal como sucede en la realidad. Sin embargo, puede ser complicado controlar el color de las sombras. |
| world_sky_satellite_fog ( 0 ) |
| Controla la transparencia del objeto celeste. Valores entre 0 (opaco) y 100 (totalmente transparente). Sirve para difuminar el objeto celeste en situaciones nubosas ó neblinosas. Por lo que parece, no le afecta al sol. |
| world_shader ( AddATexDiff |
| Hay tres parámetros posibles para el shader: AddATexDiff, BlendATex y BlendATexxDiff. Se dice que debería ser para hacer algo visible sólo durante el día, sólo durante la noche ó en ambos casos, pero en la práctica (al menos con el sol) parece provocar sólo ligeras diferencias en el canal alpha de la textura y en el color: |
![]() | ![]() | ![]() |
| AddATexDiff | BlendATex | BlendATexDiff |
La definición para la capa que contiene la luna es similar pero diferente que la del sol. Para esto definiremos un nuevo satellite que corresponde a la luna:
Además de los diferentes parámetros respecto al sol, la mayor diferencia es el aspecto de la hoja de textura que utilizaremos. Además, en el caso de la luna, puede ser muy interesante utilizar diferentes texturas según la estación del año, lo que proporcionará más variedad a su aspecto. A continuación podemos ver un par de ejemplos:
Una vez colocada contra el cielo estrellado, el aspecto en la simulación de la luna creciente es el siguiente:
Una fina línea brillante revela la posición de la lunaworld_sky_satellite Definición del satellite ( Paréntesis de inicio world_sky_satellite_low_scale ( 50 ) Tamaño del satellite en el horizonte world_sky_satellite_high_scale ( 40 ) Tamaño del satellite en el cénit world_sky_satellite_rise_position ( 90 ) Posición de salida world_sky_satellite_rise_time ( 19:00:00 ) Hora de salida world_sky_satellite_set_time ( 7:00:00 ) Hora de puesta world_sky_satellite_dir_rise_colour ( ff000000 ) Color directo en la salida world_sky_satellite_dir_high_colour ( ff050510 ) Color directo en el cénit world_sky_satellite_dir_set_colour ( ff101020 ) Color directo en la puesta
world_sky_satellite_amb_rise_colour ( ff101020 ) Color ambiental en la salida world_sky_satellite_amb_high_colour ( ff101020 ) Color ambiental en el cénit world_sky_satellite_amb_set_colour ( ff101020 ) Color ambiental en la puesta world_sky_satellite_light ( 0 ) Luz del satellite world_sky_satellite_fog ( 100 ) Transparencia del satellite world_anim_shader Definición animación del satellite ( Paréntesis de inicio world_anim_shader_frames Cuadros de la animación ( Paréntesis de inicio 1 Número de cuadros world_anim_shader_frame ( ) Definición cuadro animación ) Paréntesis de cierre world_shader ( BlendATex Tipo de Shader terrain_texslots ( 1 ? terrain_texslot ( luna.ace 2 0 ) Textura y parámetros ) Paréntesis de cierre terrain_uvcalcs ( 1 ? terrain_uvcalc ( 1 0 0 0 ) ? ) Paréntesis de cierre ) Paréntesis de cierre ) Paréntesis de cierre ) Paréntesis de cierre

Luna llena. Adecuada por ejemplo, para SummerClear

Luna creciente. Adecuada, por ejemplo, para AutumnClear
El sistema que utiliza MSTS para representar el agua requiere primero definir, en el Editor de Rutas la baldosa ó baldosas que queremos inundar, y la altura que tendrá el agua en esas baldosas. Una vez hecho esto, la apariencia real del agua estará controlada por una serie de líneas de código en el apartado correspondiente dentro del archivo *.env.
| world_water | Definición de la capa de agua |
| ( | Paréntesis de inicio |
| world_water_terrain_patch_map ( 256 Wsib-W.raw ) | Archivo .raw de los colores |
| world_water_wave_height ( 0 ) | Altura de las ondas del agua |
| world_water_wave_speed ( 0 ) | Velocidad del movimiento de las ondas |
| world_water_layers | Capas de agua |
| ( | Paréntesis de inicio |
| 1 | Número de capas |
| world_water_layer | Primera capa de agua |
| ( | Paréntesis de inicio |
| world_water_layer_height ( -1 ) | Altura de la primera capa |
| world_anim_shader | Definición animación de la capa |
| ( | Paréntesis de inicio |
| world_anim_shader_frames | Definición cuadros animación de la capa |
| ( | Paréntesis de inicio |
| 1 | Número de cuadros |
| world_anim_shader_frame | Definición cuadro animación capa |
| ( | Paréntesis de inicio |
| world_anim_shader_frame_uvscroll ( 0 0 ) | Velocidad moviviento capa |
| world_anim_shader_frame_uvtiles ( 8 8 ) | Tiles de la capa |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| world_shader ( TexDiff | Tipo textura de la capa |
| terrain_texslots ( 1 | Número texturas en la capa |
| terrain_texslot ( waterbot.ace 1 0 ) | Textura de la capa |
| ) | Paréntesis de cierre |
| terrain_uvcalcs ( 1 | Número uvcalcs de la capa |
| terrain_uvcalc ( 1 0 0 0 ) | Movimiento uvcalc de la capa |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
MSTS, como todo software, es un producto inacabado. Inicialmente los parámetros relativos al "viento" deberían haber servido para direccionar, entre otras cosas, el humo de las locomotoras, pero finamente no se implementó. Ponemos aquí una representación de la definición de las capas de viento con fines únicamente ilustrativos, ya que no produciá el más mínimo efecto la modificación de sus parámetros.
| world_wind | Definición de la capa de viento |
| ( | Paréntesis de inicio |
| world_wind_layers | Capas de viento |
| 1 | Número de capas |
| world_wind_layer | Capa de viento |
| ( | Paréntesis de inicio |
| world_wind_layer_maxheight ( 100000 ) | Altura máxima del viento |
| world_wind_layer_direction ( 1 0 0 ) | Dirección del viento |
| world_wind_layer_speed ( 3 ) | Velocidad del viento |
| world_wind_layer_turbulencep ( 0.2 ) | Turbulencias del aire |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
| ) | Paréntesis de cierre |
Hasta aquí el Tutorial. Espero haber aportado algo y que lo expuesto aquí sea de alguna utilidad para alguien.
Copyright © Antonio Asensio Yzquierdo 2005-2020. Derechos reservados.