Есть у нас погода где прописан дождь, есть текстура #small которая подсвечивает уровень и есть красный канал в bump.dds текстурах, который реагирует на #small.
Погода -
Путь - \gamedata\config\weathers Файлы - default_groza.ltx, default_pasmurno.ltx и _rain.ltx
В конфигах погоды где есть дождь прописать (желательно свою) текстуру, т.е. сделать свой кубемап.dds + к ней #small.dds
Пример для [default_weather_rain_01]: sky_texture = sky\sky_test_cube_day
Что получим? получим ошибку при запуске игры она будет просить текстуру. Значит идём делаем текстуру.
Текстура -
Путь - \gamedata\textures\sky Файлы - наш_кубемап.dds, наш_кубемап_#small.dds
Кубепам.dds по сути может быть любым, однако достаточно выгодно смотрится c чистой серой заливкой (имхо), #small.dds желательно делать чуть больше чем остальные #small в игре. К примеру для #small.dds - 768х128px. Почему больше чем остальный? это позволит ввести в текстуру достаточную детальность. Требования к #small.dds - не должна быть цветной (т.е. ЧБ). Правила для #small.dds - а) тёмные пятна не отражаются в игре, светлые - отражаются. б) Чем сильней светлый участок в текстуре, тем сильнее данный участок будет отражен. в) Сильный контраст текстуры плохо сказывается на картинке в игре.
Что получим? УРРАААААА Есть намокание! Т.е. получим запуск игры, однако, в зависимости от того что изображено на вашей #small.dds и контрастности изображения, мы получим во время дождя отражение некоего "типа" на всём подряд (в частности на руке ГГ) выглядит не очень.... Пожалуй нужно это исправить! Чтож... всё считается в шейдерах, значит идём пытаться править шейдеры!
Шейдеры - Путь - \gamedata\shaders\r2
Находим файл с именем: sload.h и делаем его дубликат. но изменяем имя к примеру на... ммм... на sload-2.h
И после строки S.normal = Nu.wzyx + (NuE.xyz - 1.0h); ставим: S.normal = half3(0,0,0);
Идём дальше. Находим файл с именем - deffer_base_bump.ps и так же делаем его дубликат, имя даём - deffer_base_bump_2.ps В нём меняем в самом верху строку #include "sload.h" на наш дубликат #include "sload-2.h" Находим файл: deffer_base_bump-hq.ps и в нём ставим : #define USE_PARALLAX #include "deffer_base_bump_2.ps"