▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/MCglTF
MCglTF

MCglTF

Библиотека для загрузки glTF-моделей в Minecraft. Поддержка анимаций, материалов, морфинга и многого другого. Упрощает создание сложных 3D-моделей для модов.

Оцените первым
36.7K
3

MCglTF - это библиотека для разработчиков модов Minecraft, которая позволяет загружать и рендерить 3D-модели в формате glTF. Если вы когда-нибудь пытались добавить в игру сложную модель с анимациями, то знаете, как это муторно. Эта библиотека берёт на себя всю тяжёлую работу: загрузку, подготовку данных и рендеринг.

В ванильном Майнкрафте модели обычно состоят из кубов и простых форм. glTF - это открытый стандарт для 3D-сцен, который поддерживает анимации, морфинг, материалы, текстуры и многое другое. С помощью MCglTF мододелы могут использовать модели, созданные в Blender или других редакторах, практически без конвертации. Это здорово экономит время и позволяет делать модели уровня отдельной игры.

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

  • Формат GLTF - поддерживаются встроенные ресурсы, а также загрузка по ResourceLocation.
  • Формат GLB - бинарная версия glTF тоже работает.
  • Полный набор атрибутов - UV, нормали, касательные, цвета вершин.
  • Материалы - для PBR и карт нормалей потребуется OptiFine или Iris Shaders с совместимым шейдерпаком.
  • Текстуры - подгрузка стандартных текстур.
  • Не поддерживается множественные текстурные координаты (сделано для совместимости с ванильным рендером).
  • Риг - скелетная анимация работает.
  • Анимации - поддерживается несколько анимаций одновременно.
  • Морф-таргеты - плавные изменения формы модели.
  • Отсечение нулевых узлов - оптимизация, которая не рендерит узлы с нулевым масштабом.

Всё это доступно прямо из кода мода, не нужно писать собственный парсер или рендерер. Достаточно подключить библиотеку и работать с готовыми классами.

Примеры использования

Для примера можно взять рендеринг блоков, предметов и существ. Исходники примеров лежат в репозитории MCglTF-Example, так что можно быстро глянуть, как всё подключается и работает. Это поможет разобраться с API и встроить библиотеку в свой проект.

Важно знать

Почему текстура модели не отображается? Нужно задать материал в поле "extras" у материала, чтобы привязать текстуру. Подробности есть на вики-странице проекта.

Почему две анимации не могут управлять одним и тем же узлом одновременно? В спецификации glTF нет механизма смешивания анимаций (animation blending). Поэтому и в MCglTF эта возможность не реализована. Если вам нужно смешивание, придётся написать собственный обработчик анимаций.

Как применить свою обработку модели, например, кастомный материал или специальные OpenGL-команды? Для продвинутой генерации OpenGL-команд можно переопределить метод isReceiveSharedModel в вашем IGltfModelReceiver и вернуть false. Внутри вы создаёте собственный RenderedGltfModel на основе полученной GltfModel. Не забудьте добавить свои OpenGL-объекты (VBO, VAO, текстуры и т.п.) в GltfRenderDatas, чтобы они корректно удалялись при обновлении ресурсов.

Зачем это нужно

Если вы собираетесь делать мод с нестандартными моделями, MCglTF - настоящая находка. Она берёт на себя рутину и позволяет сосредоточиться на геймплее. Благодаря поддержке glTF вы можете использовать любые инструменты 3D-моделирования и экспортировать модели прямо в игру.

Скачайте MCglTF и попробуйте встроить его в свой следующий проект. Уверен, вы оцените, насколько проще станет работа с моделями!

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.19.x1.18.x1.16.x1.12.x

Платформы

Поддерживаемые окружения

Клиент

Создатели

Детали

Лицензия:
Опубликован:3 года назад
Обновлён:3 года назад
Главная