Настройка погоды и освещения
Материал из Mod Wiki.
Значение параметров погодных конфигов
[sect_default_weather] 01:00:00 = default_weather_01 02:00:00 = default_weather_02 ...
Здесь указывается время смены типов погоды, каждый тип включает в себя свой скайбокс и индивидуальные параметры освещения, дождя, грозы, и звука окружения. Переход осуществляется не скачкообразно, а плавно, практически не заметно.
[default_weather_01] ; имя типа погоды, описание которого ведется в этом блоке. flares = flares_gradient1 ; здесь указывается имя заготовки блика от солнца (заготовки прописаны в файле flares.ltx). sky_texture = skysky_14_cube ; это имя используемого скайбокса. cкайбокс - это куб, окружающий всю локацию, на 6 граней которого натянуты 6 текстур из файла, указанного в этой строке. нужно обратить внимание, что строка содержит еще и путь к файлу. sky_rotation = 0 ; определяет положение (азимут) скайбокса на описываемый час. sky_color = 1.0, 1.0, 1.0 ; это цвет неба, или, точнее, цвет рассеянного света, формат из 3 цифр, как и в параметрах ниже, подразумевает цветовую модель RGB, учитывая то, что здесь максимальная интенсивность цвета (255), здесь равна 1.0. например, цвет неба, равный [1.0, 0.0, 0.0] - зальет окрестность ярко красным светом. стоит учитывать, что здесь описывается не цвет, а свет, поэтому параметр, например, [0,0,0] - даст не черный цвет, а отсутствие вообще какого либо света. аналогично эффекту смешивания в фотошопе (screen). clouds_texture = skysky_oblaka ; это - имя тектуры облаков. не путать со скайбоксом. clouds_color = 0.333, 0.341, 0.431, 0.7, 1.7 ; это цвет облаков, первые 3 цифры - это RGB (см.выше), четвертая - это видимость (непрозрачность) текстуры облаков, т.е 0 - облаков не видно, а 1 - полная видимость. пятая цифра - скорость движения облаков. far_plane = 350 ; это, судя по всему, дальность видимости (расстояние, на котором "обрезается" карта). fog_distance = 350 ; в DX9 это расстояние, на котором туман фактически "прекращает" действовать. непосредственно дымка, интенсивность которой задаётся fog_density, "висит" в радиусе fog_distance. за пределами этого радиуса часть геометрии "съедается" и вместо неё отображается небо (скайбокс). правильно подобранная текстура неба имитирует вдали клубы тумана. а уже дальше снова проявляется геометрия уровня (холмы и т.д.). в DX8-режиме туман рудиментарен и обсуждать его нет особого смысла. fog_color = 0.043, 0.043, 0.055 ; непосредственно сам цвет тумана. fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть четкие края карты. rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман. rain_color = 0.21, 0.21, 0.27 ; цвет (непосредственно капель) падающего дождя. thunderbolt = thunderbolt_collection_default ; это имя заготовки грозы, если грозы не предусмотрено, значение можно оставить пустым. bolt_period = 4.5f ; это время между вспышками молний. значение прописано не в секундах. В принципе, эмпирически установлено, что в грозовую погоду желательно ставить значения около 20f, в дождливую - в районе 50f. bolt_duration = 0.35f ; это собственно продолжительность фазы вспышки молнии. выставив высокое значение, можно вовсе получить не молнию, а некое плавно нарастающее свечение. wind_velocity = 0.0 ; сила ветра. wind_direction = 0.0 ; направление ветра. ambient = 0.0425, 0.045, 0.0475 ; общее освещение локации, те тона, в которые она будет окрашена (цвет и интенсивность света фонового освещения там, где не светит солнце - выставив значения в [0,0,0] - получим кромешную тьму в зданиях и под навесами. работает только на R2. lmap_color = 1.0, 1.0, 1.0 ; видимо, цвет лайтмапа. hemi_color = 0.0425, 0.045, 0.0475, 0.1 ;по слухам, параметр, идентичный амбиенту, только предназначенный для статичного освещения. насчет четвертой цифры - не в курсе. sun_color = 0.0, 0.0, 0.0 ; свет солнца, его интенсивность также влияет на тени, если солнце не светит, теней от него не будет. sun_dir = -18.0, 291 ; положение солнца, первая цифра - это высота, знак минус означает, что солнце выше горизонта. от горизонта до горизонта солнце описывает полукруг, значения в игре соотносятся с градусами, то есть от -0 до -180, зенит -90, вторая цифра определяет положение солнца относительно сторон горизонта, нулевое значение вроде соответствует югу. env_ambient = ambient_env_rain ; это набор звуков окружения.
Параметры бликов
Находятся в файле flares.ltx.
[flares_sun_rise] ; название cекции, параметры которой описываются ниже flare_opacity = 0.340, 0.260, 0.500, 0.420, 0.260, 0.260 ; непрозрачность каждого отражения, в порядке от дальнего к ближнему. flare_position = 1.300, 1.000, 0.500, -0.300, -0.600, -1.000 ; позиция каждого отражения на оси, порядок соотв. верхнему. flare_radius = 0.080, 0.120, 0.040, 0.080, 0.120, 0.300 ; радиус каждого отражения, порядок соотв. верхнему. flare_textures = fxfx_flare1.tga, fxfx_flare2.tga, fxfx_flare2.tga, fxfx_flare2.tga, fxfx_flare3.tga, fxfx_flare1.tga ; имена текстур, использованных на каждое отражение, порядок аналогичен. можно заметить, что прописан формат *.tga, в действительности используются, как и везде, текстуры *.dds, а вообще - поддержка формата *.tga под вопросом. flare_shader = effectsflare ; шейдер. flares = on ; параметр включает или выключает блики, например, для луны - они не уместны. gradient = on ; параметр, включающий/выключающий ореол вокруг светила, дающий эффект ослепления. gradient_opacity = 1.0 ; непрозрачность ореола. gradient_radius = 0.7 ; радиус ореола. gradient_texture = fxfx_gradient.tga ;имя текстуры ореола. gradient_shader = effectsflare ; аналогично [flare_shader]. source = on ;параметр, включающий/выключающий отображение источника, то есть самого солнца или луны. source_radius = 0.03 ; радиус источника. source_texture = fxfx_sun_rise.tga ;имя используемой для источника текстуры. source_shader = effectssun ; аналогично [flare_shader]. source_ignore_color = false ; игнорирование цвета источника.