Deathman 660 Опубликовано 7 февраля, 2023 (изменено) Nocturning studio Project X - мой первый проект, в котором я работаю комплексно со всеми аспектами игры и которым я занимаюсь как хобби в свое личное время. В данном проекте я реализовываю свое личное видение на S.T.A.L.K.E.R: Shadow of Chernobyl в аспектах визуального и саунд дизайна, геймплея, функционала движка и других. Этот проект я использую как одновременно челледж - смогу ли я привести в одиночку или почти в одиночку в хорошее состояние игру, на мой взгляд с очень спорной графикой, недоработанными механиками, и множеством других проблем, а главное смогу ли я качественно и корректно это оформить, как повод для самообразования в сфере программирования и геймдева, а также как поле для эксперементов. Автор - Deathman. Огромная благодарность за помощь и\или поддержку VAX, Maks0, LVutner, Mihan323, Никите Тимонину, Ивану Панкову и другим. Спойлер Я провел огромную работу над визуальной составляющей игры - ввел множество разных эффектов, которые дополняют визуальный стиль, деталлизацию, эффектность, а также художественных эффектов, используемых мной для полной переработки атмосферы каждого уровня и сюжета в целом. Спойлер Спойлер Одним из первых нововведений было добавление отдельного режима второго рендера, активирующего дополнительные эффекты, и предназначенного для разграничения функционала второго рендера для разных типов оборудования. Спойлер Я старался через расширенные настройки дать пользователю полностью кастомизировать игру под себя, дав возможность включить или выключить, а также отрегулировать под себя наверное почти каждый эффект. Каждый эффект или настройка названы максимально понятно, корректно, а также я старался оформить настройки интуитивно понятно. Спойлер Графику игры полностью можно настроить не заходя в раздел расширенных настроек - для этого были полностью настроены все пресеты настроек графики, а также были добавлены дополнительные пресеты, что в сумме дает семь разных настроек для разного оборудования, на котором будет запускаться игра. Также были добавлены пресеты художественных эффектов. Спойлер В игру введены и будут вводиться в дальнейшем новые методики сглаживания или же Anti-Aliasing(https://ru.wikipedia.org/wiki/Экранное_сглаживание): DLAA - Directionally Localized antiAliasing (https://github.com/ForserX/DLAA) DLAA с принудительным определением границ объектов - шейдер Directionally Localized antiAliasing, с принудительным определением мест кадра, потенциально являющихся "Лесенками", что в разы повышает четкость картинки с этим алгоритмом. FXAA - Fast approximate antiAliasing за авторством Nvidia. (https://docs.nvidia.com/gameworks/content/gameworkslibrary/graphicssamples/d3d_samples/fxaa311sample.htm) Двупроходный вариант FXAA - вариант Fast approximate antiAliasing, расчитываемый для кадра два раза, один после другого. Для каждой технологии сглаживания доступно четыре градации качества. Предупреждение - каждая из методик имеет сложную кодовую реализацию, на компиляцию каждой из которых уходит длительное время, которое может варьироваться на разном оборудовании, для смягчения чего в игру было введено кеширование шейдеров, которое ликвидировало проблему долгой рекомпиляции при переключении окон и так далее, но которое не может убрать долгий сбор кеша при первом запуске игры, переключении типа сглаживания, его качества и других настроек, так что при включенном сглаживании может возникнуть необходимость ожидания, которое можно перепутать с зависанием игры. Спойлер Добавлены три новых алгоритма Ambient occlusion (https://ru.wikipedia.org/wiki/Окружающее_затенение, https://ru.wikipedia.org/wiki/Окружающее_затенение_в_экранном_пространстве, https://habr.com/ru/articles/421385/): Screen space ambient occlusion на основе шейдера GSC из билда 3120, переписанного с целью большей читаемости и более тонкой настройки (Дополнительно считается в меньшем разрешени, для увеличения скорости расчета). Hight definition ambient occlusion - на основе шейдера SSAO, но расчитываемого в актуальном разрешении экрана и большим качеством Horizontal based ambient occlusion+ за авторством Mihan323 с небольшой доработкой Deathman, по части шума и других аспектов. Добавлено трехступенчатое шумоподавление для Ambient occlusion: Первая ступень - box фильтр с 10 выборками для SSAO и билинейный фильтр для других алгоритмов. Вторая ступень - импровизированная версия шумоподавления из этой статьи - https://aras-p.info/blog/2009/09/17/strided-blur-and-other-tips-for-ssao/. Третья ступень - box фильтр с 18 выборками для SSAO и 9 для других методик Спойлер Добавлена поддержка карт рассеянного освещения (Baked AO Maps) Карты рассеянного освещения можно использовать для всех типов текстур (Base/detail/terrain detail) Использование для базовых (base) текстур: Для использования на базовых текстурах текстура AO должна лежать в той же папке и с тем же именем что и сама текстура, но префиксом _ao в конце. Больше ничего не нужно делать, текстура сама определится игрой и наложится на ту же UV сетку, что и основная текстура (https://ru.wikipedia.org/wiki/UV-преобразование) Использование для детальных текстур основных поверхностей и террейнов: Для использования для детальных текстур требования немного иные - текстура должна находиться в зеленом канале текстуры с префиксом _bump, при этом карта нормалей никак не страдает - этот компонент карты нормалей (https://habr.com/ru/articles/415579/) легко восстанавливается математической формулой в одну строку (https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Normal-Reconstruct-Z-Node.html). Рассчитал карты рассеянного освещения для некоторого оружия и актеров - Никита Тимонин. Спойлер Была проведена огромная работа над рельефом поверхностей: В игре присутсвуют три методики расчета рельефа, которые используются для всех типов поверхностей и которые можно переключать через настройки: Normal mapping - методика создания виртуального рельефа, суть которой заключается в том, чтобы модифицировать нормали каждого пикселя поверхности специальными картами нормалей без дополнительной обработки Parallax mapping - методика создания виртуального рельефа, суть которой заключается в том, чтобы с помощью данных из карты высот (https://en.wikipedia.org/wiki/Heightmap), вектора взгляда на поверхность и других данных модифицировать UV координаты (https://ru.wikipedia.org/wiki/UV-преобразование), по которым накладывается текстура, так, чтобы исказить текстуру таким образом, чтобы возникала иллюзия объемности(https://habr.com/ru/articles/416163/) Steep parallax occlusion mapping (Назван как steep parallax mapping) - методика создания виртуального рельефа, суть которой заключается в том, чтобы с помощью данных из карты высот (https://en.wikipedia.org/wiki/Heightmap), вектора взгляда на поверхность и других данных модифицировать UV координаты (https://ru.wikipedia.org/wiki/UV-преобразование), по которым накладывается текстура, так, чтобы исказить текстуру таким образом, чтобы возникала иллюзия объемности(https://habr.com/ru/articles/416163/), дополнительно используя при этом трассировку карты высот по слоям. Для детальных текстур поверхностей также используется рельеф, при этом его тип такой же, какой используется и для основной текстуры. С помощью Chat GPT я получил функцию, которая позволяет из карты высот получить карту нормалей на ее основе, которая очень сильно улучшила рельеф в целом. Рельеф используется для всех поверхностей, включая террейны. Дополнительно в NSPX больше нет разделения шейдеров на шейдеры типа flat и bump. Вместо этого все шейдеры, даже если текстуры bump нет являются bump, но использующими в таком случае текстуры "затычки", с разрешением 1х1 пиксель, что дало возможность использовать рельеф от детальных текстур на текстурах без рельефа. Спойлер Добавлена глубина резкости. Глубина резкости используется при прицеливании из оружия без прицела, при перезарядке оружия, при входе в аномалию, при разговоре со сталкерами, при открытии инвентаря и даже при запуске окна диалога перехода на другой уровень. Качество глубины резкости регулируется отдельным пунктом в настройках и имеет четыре градации. Глубина резкости может полностью работать без какого-либо подключения параметров секций, но для лучшей функциональности и более гибкой настройки рекомендуется использовать настройку из секций. Для использования глубины резкости у оружия необходимо использовать параметры: zoom_dof reload_dof В секции оружия А для аномалий секцию pick_dof_effector В секции нужной аномалии, разрешающую использование эффекта при входе в нее. По умолчанию если параметр отсутсвует то глубина резкости автоматически включена. Глубина резкости считается после всей сцены двумя шейдерными проходами один после другого. Спойлер Добавлен Motion blur. Эффект смазывания картинки в динамике при движении подчеркивающий скорость происходящего на экране и приближающий картинку к реальному восприятию движений глазом. Спойлер От зова Припяти перенесена и улучшена продвинутая система рассчета теней от солнца - солнечных каскадов. Качество теней регулируется отдельной настройкой и от него зависит деталлизация, разрешение теней, а также плавность уменьшения качества теней на удалении от камеры - количество каскадов. При максимальном качестве солнечных теней используется 19 каскадов для достижения максимальной детализации и наиболее плавного перехода качества. Отдельной настройкой добавлена степень размытия солнечных теней. Регулируется степень размытия теней отдельной настройкой и имеет четыре градации. Спойлер Перенесена мягкая вода - при включении этого параметра вода использует отражение неба, мягкий переход к берегу, пену и эффект Френеля для изменения видимости дня водоема с изменением угла взгляда на него. Спойлер Была проведена большая работа над туманом. Качество тумана разделено на четыре градации. Теперь туман использует и цвет неба, а также на максимальном качестве используется вертикальный туман. Вертикальный туман или Height fog основывается на реализации от screen space shaders, с учетом того, что использует только идею использования позиции пикселей в мировом пространстве. Вертикальный туман регулируется из погоды параметрами vertical_fog_intensity и vertical_fog_height. vertical_fog_intensity - интенсивность эффекта. vertical_fog_height - высота, являющаяся максимальной для эффекта. Спойлер Добавлен эффект Винъетирования - плавного затеменения углов экрана, для имитации кинокамеры и увеличения мрачности окружения. Имеет два режима работы - статический, когда является постоянным эффектом, и динамический, когда регулируется из погоды, параметром vignette_power, что дает возможность использовать его как художественный эффект, подчеркивающий мрачность какого-либо уровня. Спойлер Добавлен эффект цветовых аббераций - эффекта имитации линзы, при котором ввиду ее кривизны цвета спекта подвергаются дисперсии и немного расходятся друг от друга. Спойлер Была проведена работа над блеском на поверхностях: Добавлен эффект Френеля для блеска на поверхностях - при взгляде на объект, точки с большим углом относительно камеры будут больше отбрасывать свет. Улучшен и прочий блеск(Усилен, добавлено влияние цвета текстуры и цвета освещения на цвет блеска), а также исправлены отражения неба на моделях оружия - до этого, в оригинальной игре, отражения на всех моделях оружия использовали одну текстуру - sky_5_cube. Теперь для отражений используется актуальное небо. Спойлер Возвращен эффект Bloom - эффект, улучшающий яркость и насыщенность сцены, а также имитирующий эффект следов Эйри для имитации неидеальности линзы камеры. Также эффект улучшен - для последнего этапа его создания используется более мощное размытие. Спойлер В игру добавлена регулируемая сепия, являющаяся художественным эффектом, предназначенным для улучшения визуального восприятия разных игровых уровней и придания отдельным циклам погоды или погодным явлениям своего оттенка. Регулируется через погодные параметры sepia_color и sepia_power Спойлер Дополнительно я пересобрал все подземные уровни, с использованием radiosity global illumination для расчета освещения. Спойлер Первый рендер теперь использует маску для террейнов, если таковая имеется и если видеокарта поддерживает DirectX 9 В будущем я планирую намного больше делать упор на первый рендер и привносить в него намного больше нового. Спойлер Почищены и укомпонованы логи - отладочные сообщения убраны в режим отладки. Добавлено отображение всех стадий загрузки уровня, а также в лог выводится список стадий отгрузки уровня. Увеличены в три раза вертекстный и индекный буфферы, что дает поддержку уровней большего размера. Добавлена консоль от зова Припяти, огромное спасибо VAX. Добавлена многопоточная загрузка текстур, в дальнейшем появится многопоточная загрузка моделей. Добавлено кеширование шейдеров. Изменена дата создания проекта в алгоритме рассчёта номера билда. Исправлена вертикальная синхронизация и ограничение количества кадров в секунду. Оконный режим заменен на безрамочный Исправлены анимации главного героя от третьего лица. Начаты изменения в плане приближения структуры движка к оной в зове Припяти и чистом небе. xr3da переименовано в xrEngine, из xrEngine вынесены дополнительные библиотеки, а также рендеры. В дальнейшем рендеры станут интерфейсами и будет перенесен xrAPI, как первый шаг к переносу третьего рендера. В игре можно выбрать разрешения ниже 800*600 Во время отладки в Visual studio или ее работы можно свернуть игру при помощи Alt tab, а также игра в принципе не имеет приоритета над остальными окнами. Включено окно вывода и продолжения дальнейшей работы в случае вылета вместо окна Bugtrap с зеленым жуком Для любителей вырезать первый рендер движок может запуститься без xrRender_R1.dll Спойлер Спойлер Спойлер Обновлена библиотека xrSound, спасибо Maks0 за помощь, перенсена от чистого неба, что дает возможность использовать стерео звуки, использовать любую частоту звуков, при учете использования этой частоты у всех звуков, а также изменять средство воспроизведения звука. В составе файлов движка находятся полностью рабочие soft_oal.dll и wrap_oal.dll, с рабочим позиционированием звука относительно камеры, а также намного более лучшим звучанием, спасибо v2v3v4 Спойлер Исправлен и полностью работает EAX, спасибо v2v3v4 Работает за счет изначально расставленных на всех уровнях зонах звукового окружения GSC, свои делать и расставлять я буду в будущем. Спойлер Для всех уровней сделаны Sound occlusion model на основе геометрии Hierahical occlusion model, что дало нормальное отсечение звуков стенами, но не идеально, что в будущем я собираюсь исправлять, а также дополнительно и в параметрах материалов игры перенастроены параметры звукопоглощения. Спойлер Я реализовал возможность менять громкость отдельных категорий звуков: Можно менять общую громкость всех звуков, громкость игровых звуков, громкость музыки, громкость погодного звукового окружения и эксперементально громкость оружия. Спойлер Убрана старая система стерео с загрузкой двух звуков с префиксами _l и _r, а вместо них везде теперь загружается один звуковой файл Спойлер В оригинальной игре в game_level_musics можно задать музыкальные треки по периоду их воспроизведения, но при этом и днем и ночью воспроизводился дневной трек, исправил это, перенеся код фоновой музыки от чистого неба. Спойлер Абсолютно полностью заменена вся музыка на музыку из слитого архива GSC под названием PR Stuff, так как она намного более качествена и имеет некоторые отличия в лучшую сторону, относительно той, что была использована в релизной версии игры. Также музыка на локациях была частично перебалансирована. Спойлер Спойлер Спойлер Переработано покачивание камеры. Теперь покачивание камеры учитывает все состояния передвижения, в которых находится актер, исходя от чего изменяется амплитуда и интенсивность качания, а также в зависимости от скорости актера изменяется и поле зрения. При этом качание камеры можно выключить в настройках. Спойлер Команда cam_inert исправлена, теперь она по умолчанию находится в значении 1, и не ломает управление как в оригинальной игре Спойлер Спойлер HUD можно отключить отдельным параметром в настройках игры. При этом убирается и максимум сопутствующих надписей вроде сообщений о примененной аптечке или же об успешном сохранении. Спойлер Перенесен параметр minimap_zoom, прописываемый в секции уровня в game_maps_mp и game_maps_single и влияющий на масштаб участка карты локации в миникарте, по умолчанию выставлен в секциях на значение 1.25 Спойлер Ключ консольного вида от третьего лица сзади -psp включается отдельным параметром в настройках игры, но является эксперементальным и в будущем будет дорабатываться. Также для нового режима вида от третьего лица исправлены анимации главного героя. (Пресловутый бег "Ласточкой") На данный момент исправлена малая дальность подбора предметов при использовании данной вариации игровой камеры, а также исправлено прицеливание. Спойлер Спойлер Добавлено изменение разброса оружия при прицеливании, регулируемое праметром zoom_fire_dispersion_base в секции оружия. Изменение разброса оружия зависит от сложности игры. На сложности "Мастер" разброс оружия не заменяется на новую секцию вовсе. Добавлено изменение параметров отдачи оружия в прицеле параметрами zoom_cam_relax_speed zoom_cam_dispersion zoom_cam_dispersion_inc zoom_cam_dispertion_frac zoom_cam_max_angle zoom_cam_max_angle_horz zoom_cam_step_angle_horz Спойлер Добавлено неиспользуемое оружие - ТОЗ, полноценная БМ-16 и ХПСС За модель ТОЗ спасибо OLR 2.5 За адаптацию модели полноценной БМ-16 от 2205 билда к анимациям и рукам обреза спасибо Ивану Панкову Для МП-5 ипользуются анимации Водилы. Спойлер Включена и настроена инерция оружия, на мой вгляд она придает живости движениям при виде от первого лица. Спойлер Звуки всего оружия заменены на звуки от чистого неба, так как на мой взгляд они намного более качественны Спойлер Все вырезанные аддоны вроде прицела на ОЦ-14 теперь возвращены Спойлер Спойлер При помощи соответсвующей настроки можно переключать способ входа в режим прицеливания - по удержанию кнопки или же по однократному нажатию Спойлер Текстура прицела меняется в зависимости от используемого разрешения экрана. Для этого необходимо указать вариант текстуры прицела для разрешения 16:9 (scope_texture_16_9) помимо основной текстуры прицела (scope_texture) Спойлер Я переработал demo_record отчасти, в будущем я намерен продолжать работу над ним и дальше. Я добавил нормальную подсказку о клавишах ввода, нейтрального цвета, которая не моргает перед лицом и которую можно по нажатию одной кнопки можно скрыть. Добавил возможность включить вывод сетки третей для нормальной сборки композиции, в случае если ты не можешь определить трети и их пересечения на глаз. Реализовал смену глубины резкости и поля зрения при помощи колеса мыши. Хоть и криво, но реализовал активацию ватермарки и "Рамок" по кнопкам. Текстуры сетки, ватермарки и рамок лежат по пути textures/vfx/ Проблемы - сетка, рамки и ватермарка пока что доступны только на втором рендере, а при скриншоте с измененным полем зрения встроенные скриншоты ломаются, так что приходится использовать например бандикам, так как на обновление 1.4 у меня было мало времени я так и не нашел причину этой проблемы, но я думаю что на время скриншотов класс demo_record разрушается и после них создается заново, иначе я не знаю почему это происходит. Спойлер Спойлер Полностью перенесен формат погоды чистого неба и зова Припяти Спойлер Для каждого уровня создан свой собственный цикл погоды на основе оригинальных циклов, с собственной атмосферой, передаваемой через визуал и звук. Большая часть уровней имеет собственное звуковое окружение, собранное индивидуально под отдельные уровни. Спойлер Я считаю что Environment должен быть не просто погодой, а набором настроек, формирующих также и виуальный стиль и характер уровня, я начал с того что из погоды управляется винъетирование и сепия, а в будущем буду двигаться и к другим художественным инструментам. Спойлер ПОгода на Янтаре и Радаре меняется после отключения обоих выжигателей, что должно создавать ощущение влияния данных событий на мир зоны и главного героя в частности. Спойлер Спойлер Помимо фокусировки на персонаже, во время диалогом теперь можно переключать фразы прямо с клавиатуры, что удобно и может экономить время Спойлер Спойлер Добавлены новые интро ролики при старте игры Спойлер Вместо того чтобы вырезать интро, я дал возможность выключить их через настройки в главном меню Спойлер Спойлер Спойлер Добавлена команда r2_debug_render, при помощи которой можно выводить на экран разные слои рендера. Пока что можно вывести только данные из геометрического буфера, аккумулятора света, можно вывести Ambient occlusion и три стадии шумоподавления, а также полные данные об освещении. После изменения значения команды необходимо вызвать перезагрузку рендера с помощью vid_restart Спойлер При помощи команд r2_debug_textures можно вывести вместо всех текстур геометрии белую текстуру и UV чекер. Белая текстура может позволить посмотреть на геометрию как она есть, после того как она прошла через компиляцию, без помощи blender, хотя это все же стоит делать при помощи открытия сцены в блендере. UV чекер позволяет быстро проверить подтяжки и сломанные швы у текстур прямо внутри игры. Для того чтобы после смены значения этой команды изменения применились необходимо перезапустить игру. Спойлер Предупреждения, возникающие во время компиляции шейдеров теперь выводятся в логи Спойлер Помимо того, что я иду к полному переписыванию всех шейдеров под нормальный стиль кода и нормально спроектированную их архитектуру, я одним из первых изменений собрал шейдеры первого и второго рендеров в проекты для Visual studio, рассортировав по фильтрам все файлы. Спойлер Я являюсь единственным разработчиком проекта уже целый год, и хоть мне и помогали советами, а VAX комитами, я не могу заниматься этим один, поэтому если есть желание помочь - приветствую пулл реквесты или иную помощь по проекту. Спойлер 1. Каскадные тени имеют артефакты - дальние каскады еле заметно полосят, а при низком разрешении между каскадами заметна однопиксельная полоса перехода - природа проблемы одна и на данный момент неизвестна. 2. Так как Steep parallax mapping, как и другие алгоритмы рассчета рельефа избегает полумер и рассчитывается для абсолютно всех поверхностей очень заметны его проблемы, которые в дальнейшем исчезнут, из-за смены или переписи алгоритма. Из таких "езда UV по поверхностям" - при некотором движении вектора взгляда относительно поверхности можно заметить то, что отдельные текстуры меняют све положение. "Уход луча под UV" - явление, когда луч алгоритма уходит дальше границы развертки текстуры на модели и появляется эффект "Вылезания" черных областей текстуры и подобных вещей. 3. Сталкеры могут "уронить" фонари утром - природа неизвестна. 4. Настройка выбора средства воспроизведения звука не работает и сбрасывается при перезапуске игры. 5. При выводе окна перехода на другой уровень из-за того что покачивание камеры изменяет теперь еще и поле зрения возникает проблема, когда поле зрения увеличивается пропорционально без остановки. 6. При переходе в подземелья агропрома цвет освещения может стать красным - природа неизвестна. Спойлер Спойлер Спойлер Спойлер https://github.com/Nocturning-studio/Nocturning-studio-project-X Вы всегда можете отправлять любую возможную помощь в виде пулл реквестов Код адаптирован под Visual studio 2019-2022, спасибо VAX Спойлер Группа ВК - https://vk.com/nocturning_games Канал на Youtube - https://www.youtube.com/channel/UCfYy0lHEl_NxjT0Sg0Jjn4w Спойлер В игре присутствуют семь пресетов графики, работа которых оптимизирована под конкретные видеокарты: Минимальный пресет - На Nvidia Geforce 8500GT при улучшенном полном динамическом освещении на разрешении 1280*1024 в среднем 23 кадров в секунду. Низкий-средний пресеты графики рассчитаны на Nvidia Geforce 8600-9800 . Высокий пресет - На Nvidia Geforce GTX260 OC при улучшенном полном динамическом освещении на разрешении 1280*1024 в среднем 30 кадров в секунду. Экстремальный пресет рассчитан на Nvidia Geforce GTX460 и выше. Ультра пресет рассчитан на Nvidia Geforce GTX560 и выше. Спойлер Для установки и использования достаточно поместить в корень папки игры содержимое приложенного архива. Также необходимо установить Visual C++ 2019 x86/x64 При установке стоит переименовать оригинальную папку bin и скопировать на её место папку из архив, запускается новый движок при помощи xrEngine.exe Я ищу людей, для того чтобы в дальнейшем разрабатывать проект в команде - если вы хороши хоть в чем-то и хотели бы принять участие в разработке проекта - напишите мне здесь или в ВК (https://vk.com/ns_deathman) Изменено 25 февраля пользователем Deathman 12 7 2 2 8 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 5 ноября, 2023 В 03.11.2023 в 11:24, Stalker3002 сказал: Deathman вот еще идеи от ogse, первое хорошо бы через погоду сделать Цветокоррекция: r2_color_grading [0.0, 0.0, 0.0, 0.0] Известный эффект, "подкрашивает" картинку на экране в выбранный цвет. Поставьте какой-нибудь синий цвет, мигом узнаете ранние Battlefield. Фича мощная, однако, требует некоторых усилий дизайнеров, поскольку цвет должен зависеть от локации и игровой ситуации. Оптимизация отрисовки травы: r2_details_opt [0.0, 0.0, 0.0] Три параметра, все три - расстояние в игровых метрах. Смысл такой: в игре трава рисуется квадратами 2х2, т.е. в одном "гнезде" четыре куста травы. С этим параметром по достижении первого расстояния перестает рисоваться один куст из четырех, по достижении второго - два куста из четырех, по достижении третьего - три куста из четырех. При тщательной настройке позволяет сберечь фпс без ухудшения картинки. Вот исходники даже есть https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/ Соррян - полистал страниц десять и так и не нашел нужного кода Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 5 ноября, 2023 Deathman в шапке под спойлером Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 5 ноября, 2023 22 минуты назад, Stalker3002 сказал: Deathman в шапке под спойлером Интересные штуки, неиспользуемые в релизе OGSE я нашел, я не нашел где есть реализация каскадной, или не знаю как назвать по другому, травы Дополнено 2 минуты спустя О господи, я не буду лезть в код, который приложен в архиве в шапке... Это жесть Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 7 ноября, 2023 (изменено) Deathman еще можно сделать: расширенную регулировку r2_sun_near где нибудь до 100, саншафты, мягкие партиклы, постепенное действие предметов (как в ЗП), скриптовые методы из x-ray extensions, ограничитель фпс (настраиваемый) Кстати положение солнца в движке правилось? А и еще в ТЧ что то не то с движковым хеми вот почитай Изменено 8 ноября, 2023 пользователем Stalker3002 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 11 ноября, 2023 В 07.11.2023 в 09:16, Stalker3002 сказал: Deathman еще можно сделать: расширенную регулировку r2_sun_near где нибудь до 100, саншафты, мягкие партиклы, постепенное действие предметов (как в ЗП), скриптовые методы из x-ray extensions, ограничитель фпс (настраиваемый) Кстати положение солнца в движке правилось? А и еще в ТЧ что то не то с движковым хеми вот почитай Пожалуйста, посмотрите на внутреннее устройство NSPX или пойдите с ним игру. Sun near больше не нужен так как игра переведена на каскадные тени и тени по образцу тч/чн постепенно удаляются. Мягкие частицы есть ещё с 2022 года, объемный свет я сажусь и пытаюсь починить стабильно каждый месяц, но это абсолютно ни к чему не приводит, было бы очень хорошо уже просто в тупую скопировать чей-то перенос его в тень Чернобыля от какого-нибудь зова Припяти и не страдать. Действие юзабельных предметов по времени я как-нибудь сделаю, у меня была мысль об этом, но сейчас пока я не выполнил пул нынешних задач, так что это уходит на будущее. Скриптовые методы я может быть сяду добавлять, но точно не оттуда, потому что я насколько помню это дизассемблят и мне религия не позволяет в него соваться, ограничение количества кадров сейчас работает по вертикальной синхронизации и refresh_60_hz, я думаю на счёт того как сделать количество кадров кастомным. Позиция солнца не меняется в движке, она берется из актуального часа погоды и прогоняется через метод в классе погодного окружения. Хеми для динамических и multiple usage объектов в тени Чернобыля рассчитывается просто омерзительно, поэтому, не в силах перенести расчет ее от чн и зп, я делаю ставку на предрасчитанное АО из текстур, хоть это и не исправит всех проблем. Конкретно сейчас я взял перерыв от NSPX своеобразный, не думаю даже что стану монтировать видео для шовкейса. Я просто устал. На данный момент демо Unreal tournament 3 и его код здорового человека, как по скриптингу, так и по шейдерам мне приносит больше удовольствия. Не знаю какая будет дальнейшая судьба NSPX, но спасибо за то что помнишь про него и пытаешься кидать крутые штуки Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 12 ноября, 2023 (изменено) Deathman Хорошо посмотрю и поиграю подольше как будет время, насчет солнца спасибо за информацию. Вообще я сейчас делаю мод в ванильном стиле и хотел бы его в будущем перевести на NSPX для этого мне нужно: Что бы работал скрипт из этой правки https://disk.yandex.ru/d/nlZsIkmyj3CNX. А также возможность сделать колбек на хит по актору. Не забрасывай проект он уникальный в плане графики, особенно жду красивый R1. Дополнено 27 минуты спустя Баги: Заметил какие то дерганые движения травы (может из оригинала не знаю). В баре вроде какой то баг с освещением пола перед лысым (заметен если встать между ящиком и сеткой и перемещать взгляд с лысого на бармена). Плакат возле охотника багует если смотреть на него в плотную. Асфальт в темноте странно выглядет если на него светить фонариком видны темные пятна. 60 fps почему то как то не ощущаются, как будто на самом деле меньше. Сильно бросается в глаза рябь текстур в движении, наверное из за сильно выкрученного рельефа. Сам рельеф конечно красивый но мне кажется перебор (хотя это дело вкуса). Особенно понравились сепия и свет от ламп. Дополнено 41 минуты спустя Можно как то отключить отдаление камеры при беге и спринте? Кстати про предметы, хорошо бы сделать новые параметры в items.ltx Запрет на оружие (указать время) Запрет на повторное использование (указать время) Звук (хотя его и скриптом без проблем можно) Думал скриптом сделать, но если будешь добавлять постепенное действие, может сделаешь? Изменено 12 ноября, 2023 пользователем Stalker3002 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 12 ноября, 2023 6 часов назад, Stalker3002 сказал: Deathman Хорошо посмотрю и поиграю подольше как будет время, насчет солнца спасибо за информацию. Вообще я сейчас делаю мод в ванильном стиле и хотел бы его в будущем перевести на NSPX для этого мне нужно: Что бы работал скрипт из этой правки https://disk.yandex.ru/d/nlZsIkmyj3CNX. А также возможность сделать колбек на хит по актору. Не забрасывай проект он уникальный в плане графики, особенно жду красивый R1. Дополнено 27 минуты спустя Баги: Заметил какие то дерганые движения травы (может из оригинала не знаю). В баре вроде какой то баг с освещением пола перед лысым (заметен если встать между ящиком и сеткой и перемещать взгляд с лысого на бармена). Плакат возле охотника багует если смотреть на него в плотную. Асфальт в темноте странно выглядет если на него светить фонариком видны темные пятна. 60 fps почему то как то не ощущаются, как будто на самом деле меньше. Сильно бросается в глаза рябь текстур в движении, наверное из за сильно выкрученного рельефа. Сам рельеф конечно красивый но мне кажется перебор (хотя это дело вкуса). Особенно понравились сепия и свет от ламп. Дополнено 41 минуты спустя Можно как то отключить отдаление камеры при беге и спринте? Кстати про предметы, хорошо бы сделать новые параметры в items.ltx Запрет на оружие (указать время) Запрет на повторное использование (указать время) Звук (хотя его и скриптом без проблем можно) Думал скриптом сделать, но если будешь добавлять постепенное действие, может сделаешь? Океей, в 1.4.2 я сделаю часть из этого, но: 1. Подожди того что я переведу весь проект с Ap Pro на релизы на гитхабе и только тогда бери его. 2. Может быть я еще сяду за первый рендер, но сейчас у меня возникла проблема с тем как создать дополнительный\дополнительные шейдерные проходы перед postprocess, выводящим итоговый кадр на экран и как сделать для главного меню отдельный шейдер как на втором рендере. 3. Трава дергается еще с оригинальной тени Чернобыля, я хз почему и как, не обещаю что когда-нибудь за это сяду. 4. Про плакат возле охотника и "Дребезжащие" текстуры - это явление называется Shadow acne и конкретно в NSPX возникает повсеместно у локальных источников света (spot\omni), а также при низком качестве и у солнца. Я не знаю в какой момент времени оно возникло, но я думаю как это исправить. 5. Темные пятна на асфальте при свете фонарика возникают от кривизны геометрии. Пиксели полигона отвернуты от фонарика по нормали и модель освещения затемняет данные пиксели. Возможно попробую поработать с этим багом. 6. Я тоже сталкиваюсь с этой проблемой. Возможно эта проблема возникает от проблем полуторапоточности, возможно это какие-то короткие операции на процессоре, возможно что-то еще. 7. По поводу слишком сильного рельефа текстур - я создал условия для того чтобы рельеф выглядел как должен выглядеть, но я не работал с текстурами. Нужно переделывать карты нормалей и высот, а также работать с детальными текстурами чтобы все выглядело приятно и гладко. Подстраивать работу с материалами под текстуры оригинального X-Ray я точно не буду, может быть я скооперируюсь с кем-то для работы с текстурами. Всем, у кого есть желание помочь прошу писать на страницу vk.com\ns_deathman\ 8. Спасибо, я буду работать над цветокоррекцией и "кинамографизацией" картинки в отдельные сюжетные моменты игры и дальше 9. Не до конца понимаю о каком именно свете от ламп идет речь, потому что чаще всего свет от них не работает корректно - полосит или вовсе пытается отгрузить какую-то геометрию, когда ее видит игрок как в х18 10. Я добавлю опцию "Изменение поля зрения" в этом обновлении, думаю надо было сделать это сразу. 11. Не совсем понимаю что такое пункты "Запрет на оружие (указать время)\Звук (хотя его и скриптом без проблем можно)" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 12 ноября, 2023 (изменено) Deathman я имел в виду bloom. 3 часа назад, Deathman сказал: Не совсем понимаю что такое пункты "Запрет на оружие (указать время)\Звук (хотя его и скриптом без проблем можно)" Используешь предмет: Убирается оружие на определенное время потом достается обратно (можно выставить время на которое оно убирается). Время в течении которого запрещено использовать все предметы, после использования данного предмета. Звук (просто путь до звука, который проигрывается при использовании предмета). Я имел в в виду что бы все эти параметры были в конфигах предметов и первым двум параметрам можно было указывать свое время. Идея в том что бы гг не мог держать в руках оружие и использовать предметы пока проигрывается звук от уже использованного предмета. Короче что то типа этого https://ap-pro.ru/forums/topic/1086-medicina-tch/. Постепенное действие предметов есть в этом моде, но там баг с голодом. Мне кажется что некоторы из этих веще лучше делать через движок. Можешь просто сделать возможность влиять на голод скриптами и я буду использовать этот мод. Но там параметры предметам прописываются в скрипте а не в конфиге, а в конфиге везде ставятся нули. Изменено 12 ноября, 2023 пользователем Stalker3002 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 12 ноября, 2023 (изменено) 2 часа назад, Stalker3002 сказал: Deathman я имел в виду bloom. Используешь предмет: Убирается оружие на определенное время потом достается обратно (можно выставить время на которое оно убирается). Время в течении которого запрещено использовать все предметы, после использования данного предмета. Звук (просто путь до звука, который проигрывается при использовании предмета). Я имел в в виду что бы все эти параметры были в конфигах предметов и первым двум параметрам можно было указывать свое время. Идея в том что бы гг не мог держать в руках оружие и использовать предметы пока проигрывается звук от уже использованного предмета. Короче что то типа этого https://ap-pro.ru/forums/topic/1086-medicina-tch/. Постепенное действие предметов есть в этом моде, но там баг с голодом. Мне кажется что некоторы из этих веще лучше делать через движок. Можешь просто сделать возможность влиять на голод скриптами и я буду использовать этот мод. Но там параметры предметам прописываются в скрипте а не в конфиге, а в конфиге везде ставятся нули. Не думал что сильный блум кому-то нравится, поэтому я наверное дня два его переделывал :< Хз если честно, может быть сяду, но сейчас у меня главная цель это разделить проект на версию со старой концепцией и проект, в котором я пойду дальше нее, а для этого нужно довести NSPX до готовности к этой развилке. Если я продолжу заниматься подготовкой, а кто-то поможет мне с этим параллельно то я буду очень рад, но пока у меня куча багов B и C классов и задач по переработке разных вещей чтобы добавить что-то новое Изменено 12 ноября, 2023 пользователем Deathman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 12 ноября, 2023 Deathman я бы помог хотя бы с текстурами, но я только начинаю изучать фотошоп и скрипты. Конечно сначала доведи все до ума Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 12 ноября, 2023 (изменено) 18 минут назад, Stalker3002 сказал: Deathman я бы помог хотя бы с текстурами, но я только начинаю изучать фотошоп и скрипты. Конечно сначала доведи все до ума А если я тебе скину проект для блендера и в дискорде объясню как запекать AO ты сможешь его сесть запекать? Так выглядит мой шейдер в блендере, при помощи которого я сейчас запекаю AO с текстур Изменено 12 ноября, 2023 пользователем Deathman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalker3002 4 Опубликовано 12 ноября, 2023 Deathman а сколько их нужно сделать? В блендере я вообще не шарю, но если запишишь видео как это делать то попробую. Но не чего не обещаю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 13 ноября, 2023 5 часов назад, Stalker3002 сказал: Deathman а сколько их нужно сделать? В блендере я вообще не шарю, но если запишишь видео как это делать то попробую. Но не чего не обещаю. Я буду рассчитывать АО для всех текстур, у которых есть нормали и/или карты высот, а текстур много. Могу тебе лично в реальном времени как-нибудь голосом объяснить Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PSI 139 Опубликовано 24 ноября, 2023 Deathman не было желания/идеи пофиксить интерфейс под 16/9? И шрифты под 2К/4К? Будущее сталкерской вселенной — PSI Store | X-Ray Hub Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 24 ноября, 2023 (изменено) 2 часа назад, PSI сказал: Deathman не было желания/идеи пофиксить интерфейс под 16/9? И шрифты под 2К/4К? Хз, нынешнее обновление будет последним, и в нем я буду только доводить до финального состояния то что требует этого. Вы можете помочь мне с этим, а если нет то может быть это будет в других проектах если такие будут. Изменено 24 ноября, 2023 пользователем Deathman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 25 ноября, 2023 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PSI 139 Опубликовано 26 ноября, 2023 (изменено) - Забор как то странно работает с туманом. - У NPC странно отрабатывают нормали (лицо сильно прыщавое) - То же самое с текстурой шкафа, уж очень она странная Я понимаю, что многие некоторые проблемы вызваны кривой разработкой ПЫС и вами никак не могут быть исправлены, но я думаю стоит об этих проблемах знать. Изменено 26 ноября, 2023 пользователем PSI 1 Будущее сталкерской вселенной — PSI Store | X-Ray Hub Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 27 ноября, 2023 (изменено) Новый мутант в NSPX - солевой! Дополнено 5 минуты спустя В 26.11.2023 в 05:22, PSI сказал: - Забор как то странно работает с туманом. - У NPC странно отрабатывают нормали (лицо сильно прыщавое) - То же самое с текстурой шкафа, уж очень она странная Я понимаю, что многие некоторые проблемы вызваны кривой разработкой ПЫС и вами никак не могут быть исправлены, но я думаю стоит об этих проблемах знать. 1. Забор и многие другие объекты, такие как вода, маскировочная сетка накладываются на сцену поверх нее - уже после этаба сборки освещения и первого постпроцесса, вроде автоэкспозиции и тумана. Я уже в курсе этого и думаю над решением. Возможное решение - считать туман дополнительно для каждого такого объекта\Заставить Forward rendered объекты записывать свою позицию в буфер глубины и считать туман после них\Отказаться от максимума Forward rendered, перенеся их в Deffered render как сетку рабицу в бункере Сидоровича 2. Это штатная текстура лица сталкера, просто прыщи стали более заметными после ввода в игру нормального рельефного текстурирования Решение - Замена или переделка рельефа\текстуры этого варианта лица сталкера 3. В оригинальной игре рельефа на шкафу нет потому что текстуры деталей не давали рельеф на нем, теперь рельеф от детальных текстур есть на всех поверхностях и соответственно появляются такие спорные моменты. Решение - работа с материалом шкафа и других спорных объектов Изменено 27 ноября, 2023 пользователем Deathman 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 28 ноября, 2023 Двигая NSPX вперед 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 30 ноября, 2023 Забавно что я пишу по сути в пустоту и мне давно стоило бы переехать на GIT + PlayGround, но я продолжаю продолжать: 1. Я сегодня мог потерять по сути весь NSPX, который имеется на данный момент, потому что у меня нет репозитория с игровыми ресурсами проекта и они содержатся в единственном экземпляре на моем хлипеньком SSD без корпуса 2. Я поймал себя на мысли о том, что я сижу и выделываюсь, играю с моделями освещения, спекулярными моделями, пытаюсь в IBL, для настоящего физически корректного рендеринга на огромных кастылях, хотя в игре нет нормальных материалов и MatID + Glossiness для каждого материала настраивались вообще без метрик тупо на пофиг, а хоть какой-то красивый эмбиент в лице Lightmap AO (aka Hemi) из xrLC даже под спидами такой, что лучше бы его не было. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 1 декабря, 2023 (изменено) Думаю что хотя бы ради таких скриншотов сидеть и четыре дня др*чится с моделями освещения и из кучи тонн шлака на ShaderToy понимать как работают те или иные модели освещения чтобы в итоге добавить модель Орена и Наяра, вместе с переписыванием всего что связано с освещением и сборкой сцены все же стоило Дополнено 9 минуты спустя В 26.11.2023 в 05:22, PSI сказал: - Забор как то странно работает с туманом. - У NPC странно отрабатывают нормали (лицо сильно прыщавое) - То же самое с текстурой шкафа, уж очень она странная Я понимаю, что многие некоторые проблемы вызваны кривой разработкой ПЫС и вами никак не могут быть исправлены, но я думаю стоит об этих проблемах знать. Поделюсь наработками по туману: Так как расчет тумана очень быстрый я все же решил не тратить на Forward объекты много времени и считать туман для каждого по отдельности Изменено 1 декабря, 2023 пользователем Deathman 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 4 декабря, 2023 Когда связался с первым рендером: 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
PastKNIGHT 329 Опубликовано 4 декабря, 2023 1 час назад, Deathman сказал: Когда связался с первым рендером: это я так понимаю псевдо-DirectX 8 (Статика)? Жаль конечно что некоторые её выпиливают. А вам желаю удачи в разработке. А главное терпения. Идеи у вас конечно прекрасные, главное чтобы нервы выдержали! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 4 декабря, 2023 1 час назад, PastKNIGHT сказал: это я так понимаю псевдо-DirectX 8 (Статика)? Жаль конечно что некоторые её выпиливают. А вам желаю удачи в разработке. А главное терпения. Идеи у вас конечно прекрасные, главное чтобы нервы выдержали! Да, это забавный скриншот с бага, возникшего когда я завозил новые эффекты на первый рендер. Я рад что кто-то того же мнения о первом рендере что и я, и кстати знает что первый рендер это не DX8, а DX9 с 1.1\1.4 шейдерной моделью. Спасибо за пожелания, думаю нервы выдержут потому что я уже мертв внутри и довожу проект до финала чисто по энерции. Дополнено 17 минуты спустя Новости дня: 1. Я понял как прокинуть на втором рендере LightMap свет от локальных источников и теперь делом времени остается запилить оптимизацию как в Atomic heart - Lightmap локальный свет при динамическом глобальном или даже полностью статический второй рендер 2. Я прокинул на первый рендер несколько постобработочных эффектов со второго рендера, может быть когда-нибудь я переведу на Forward+, а может быть вырежу, отказавшись от LightMap в сталкере в принципе 3. Я подхожу к бете и сегодня я завершил первичную оптимизацию очень во многом переработанного второго рендера Спойлер Дополнено 20 минуты спустя А, ну и еще я технофашист и поднял системные требования проекта до DX9.0a на первом и DX9.0c на втором рендере, можно асуждать Дополнено 23 минуты спустя Второй рендер если что тоже не унывает 1 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 660 Опубликовано 6 декабря, 2023 Поражаюсь тому, что я походу из кучи модов что я видел один вкладываю силы в то, чтобы зона была зоной и что разные уровни должны иметь разную атмосферу и визуал. К примеру как минимум половина уровней должна быть темной и страшной, это уровни типа свалки, Янтаря, ЧАЭС и других. Для достижения необходимой атмосферы я играю с набором постобработочных эффектов и одним из важных я считаю цветокоррекцию. К примеру на Янтаре, ЧАЭС и некоторых других уровнях я использую цветокоррекцию, похожую на цвета Чернобыля от HBO. Дополнено 4 минуты спустя Либо ждите в ближайшие дни вариант второго рендера с полностью статическим освещением, либо я хз вообще. Может быть возьму перерыв. 1 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты