ScreenshotFeatures
Удобные улучшения для создания скриншотов (особенно с шейдерами)
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 918
- Подписчиков на Modrinth
- 8
- версии
- 4
- Обновлён
- 12 августа 202612 авг.
- Опубликован
- в 2025
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
Функции скриншотов
ФУНКЦИИ ЗАВИСЯТ ОТ IRIS / ПОСТРОЕНЫ ВОКРУГ НЕГО
сделано для довольно технически подкованной/увлечённой аудитории, снимающей скриншоты с шейдерами
если у вас есть узкая потребность в чём-то, что, по вашему мнению, может помочь в ваших начинаниях со скриншотами, создайте issue на github!
обзор функций мода
- вручную настраиваемая глубина резкости
- клиентское время и погода
- сохраняет метаданные в скриншоты
- настройки шейдерпака
- хеш шейдерпака и статус git
- местоположение, время, fov и т. д.
- перетаскивание скриншотов с соответствующим тегом в меню списка шейдерпаков iris для загрузки (меню, где видно все ваши шейдерпаки, а не в настройках шейдерпака!)
сохранение метаданных, совместимое с fabrishotждём fabrishot 26.2- редактор матрицы проекции (например, использование ортографической проекции)
- пользовательские шейдерные униформы (требуется редактирование файлов шейдера для использования, подробнее ниже)
- экспериментальное изменение опций шейдера во время выполнения (экспериментально, подробнее ниже)
старые функции для управления папкой скриншотов и файлами будут когда-нибудь переделаны, но пока что убраны
демо-видео (на китайском): https://www.bilibili.com/video/BV1JZg36bETy/
инструменты в игре
блокировка ГРИ позволяет зафиксировать текущую дистанцию фокуса (сделано для использования с автофокусом, для лёгкой настройки ГРИ)
настройки погоды/времени могут влиять на ваш локальный мир в одиночной игре (по крайней мере, у меня осталось такое впечатление откуда-то), так что они заблокированы за ещё одной настройкой внизу страницы на всякий случай
редактирование значений в игре
у большинства числовых значений в этом моде рядом есть опция привязки клавиши, которая является его клавишей-«модификатором»
когда эта клавиша-модификатор зажата, вы можете нажимать привязки увеличения/уменьшения значения, чтобы менять значение с шагом и опционально с ещё одним модификатором, чтобы масштабировать ваше изменение значения
(в моих привязках я зажимаю shift для изменений с шагом 0.1x и ctrl для изменений с шагом 10x)
использование колеса прокрутки мыши для изменений вместо двух отдельных привязок увеличения/уменьшения тоже поддерживается
(настройки редактирования значений находятся в разделе «Инструменты в игре»)
встраивание метаданных
метаданные встраиваются как exif-данные в png под ключом screenshotfeatures в формате json их можно просмотреть по параметру во вкладке просмотра скриншотов, перетащив на неё скриншот

метод хеширования
сохраняет хеши md5, sha256 и xxh32 для включённого шейдера, git-коммита и диффов, если это git-репозиторий
эквивалентное хеширование папок в bash
cat $(find shaders -type f | sort) | xxh32sumхеши zip — это просто хеши zip-файла для удобства
редактор матрицы проекции
эта функция находится на довольно ранней стадии и едва работает достаточно хорошо, чтобы её использовать управление, честно говоря, ужасное, но может быть интересным/полезным, если вы знаете, что делаете

включение pull matrix переносит значения текущей матрицы проекции в редактор (переносимое значение берётся до переопределения), но не меняет фактические значения конфигурации слева
включение keeping aspect ratio пытается масштабировать ширину/высоту соответственно, когда вы меняете значение другой (т. е. если у вас изначально ширина и высота были 16 и 9, и вы ставите ширину 32, высота станет 18)
включение always apply matrix постоянно применяет значения, заданные в конфигурации, к матрице (хотя обновляется только при нажатии enter в текстовом поле/потере фокуса, а не вживую на каждый символ)
нажатие кнопок в области просмотра матрицы — это то, что на самом деле применяет значения, заданные в конфиге, к матрице! (если только не включено always apply matrix)
override matrix действительно применяет матрицу к камере игрока
orthogonal offset — это смещение камеры вперёд и назад, когда вы используете ортогональную матрицу,
советы по матрице
эксперименты с числами near/far plane и orthogonal offset приветствуются для работы с шейдерами, (и помните, что некоторые шейдеры могут быть просто непоправимо (без больших усилий) сломаны при использовании с ортогональной проекцией) я обычно использую photon, который работает нормально с ортогональной проекцией (у меня есть несколько исправлений для ортогональных проекций для использования с этим модом в моём личном форке photon на моём github)
обычно для ортогональных скриншотов с шейдерами я использую смещение 0, near plane -2048 и far plane 1024, или что-то около этих пропорций/знаков
учтите, что если ваша ширина и высота выпадают из соотношения друг с другом относительно размера вашего окна, всё будет выглядеть сплющенным!
интеграция с шейдерами и пользовательские uniform-переменные
этот мод определяет SCREENSHOT_FEATURES когда активен, и предоставляет bool uniform с именем isOrthogonalProjection, который устанавливается в true, когда override matrix включён и матрица ортогональна

когда uniform определён в gui Custom Uniforms, он добавляется как float uniform в шейдер и добавляется define SCREENSHOT_FEATURES_CUSTOM_UNIFORM_{name}, позволяя использовать например так:
#ifdef SCREENSHOT_FEATURES
#ifdef DOF_INTENSITY
#ifdef SCREENSHOT_FEATURES_CUSTOM_UNIFORM_DOF_INTENSITY
#undef DOF_INTENSITY
uniform float DOF_INTENSITY;
#endif
#endif
#endifгде вы можете как бы "затенять" настройку шейдера с помощью uniform вместо этого
для этого также есть экспериментальная функция "override", которая пытается делать это автоматически
внутри override внедряется до и после этапа предобработки шейдера, и удаляет #define с тем же именем, что и uniform, и пытается встроить любые const-переменные, зависящие от него (это самая рискованная часть)
включение override для uniform замедлит время компиляции шейдеров
bool-типы uniform запланированы
запланированные функции
(по крайней мере те, которые интересны лично мне)
- больше контроля над выгрузкой/отсечением чанков (для ортогональных скриншотов/камер на большом расстоянии)
- какая-нибудь система для автоматизации серии скриншотов в разных местах/под разными углами для точных сравнений
- поддержка aperture (хотя я ещё не просил ims о сборке)
- опциональное сохранение карты глубины скриншотов для лучших возможностей постобработки
этот мод на самом деле не предназначен для расширения обычных возможностей шейдеров путём предоставления большего количества uniform-переменных/текстур/данных мира, если бы я когда-нибудь это сделал, то скорее всего в другом моде
благодарности
старые версии этого мода были основаны на ScreenshotSettings от fmbellomy
Частые вопросы
Как установить ScreenshotFeatures?
Установите Fabric под свою версию Minecraft, скачайте ScreenshotFeatures под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть ScreenshotFeatures?
У ScreenshotFeatures есть сборки для Minecraft 1.21.6–1.21.8, 1.21.10, 26.2.
Нужен ли ScreenshotFeatures на сервере?
Ставится только в игру; на сервер ставить не нужно