Modern UI avatar

Modern UI [1.21.8] [1.20.6] [1.19.4]

logo

Modern UI by Icyllis Milica

Описание:

Modern UI (by Icyllis Milica) — это фреймворк для настольных приложений, предназначенный для разработки автономного программного обеспечения для 2D и 3D рендеринга. Он использует современные графические API и технологии для обеспечения рендеринга в реальном времени с высокой производительностью. Для улучшения качества, Modern UI улучшает и оптимизирует набор функций, используемых Google Android, и имеет собственную систему обработки текста с поддержкой интернационализации.

Modern UI для Minecraft — это модификация (Mod) для Minecraft, основанная на Modern UI Core Framework и Modern UI Core Extensions. Она предоставляет программу загрузки Modern UI в среде Minecraft и Modding API на основе Forge/Fabric для создания мощных графических интерфейсов в Minecraft.

Для клиента нажмите Ctrl+K или ⌘+K (по умолчанию), чтобы открыть экран Центра действий для настройки Modern UI. (Примечание: вы можете провести по экрану «Настройки», чтобы настроить шрифты)

Эта модификация также включает мощный механизм компоновки текста и систему рендеринга текста, разработанные для Minecraft.
Этот движок предоставляет соответствующие методы для обработки текста Unicode и дает более читаемый текст в любом масштабе, в 2D/3D. Подробнее:

  • Предварительный просмотр в реальном времени и перезагрузка шрифтов TrueType/OpenType
  • Улучшенная реализация резервного шрифта
  • Сглаживание текста и хинтинг шрифтов FreeType
  • Использование улучшенного рендеринга текста SDF в 2D/3D (также использует пакетный рендеринг)
  • Вычисление точного размера шрифта в пространстве устройства для нативного рендеринга глифов
  • Использование Google Noto Color Emoji и поддержка всех Emoji Unicode 15.1 (12 сентября 2023 г.)
  • Поддержка коротких кодов эмодзи Discord/Slack/GitHub/IamCal/JoyPixels в чате
  • Настраиваемый эвристический алгоритм для двунаправленного текста
  • Настраиваемая тень текста и исходный размер шрифта
  • Разрыв строк Unicode и CSS line-break & word-break
  • Быстрое, точное и асинхронное вычисление компоновки текста Unicode
  • Более быстрый и эффективный по памяти алгоритм упаковки прямоугольников для глифов
  • Использование настоящей градационной серой текстуры (1 байт на пиксель, тогда как в Minecraft — 4 bpp)
  • Совместимость с OptiFine, Sodium (Rubidium), Iris (Oculus) и многими модификациями
  • Совместимость с определением шрифтов JSON в Minecraft (растровые шрифты, TTF шрифты)

Дополнительно, эта модификация предоставляет множество утилит, улучшающих производительность игры и игровой опыт. В настоящее время доступно:

  • Изменение цвета фона экрана
  • Размытие по Гауссу для фонового изображения экрана
  • Анимация плавного появления фона экрана
  • Дополнительные режимы окна: Полноэкранный (без границ), Развернутый (без границ)
  • Ограничение частоты кадров и плавное изменение общей громкости при неактивном окне (не в фокусе) и свернутом
  • Приостановка однопользовательской игры при открытии инвентаря
  • Изменение опции масштаба интерфейса на ползунок и добавление поясняющего текста
  • Воспроизведение звука «Ding» при загрузке Minecraft и переходе в главное меню
  • Включение плавной прокрутки в стандартном списке выбора Vanilla и на панели прокрутки Forge
  • Нажатие «C» для увеличения, как в OptiFine
  • Стильный стиль всплывающих подсказок
  • Выбор скругленной или обычной границы (со сглаживанием)
  • Добавление разрыва заголовка и управление межстрочным интервалом заголовка
  • Выравнивание строки заголовка по центру, поддержка направления компоновки RTL
  • Точное позиционирование всплывающей подсказки по пиксельной сетке (плавное движение)
  • Автоматическое перенос текста во всплывающей подсказке, выравнивание заголовка по центру, разрыв заголовка, автоматический межстрочный интервал
  • Изменение цвета фона и цвета границы (с градиентом и анимацией)

Основные возможности:

  • 2D графическая библиотека для нескольких графических API
  • Промежуточное представление и AST языков шейдеров
  • Рендеринг на основе функций расстояния со знаком и векторной графики
  • Поддержка Markdown (и некоторых HTML-тегов)
  • Постобработка изображений
  • Быстрое вычисление матриц и векторов
  • Преобразование форматов изображений
  • Фреймворк для анимации и переходов
  • Цикл обработки событий и многопоточный фреймворк
  • Движок формирования текста и компоновки сложного текста
  • MVVM и обработка жизненного цикла
  • Автоматическая компоновка интерфейса RTL (справа налево)

Modern Text Engine для Minecraft:

  • Поддержка цветных эмодзи, использование Google Noto Color Emoji 15.1 на основе списка эмодзи Unicode 15.1;
  • Поддержка коротких кодов эмодзи в чате, например, :rofl: для обозначения катания по полу от смеха, поддержка коротких кодов Discord и Slack;
  • Возможность использования шрифтов TTF или OTF, настройка базового размера шрифта, смещения базовой линии и отключения тени текста;
  • Масштабируемая векторная графика, автоматическое переключение уровня разрешения (до 96px), нативный (не синтетический) рендеринг жирного и курсивного начертания;
  • Поддержка рендеринга текста с использованием полей расстояния в 3D мире, но с использованием сглаженного атласа шрифтов в 2D GUI; Это улучшает предыдущую функцию:
  • *Плавный рендеринг всех символов в любом масштабе (например, когда вы далеко от таблички или видите очень мелкий текст в интерфейсе)
  • Поддержка многослойного текста, компоновки нескольких абзацев вместе, потокового алгоритма компоновки и внедрение быстрого кэша компоновки;
  • Поддержка быстрой замены цифр, компоновки и выравнивания с высокой точностью, и плавное отображение быстро меняющихся цифр (фиксированная ширина);
  • Поддержка MIP-карт, сглаживания, линейной выборки и сглаживания с увеличением частоты дискретизации (SSAA);
  • Улучшенная и более эффективная компоновка абзацев с двунаправленным текстом (например, арабский, идиш); Использование сглаженных атласов шрифтов;
  • Настраиваемый эвристический алгоритм для двунаправленного текста для более точного управления направлением текста; Поддержка исправления неверных суррогатных пар;
  • Использование формирования текста HarfBuzz, поддержка рендеринга комбинирующих символов, таких как тайский, деванагари, бенгали и тамильский;
  • Поддержка разрыва графемных кластеров, поддержка алгоритма разрыва строк Unicode;
  • Поддержка контекстно-зависимого и основанного на локали разрыва слов и строк;
  • Поддержка пиксельного рендеринга шрифтов, поддержка фиксированного уровня разрешения, поддержка выравнивания по пикселям;
  • Поддержка замены растровых изображений, плавный рендеринг быстро меняющихся чисел, поддержка отображения эмодзи;
  • Оптимизация алгоритма компоновки, увеличение FPS примерно на 10% при отрисовке текста в интерфейсе;
  • Использование градационных серых пикселей для хранения текстур, уменьшение использования памяти GPU;
  • Снижение ненужного использования оперативной памяти и значительное сокращение создания объектов;

Настройка шрифтов
Нажмите Ctrl+K или ⌘+K (по умолчанию), чтобы открыть Центр действий, перейдите в «Настройки», проведите до второй страницы, и вы увидите настройки шрифтов.

  • Предпочитаемое семейство шрифтов — это наиболее желаемое вами. Это может быть системный шрифт или файл шрифта TrueType/OpenType (коллекция).
  • Резервные семейства шрифтов используются, когда предпочитаемое семейство шрифтов недоступно.

Modern Text Engine:
Modern UI следует определению шрифтов JSON в Minecraft, игнорируются только типы поставщиков глифов 'legacy_unicode' и 'unihex'. Семейства шрифтов Modern UI, упомянутые выше, будут служить резервными семействами шрифтов для шрифтов Minecraft. Поведение шрифта по умолчанию (в «Настройки» > «Компоновка текста») дает возможность удалить некоторых поставщиков глифов из шрифта по умолчанию Minecraft (minecraft:default). Чтобы избежать использования стандартных ASCII-шрифтов Vanilla, установите значение «Keep Other». Обратите внимание, что эта опция действительна только если у вас не включена опция «Принудительный шрифт Unicode». Если вы хотите использовать стандартный шрифт Unicode Vanilla, просто скачайте OTF-версию GNU Unifont.

Дополнительные возможности для Minecraft:

  • Поддержка настройки режима окна, такого как полноэкранный без границ, оконный без границ;
  • Отмена/Повтор и итератор слов Unicode для всех текстовых полей;
  • Анимация плавного появления фона экрана GUI и эффект размытия по Гауссу в 2 прохода, настраиваемый градиентный цвет фона;
  • Стиль всплывающих подсказок с плавными скруглениями, поддержка компоновки RTL, настраиваемый цвет фона и границы;
  • Воспроизведение звукового эффекта «ding» при загрузке игры;
  • Поддержка приостановки игры при открытии инвентаря;
  • Новый алгоритм масштаба интерфейса и виджет масштаба в виде ползунка (не ограничен четными числами, совместим с OptiFine);
  • Добавление плавной прокрутки для стандартных панелей прокрутки Vanilla и Forge;
  • Асинхронный обработчик сети; Автоматическое выключение сервера;
  • Все функции настраиваются в конфигурационных файлах или на экране Центра действий (горячая клавиша по умолчанию Ctrl+K)

Modern UI для Fabric удаляет некоторые возможности (по сравнению с версией для Forge):

  • Увеличение как в OptiFine, Скрытие прицела в интерфейсе
  • Вывод дополнительной отладочной информации, расширение отчета о сбое

Сравнение с техниками рендеринга текста Caxton
Caxton известен своим рендерингом текста с использованием MSDF. Вы можете выбрать между Caxton и Modern Text Engine.

Сходства:

  • Оба используют формирование текста HarfBuzz
  • Оба поддерживают обработку текста Unicode
  • Оба поддерживают разрыв строк Unicode и разрыв графемных кластеров
  • Оба совместимы с Iris в режиме растрового рендеринга
  • Оба имеют эффективный алгоритм упаковки прямоугольников, значительно лучше, чем у Mojang

Различия:

  • Caxton использует более новую версию HarfBuzz, тогда как мы используем более старую (включенную в JDK 17, обновлена в JDK 21)
  • Caxton использует многоканальный SDF и рендерит более четкий текст при увеличении, тогда как мы рендерим со слишком сильным скруглением
  • Мы совместимы с OptiFine, тогда как Caxton — нет
  • Мы поддерживаем цветные эмодзи, тогда как Caxton — нет
  • Мы поддерживаем хинтинг шрифтов FreeType, тогда как Caxton никогда его не поддерживал; хинтинг помогает на мониторах с низким разрешением
  • Мы поддерживаем идеальную выборку нативного изображения глифа в пространстве экрана, что идеально для 2D рендеринга
  • Мы поддерживаем рендеринг текста с одноканальным SDF без дополнительных ресурсов GPU, мы всегда используем текстуры 1 bpp
  • У нас есть умный метод выборки SDF для уменьшаемого текста, тогда как у Caxton его нет
  • Нет необходимости ждать генерации MSDF текстуры, вы можете переключать шрифты в игре одним щелчком
  • Мы поддерживаем различные эвристики направления текста и стратегии разрыва строк
  • Мы не используем дополнительные нативные библиотеки, поэтому Modern UI работает на macOS
  • У нас немного более высокая производительность компоновки, чем у Caxton, и используется меньше оперативной памяти

Часто задаваемые вопросы (FAQ):

Скачать Modern UI

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseModernUI-NeoForge-1.21.8-3.12.0.41.21.6+2 NeoForge23 сентября 202523,9 МБ
ReleaseModernUI-Forge-1.21.8-3.12.0.41.21.6+2 Forge23 сентября 202523,9 МБ
ReleaseModernUI-Fabric-1.21.8-3.12.0.41.21.6+2 Fabric23 сентября 202523,8 МБ
ReleaseModernUI-NeoForge-1.21.4-3.12.0.31.21.4NeoForge2 сентября 202523,9 МБ
ReleaseModernUI-Forge-1.21.4-3.12.0.31.21.4Forge2 сентября 202523,9 МБ
ReleaseModernUI-Fabric-1.21.4-3.12.0.31.21.4Fabric2 сентября 202523,8 МБ
ReleaseModernUI-NeoForge-1.21.1-3.12.0.21.21+1 NeoForge2 сентября 202523,9 МБ
ReleaseModernUI-Forge-1.21.1-3.12.0.21.21+1 Forge2 сентября 202523,9 МБ
ReleaseModernUI-Fabric-1.21.1-3.12.0.21.21+1 Fabric2 сентября 202523,8 МБ
ReleaseModernUI-Forge-1.20.1-3.12.0.11.20+1 NeoForge2 сентября 202523,9 МБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.