Skip to content

Terrain Parallax ru RU

𝐒𝐈𝐌𝐏 𝐀𝐈 edited this page Oct 3, 2026 · 10 revisions

Terrain parallax из SSS доступен в OGSR Engine начиная с версии 3.500. Включение в меню или консольной командой r_terrain_parallax_enable.

  • Для правильной его работы, особенно чтобы правильно работали лужи, нужна перенастройка террейна: прописать террейнам в shaders.ltx/xr (Чтобы распаковать shaders.xr в .ltx, в консоли должна быть активирована команда shaders_xr_export. После запуска двига, двиг распакует этот файл в текстовый 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

  • Так же можно вместо замены текстур поправить карту высот в существующих текстурах террейна. Важное замечание: SSS поддерживал два вида карт высот (можно было использовать _height текстуры, которые содержат карту высот отдельно в r канале, либо брать высоту из альфа-канала в основной текстуре террейна. В OGSR поддерживается только второй вариант, высота берется из альфа-канала в основной текстуре, потому что нам так удобнее. Вот цитата разработчика который работает с локациями/текстурами:

я crazybump'ом пользуюсь, всё очень быстро, есть 3д окно, чтоб в реалтайме ползунки крутить и смотреть, что меняется, если нужно, потом в фотошопе доделываю. Так то создать новые карты проблем нет, и я не очень понял, в чём разница: править альфа канал в диффуз текстуре или редачить отдельную _height текстуру

Наверное как альтернативу программе Crazybump можно использовать и AwesomeBump

  • Кроме этого, для каждой текстуры террейна нужно подобрать свой offset в игре для корректной работы луж, чтобы подрегулировать насколько высоко будет подниматься вода во вмятинах террейна. 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   },
}

function terrain_offset() --эту функцию надо вызвать при переходе на локацию, можно из функции `actor_binder:net_spawn` например.
    local setup = ssfx_parallax_setup[level.name()]
    if setup then
        cmd("ssfx_terrain_offset " .. string.format("%f, %f, %f, %f", unpack(setup)))
    else
        cmd("ssfx_terrain_offset 0, 0, 0, 0")
    end
end

Если задать offset неправильно, глубина намокания будет или недостаточной или слишком сильной. Конечно наверное можно взять какие нибудь текстуры хорошего качества из паков под ТЧ/ЗП и под них всё это настроить, но мне кажется с этим ещё больше возьни будет, чем с готовыми из Anomaly+SSS. Ну тут уж кому как удобнее. В целом возьни с этими настройками много, но результат стоит того:

ss_admin_2025-12-18_19-17-14-swamp ss_admin_2025-12-29_18-33-20-l10_radar ss_admin_2025-12-18_16-24-30-l12_stancia

  • Начиная с версии 3.592 добавлены улучшения в шейдеры террейна: теперь поверх параллаксных луж во вмятинах, могут рендериться большие лужи которые генерируются автоматически. Так вид луж стал разнообразнее: 1211212

Clone this wiki locally