- Теперь terrain parallax из SSS доступен в публичной версии OGSR Engine. Включение в меню или консольной командой
r_terrain_parallax_enable.
Для правильной его работы, особенно чтобы правильно работали лужи, нужна перенастройка террейна: прописать террейнам вshaders.ltx/xrтекстуры из Anomaly+SSS, которые содержат правильные бампы под это. Пример:
[levels\aver_grass]
...
detail_name = detail\ground_grass_01
r2_r = detail\ground_grass_01
r2_g = detail\ground_asphalt_01
r2_b = detail\ground_earth_01
r2_a = detail\ground_mud_01Пример shaders.ltx из Secret Trails: https://github.com/I-AmDead/Secret-Trails/blob/80bb606/gamedata/shaders.ltx#L897
Кроме этого, для каждой текстуры террейна нужно подобрать свой offset. На offset влияет bump текстуры. Offset'ы задаются консольной командой ssfx_terrain_offset (их может быть 4). Для каждой локации подбирается набор из 4 текстур террейна, а offset'ы переключаются скриптом при переходе на новую локацию. Пример: https://github.com/I-AmDead/Secret-Trails/blob/80bb606/gamedata/scripts/ogsr/ogsr_shaders_control.script#L17
--Примерно так это настроено в Secret Trails
local ssfx_parallax_setup = {
["l01_escape"] = { -0.25, -0.15, -0.1, 0.0 },
["l02_garbage"] = { -0.15, -0.05, -0.1, 0.1 },
["l03_agroprom"] = { -0.2, -0.05, -0.13, 0.1 },
["l04_darkvalley"] = { -0.1, -0.05, -0.15, 0.1 },
["l05_bar"] = { -0.15, -0.1, -0.13, 0.0 },
["l06_rostok"] = { -0.07, -0.05, -0.07, 0.0 },
["l07_military"] = { -0.1, -0.1, -0.1, 0.05 },
["l08_yantar"] = { 0.1, -0.1, -0.45, 0.0 },
["l09_deadcity"] = { -0.13, -0.15, -0.25, 0.15 },
["l10_radar"] = { -0.2, -0.05, -0.1, 0.0 },
["l10_red_forest"] = { -0.15, -0.05, -0.15, 0.0 },
["l11_pripyat"] = { 0.1, -0.05, -0.1, -0.05 },
["l12_stancia"] = { -0.1, -0.05, -0.05, 0.1 },
["l12_stancia_2"] = { -0.05, 0.0, 0.0, 0.0 },
["l13_deep"] = { -0.2, -0.25, -0.2, 0.15 },
["swamp"] = { -0.15, -0.1, -0.2, 0.0 },
}
local function terrain_offset()
if (ssfx_parallax_setup[level.name()]) then
local setup = ssfx_parallax_setup[level.name()]
cmd("ssfx_terrain_offset " .. string.format("%f, %f, %f, %f", setup[1], setup[2], setup[3], setup[4]))
else
cmd("ssfx_terrain_offset 0, 0, 0, 0")
end
endЕсли задать offset неправильно, глубина намокания будет или недостаточной или слишком сильной.
Конечно наверное можно взять какие нибудь текстуры из паков под ТЧ/ЗП с нормальными бампами и под них всё это настроить, но мне кажется с этим ещё больше возьни будет, чем с готовыми из Anomaly+SSS.
В целом возьни с этими настройками много, но результат стоит того:
- Добавлен новый объёмный свет - Peak Volumetric shader by @LVutner
Оптимальные настройки для любых источников света:volumetric_intensity 0.2,volumetric_distance 1.
Можно аномалиям, у которых включен idle_light, прописать в конфиги:
idle_light_volumetric_enable = true
idle_light_volumetric_intensity = 0.25
idle_light_volumetric_distance = 1По умолчанию выключил r2_exp_far_no_shadows, чтоб волюметрики не исчезали с расстоянием.
-
Добавлена консольная команда
r2_volumetric_lights_blurдля включения блюра от SSS для волюметриков -
Управление шейдерными макросами
USE_ACES,SSFX_SHADOWS,SSFX_SSSперенесено в движок, теперь их можно переключать из консоли:ssfx_use_aces,ssfx_shadows_enable,ssfx_sss_enable. -
Поправлено мельтяшение намокания под деревьями во время дождя в некоторых случаях
-
Добавлены недостающие в публичной версии движка скриптовые экспорты для работы модного скриптового компаса https://github.com/I-AmDead/Secret-Trails/blob/main/gamedata/scripts/jr_compass.script
-
Добавлен инвентарный звук разрядки оружия
snd_unload_wpn. -
Добавлены новые звуки для болта и гранат:
snd_draw,snd_holster,snd_throw_start,snd_throw,snd_throw_end -
Добавлена более точная настройка позиции броска гранаты/болта из позиции худовой кости руки. Пример настройки:
[wpn_bolt]
throw_point_bone = r_hand
throw_point = 0, 0, 0 ;(offset from r_hand)Старые параметры throw_point / dir - предварительно не забудьте удалить из конфигов!
-
Добавлен S2-стайл быстрый бросок болта по ЛКМ. Чтобы включить, надо прописать в конфиг болта
quick_throw_use = true.
Так же добавлены звуки и анимации для быстрого броска болта:
snd_quick_throw_start,snd_quick_throw,snd_quick_throw_end
anm_throw_quick_begin,anm_throw_quick,anm_throw_quick_end
и поддержка отдельногоquick_throw_point(по умолчанию равенthrow_point) иquick_throw_point_bone(по умолчанию равенthrow_point_bone, может пригодиться для бросков болта с разных рук или чего то подобного) -
Удалено чтение из худовой секции болтов/гранат параметров throw_point / dir - они не юзаются и не юзались ранее. throw_dir в секции мировой модели тоже не использовался.
-
Добавлена консольная команда
g_throw_dbgдля визуальной отладки позиций броска болтов/гранат -
Добавлен скриптовый каллбек
on_actor_boltthrowна бросок болта -
Поправлены проблемы с тенью от актора от 1 лица
-
Множество мелких улучшений и изменений. Full Changelog: 3.490...3.501