Настройка погоды и освещения
Материал из Mod Wiki.
(Различия между версиями)
Версия 15:50, 20 января 2009 (править) Argus (Обсуждение | вклад) (→Параметры погоды) ← К предыдущему изменению |
Текущая версия (06:28, 22 декабря 2010) (править) (отменить) Alex Ros (Обсуждение | вклад) (→Параметры погоды) |
||
Строка 9: | Строка 9: | ||
...</pre> | ...</pre> | ||
- | Здесь указывается время смены секций погоды, каждая секция включает в себя свой скайбокс и индивидуальные параметры освещения, дождя, грозы, и звука окружения. Переход между секциями осуществляется не скачкообразно, а плавно, практически не заметно. Имена секций можно ставить произвольные, используя латиницу, время так же можно выставить любое, но не рекомендуется. | + | Здесь указывается время смены секций погоды, каждая секция включает в себя свой скайбокс |
+ | и индивидуальные параметры освещения, дождя, грозы, и звука окружения. Переход между секциями | ||
+ | осуществляется не скачкообразно, а плавно, практически не заметно. Имена секций можно ставить | ||
+ | произвольные, используя латиницу, время так же можно выставить любое, но не рекомендуется. | ||
<pre>[default_weather_01] ; имя секции погоды, описание которой ведется в этом блоке. | <pre>[default_weather_01] ; имя секции погоды, описание которой ведется в этом блоке. | ||
Строка 20: | Строка 23: | ||
в этой строке. нужно обратить внимание, что строка содержит еще и путь к файлу. | в этой строке. нужно обратить внимание, что строка содержит еще и путь к файлу. | ||
- | sky_rotation = 0 ; определяет положение (азимут) скайбокса на описываемый час. Если выставить в соседних секциях разные значения азимута, то в переходах между секциями скайбокс будет плавно совершать вращение от одного значения к другому. | + | sky_rotation = 0 ; определяет положение (азимут) скайбокса на описываемый час. Если выставить |
+ | в соседних секциях разные значения азимута, то в переходах между секциями скайбокс будет плавно | ||
+ | совершать вращение от одного значения к другому. | ||
sky_color = 1.0, 1.0, 1.0 ; это цвет неба, или, точнее, цвет рассеянного света, | sky_color = 1.0, 1.0, 1.0 ; это цвет неба, или, точнее, цвет рассеянного света, | ||
Строка 28: | Строка 33: | ||
стоит учитывать, что здесь описывается не цвет, а свет, поэтому параметр, | стоит учитывать, что здесь описывается не цвет, а свет, поэтому параметр, | ||
например, [0,0,0] - даст не черный цвет, а отсутствие вообще какого либо света. | например, [0,0,0] - даст не черный цвет, а отсутствие вообще какого либо света. | ||
- | аналогично эффекту смешивания в фотошопе (screen). НО! Опытным путем установлено, что движок может работать со значениями больше единицы. | + | аналогично эффекту смешивания в фотошопе (screen). НО! Опытным путем установлено, что движок |
+ | может работать со значениями больше единицы. | ||
clouds_texture = sky\sky_oblaka ; это - имя тектуры облаков. не путать со скайбоксом. | clouds_texture = sky\sky_oblaka ; это - имя тектуры облаков. не путать со скайбоксом. | ||
Строка 47: | Строка 53: | ||
и т.д.). в DX8-режиме туман рудиментарен и обсуждать его нет особого смысла. | и т.д.). в DX8-режиме туман рудиментарен и обсуждать его нет особого смысла. | ||
- | fog_color = 0.043, 0.043, 0.055 ; непосредственно сам цвет тумана. При слишком высоких значениях параметра объекты вдали будут светлее неба, поэтому если вдали видим "белые сосны", то проблема именно в этом параметре. | + | fog_color = 0.043, 0.043, 0.055 ; непосредственно сам цвет тумана. При слишком высоких |
+ | значениях параметра объекты вдали будут светлее неба, поэтому если вдали видим "белые сосны", | ||
+ | то проблема именно в этом параметре. Можно добавить, что вычислять цвет тумана можно двумя способами. | ||
+ | В случае если цвет неба sky_color равен 1.0, 1.0, 1.0, то можно открыть текстуру скайкуба в фотошопе | ||
+ | и щелкнуть пипеткой на цвет "дна" скайкуба. Потом по формуле 1/255*[значение в фотошопе]=[значение для игры] | ||
+ | вычислить для каждого цветового канала, какого же цвета нужен туман. В случае если цвет неба | ||
+ | sky_color НЕ равен 1.0, 1.0, 1.0, то необходимо зайти в игру, пролететь камерой за край локации | ||
+ | и сделать скриншот "дна" текстуры скайкуба, а потом провести операции с пипеткой в фотошопе с | ||
+ | вычислением цвета для настроек игры. | ||
fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть | fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть | ||
четкие края карты, а если поставить значение больше единицы, то туман будет виден прямо перед носом. | четкие края карты, а если поставить значение больше единицы, то туман будет виден прямо перед носом. | ||
- | rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман. Примечательно, что зависимость от параметра нелинейна, и значение 0.2 практически не отличается от единицы. Чтобы сделать действительно слабый дождь, надо экспериментировать с очень маленькими значениями. | + | rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман. Примечательно, что зависимость |
+ | от параметра нелинейна, и значение 0.2 практически не отличается от единицы. Чтобы сделать действительно | ||
+ | слабый дождь, надо экспериментировать с очень маленькими значениями. | ||
rain_color = 0.21, 0.21, 0.27 ; цвет (непосредственно капель) падающего дождя. | rain_color = 0.21, 0.21, 0.27 ; цвет (непосредственно капель) падающего дождя. |
Текущая версия
Содержание |
Значение погодных параметров и относящихся к ним конфигов
Параметры погоды
[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 = sky\sky_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 = sky\sky_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 ; непосредственно сам цвет тумана. При слишком высоких значениях параметра объекты вдали будут светлее неба, поэтому если вдали видим "белые сосны", то проблема именно в этом параметре. Можно добавить, что вычислять цвет тумана можно двумя способами. В случае если цвет неба sky_color равен 1.0, 1.0, 1.0, то можно открыть текстуру скайкуба в фотошопе и щелкнуть пипеткой на цвет "дна" скайкуба. Потом по формуле 1/255*[значение в фотошопе]=[значение для игры] вычислить для каждого цветового канала, какого же цвета нужен туман. В случае если цвет неба sky_color НЕ равен 1.0, 1.0, 1.0, то необходимо зайти в игру, пролететь камерой за край локации и сделать скриншот "дна" текстуры скайкуба, а потом провести операции с пипеткой в фотошопе с вычислением цвета для настроек игры. fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть четкие края карты, а если поставить значение больше единицы, то туман будет виден прямо перед носом. rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман. Примечательно, что зависимость от параметра нелинейна, и значение 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 ; игнорирование цвета источника.
Параметры фонарика
Файл находится по следующему пути:
config\models\objects\light_night.ltx
[torch_definition] range = 30 ; дистанция в метрах. range_r2 = 30 ; дистанция в метрах (для динамического освещения). color = 0.22,0.22,0.22,0.2 ; цвет, из 4 компонентов <r,g,b,a> значением от 0 до 3. color_r2 = 1.1,1.1,1.1,0.0 ; цвет, из 4 компонентов <r,g,b,a> значением от 0 до 3 (для динамического освещения). omni_range = 3 ; дистанция освещения от фонариков неписей в метрах. omni_range_r2 = 3 ; дистанция освещения от фонариков неписей в метрах (для динамического освещения). omni_color = 1.0,1.0,1.0,0.1 ; цвет фонариков неписей, из 4 компонентов <r,g,b,a> значением от 0 до 3. omni_color_r2 = 1.0,1.0,1.0,0.1 ; цвет фонариков неписей, из 4 компонентов <r,g,b,a> значением от 0 до 3 (для динамического освещения). color_animator = empty ; цвет аниматора (empty - аниматор не используется). spot_texture = internalinternal_light_torch_r2 ; текстура яркой точки (для динамического освещения). spot_angle = 45 ; угол освещения в градусах. glow_texture = glowglow_torch_r2 ; текстура свечения фонарика, когда он направлен в глаза (обязательный параметр). glow_radius = 0.3 ; радиус свечения в метрах. guide_bone = lights_bone ; кость, к направлению которой привязывается фонарик (изменять строго не рекомендуется).
Авторы
Статья создана по материалам, предоставленным: