Перейти к содержанию

Deathman

Сталкеры
  • Публикаций

    104
  • Зарегистрирован

  • Посещение

Контакты

1 Подписчик

Информация о Deathman

  • Звание
    Бывалый

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Мне кажется что стоит загрузить на Google drive этот файл чтобы на левых файлообменниках ссылка не дохла и если у меня окажется этот архив, то я бы даже сделал это.
  2. Хорошо, запомню это как то, что можно сделать в будущем. Обязательно оповещу если сделаю это. Дополнено 0 минут спустя Хорошо, подключу как будет время ко всем трём и скину
  3. В видео демонстрировалась только динамика, r1 был опущен чтобы не тратить много времени. Дополнено 1 минуту спустя Специально для вас могу адаптировать SSAO от билда 3120 и зова Припяти именно под эти шейдеры и именно этот combine_1.
  4. Да, они не сильно отличаются от оригинальных. Я просто решил перенести шейдеры из этих билдов когда было нечего делать и понял что это может кому-то интересно посмотреть.
  5. Шейдеры из билдов 2571, 2559 и 2558. Автор переноса - Deathman Не стоит судить строго, сделано за день ради интереса. Видеодемонстрация - https://youtube.com/MNDxRWNDLuc Скачать - https://disk.yandex.ru/d/BSyQctmizgD8Aw О всех проблемах и ошибках обращаться к https://vk.com/deathman0 Прочие моды - https://vk.com/nocturning_games
  6. Расположение на карте вместе с текстурой задаётся в game_levels_single, секция музыки пишется в game_levels_musics и ссылка на секцию оставляется в game_levels_single. Не понимаю о каком прочем идёт речь, но если о содержании уровня, то все делается в Level Editor. Если ты никогда не слышал о LE, то стоит узнать о нем больше.
  7. Lost alpha, anomaly, coc и аналогичные.
  8. За основу взято явно AO от зова Припяти и убито шумом. На него просто невозможно смотреть. Доказательства. Шейдеры ssao в папке r2 весят одинаково как в зове Припяти, так и в OGSR Engine. Код шейдеров ничем не отличается. К примеру возьмем ssao_calc Код зова Припяти: #include "common.h" uniform half3x4 m_v2w ; uniform sampler2D s_half_depth; #include "ssao_blur.ps" #include "ssao.ps" #include "ssao_hbao.ps" struct _input { float4 hpos : POSITION; #ifdef USE_VTF float4 tc0 : TEXCOORD0; // tc.xy, tc.w = tonemap scale #else float2 tc0 : TEXCOORD0; // tc.xy #endif float2 tcJ : TEXCOORD1; // jitter coords }; struct v2p { float2 tc0 : TEXCOORD0; float2 tc1 : TEXCOORD1; }; float4 main(_input I) : COLOR0 { float4 P = tex2D (s_position, I.tc0); // position.(mtl or sun) float4 N = tex2D (s_normal, I.tc0); // normal.hemi #ifndef USE_HBAO float o = calc_ssao(P, N, I.tc0, I.tcJ); #else // NOw is not supported float o = 1.0f;//hbao_calc(P, N, I.tc0.xy, I.hpos); #endif return float4(o, P.z, 0, 0); } Код OGSR Engine: #include "common.h" uniform half3x4 m_v2w ; uniform sampler2D s_half_depth; #include "ssao_blur.ps" #include "ssao.ps" #include "ssao_hbao.ps" struct _input { float4 hpos : POSITION; #ifdef USE_VTF float4 tc0 : TEXCOORD0; // tc.xy, tc.w = tonemap scale #else float2 tc0 : TEXCOORD0; // tc.xy #endif float2 tcJ : TEXCOORD1; // jitter coords }; struct v2p { float2 tc0 : TEXCOORD0; float2 tc1 : TEXCOORD1; }; float4 main(_input I) : COLOR0 { float4 P = tex2D (s_position, I.tc0); // position.(mtl or sun) float4 N = tex2D (s_normal, I.tc0); // normal.hemi #ifndef USE_HBAO float o = calc_ssao(P, N, I.tc0, I.tcJ); #else // NOw is not supported float o = 1.0f;//hbao_calc(P, N, I.tc0.xy, I.hpos); #endif return float4(o, P.z, 0, 0); } Дополнено 2 минуты спустя Это окончательный вариант, данную ветку переносов AO в чистую тень Чернобыля я улучшать не буду. Если будут следущие итерации, то они будут иметь интеграцию в ядро игры с консольными командами и интеграцией в настройки, но за образец спасибо.
  9. Конечно, напишите пожалуйста https://vk.com/deathman0 по этому вопросу
  10. Думаю стоит наполнить эту тему большим контентом по части UI, или даже создать отдельную тему специально для этого. Раз написал комментарий - расскажу как добавить трекбар в меню. UI составляющая в xRay Engine делится на две части, ровно как и в любом другом проекте. BackEnd и FrontEnd. BackEnd это часть реализации UI, являющаяся основным кодом раздела, элемента или чего бы то ни было. В xRay это является UI скриптами и движковым кодом. FrontEnd это часть реализации UI, являющаяся тем, как этот самый User Interface будет выглядеть для этого самого User. В xRay Engine это является .xml кодом разметки, находящемся в соответствующем разделе config(s). Интеграция трекбара в BackEnd: Допустим нам нужен трекбар для команды r2_mblur, при условии того что вы додумались до того что эта команда работает без ключа -mblur если в shaders\r2\common.h вы раскомментировали дефайн "USE_MBLUR". Открываем скрипт расширенных настроек видео (scripts\ui_mm_opt_video_adv.script), открыть его можно чем угодно, так как это обычный текстовый документ. Минуем все строчки прелюдий и переходим в коды кнопок и треков. Вам нужно добавить этот шаблон туда, где среди кнопок вам будет приятно его видеть: _st = xml:InitStatic ("video_adv:templ_item", self.scroll_v) xml:InitStatic ("video_adv:cap_mblur", _st) ctl = xml:InitTrackBar ("video_adv:track_mblur", _st) handler.m_preconditions[ctl] = only_2a_and_more_mode Объяснение: _st = xml:InitStatic ("video_adv:templ_item", self.scroll_v) <-- Добавляем статичный элемент в список xml:InitStatic ("video_adv:cap_mblur", _st) <-- Добавляем текст к этому элементу, координаты и параметры которого прописываются в .xml файле, привязанном к скрипту, об этом позже. ctl = xml:InitTrackBar ("video_adv:track_mblur", _st) <-- Добавляем трекбар к этому элементу, координаты и параметры которого тоже прописываются в .xml файле, привязанном к скрипту, об этом тоже позже. handler.m_preconditions[ctl] = only_2a_and_more_mode <-- Эта строка означает то, что этот трекбар не будет доступен на r1 и будет доступен лишь на r2, r2.5, r3 и r4. Переходим в .xml файл разметки, а именно в config_ui_mm_opt, который содержит в себе весь фронтенд настроек. В нем ищем раздел расширенных настроек видео и добавляем в него этот шаблон: <cap_mblur x="20" y="0" width="143" height="21"> <text font="letterica16" r="215" g="195" b="170">ui_mm_mblur</text> </cap_mblur> <track_mblur x="194" y="0" width="245" height="21" step="0.001"> <options_item entry="r2_mblur" group="mm_opt_video_adv" depend="vid"/> </track_mblur> Объяснение: <cap_mblur <--- Начало контейнера параметров с названием, прописанным в скрипте, во фрагменте выше x="20" y="0" <--- Координаты этого элемента width="143" height="21"> <--- Размеры этого элемента <text font="letterica16" <--- Шрифт текста элемента r="215" g="195" b="170" <--- Цвет по палитре RGB для текста >ui_mm_mblur</text> <--- Название строки в config\text\rus\ui_st_mm.xml, текст которой будет выводиться как сам текст, если игра не найдет этой строки, то выведет это как текст. </cap_mblur> <--- Конец контейнера параметров этого элемента <track_mblur <--- Начало контейнера трекбара с названием, прописанным в скрипте, во фрагменте выше x="194" y="0" <--- Координаты этого элемента width="245" height="21" <--- Размеры этого элемента step="0.001"> <--- Шаг этого трекбара. Если параметр шага является малым числом как это, то ползунок будет двигаться плавно, если число шага 1 и больше, то передвигаться ползунок будет рывками. <options_item <--- Начало контейнера параметров этого трекбара entry="r2_mblur" <--- То, какой консольной команде трекбар будет посылать свое значение. ТО есть если значение параметра варьируется от 0.1 до 1, то и трекбар будет двигаться от 0.1 до 1 и если к примеру он будет в положении 0.5 то будет отправлять его в консоль, как это бы сделал игрок используя текст. group="mm_opt_video_adv" depend="vid"/> <--- Группа и раздел элемента </track_mblur> <--- Завершение контейнера параметров. Осталось совсем немного и мы сможем регулировать параметр размытия в движении прямо из меню Открываем файл, содержащий локализацию настроек и прописываем в него новую строку. config\text\rus\st_ui_mm и в самый его конец перед строкой окончания контейнера добавляем строку: <string id="ui_mm_mblur"> <text>Размытие в движении</text> </string> Думаю хоть скомкано, сумбурно, непонятно и отвратительно я дал основу для понимания того, как добавлять трекбар (Ползунок), потратив на это час времени.
  11. Спасибо за поддержку, уверяю что не разочарую. Дополнено 2 минуты спустя Где-то далеко в стороне закуривает Macron, держа в руках свой исправленный мультиплеер
  12. То есть вырезать рабочий мультиплеер это нормально, умеем, можем, практикуем, а это вот пожалуйста дайте два? Дополнено 1 минуту спустя Авто в ОГСР тогда зачем добавлять было?
  13. И, выходит, что вырезать это самый лучший вариант как вы считаете?