Скачать BoneTown — Minecraft Моды — MetaMods

BoneTown

Активный

Установок

0

Последнее обновление

5 лет назад
Клиент
Библиотеки

BoneTown

Альтернативная система рендеринга сущностей для Minecraft Forge 1.15.2, которая полностью меняет подход к отображению моделей и анимаций в игре.

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

  • Поддержка скелетных анимаций
  • Работа со стандартными форматами 3D-моделей вместо ограниченного формата Minecraft
  • Вычисления анимаций и вершин выполняются непосредственно на GPU
  • Современный конвейер шейдеров GLSL
  • Продвинутая система смешивания анимаций на основе слоев
  • Анимации как ресурсы - моды могут добавлять анимации для сущностей других модов
  • Расширяемый сетевой протокол для автоматической синхронизации состояния анимаций

Поддерживаемые форматы

Внутренне используется собственный формат моделей BoneTown (.bonemf), специально разработанный для простоты и эффективности рендеринга в Minecraft. В настоящее время поддерживается конвертация из формата FBX.

Преимущества подхода

Если вы разработчик модов, желающий создавать сущности с использованием профессионального программного обеспечения и реализовывать детализированные анимации без потери производительности, BoneTown станет отличным решением.

Стандартный конвейер рендеринга Minecraft выполняет все вычисления анимации на CPU и передает данные каждый кадр. Это работает для простых моделей с малым количеством вершин, но становится проблемой для сложных моделей и анимаций.

BoneTown переносит практически все вычисления на GPU. Геометрия модели загружается на видеокарту только один раз, а каждый кадр передаются только изменяющиеся данные: информация об освещении, конечные позиции и данные анимационных костей.

Ограничения

Отсутствие поддержки пользовательских доспехов Forge

Хотя бипедальная модель поддерживает стандартные доспехи ванильного Minecraft, невозможно аналогичным образом поддерживать пользовательские модели доспехов Forge. Наша бипедальная модель содержит дополнительные суставы в локтях и коленях, и для анимации доспехов также требуется скелетная привязка.

Несовместимость с Optifine

BoneTown вводит новый конвейер рендеринга, который лишь частично использует существующую систему Minecraft. Совместимость с Optifine не гарантируется и не является приоритетом разработки.

Техническая реализация

BoneTown кардинально отличается от ванильного Minecraft в трех ключевых аспектах:

  • Собственный формат моделей для хранения данных
  • Код рендеринга, передающий данные на GPU
  • Представление анимаций на сервере и клиенте с их синхронизацией

Формат моделей

Модели и анимации загружаются из файлов .bonemf, которые содержат геометрические и анимационные данные. Формат вдохновлен Autodesk FBX, но значительно упрощен для нужд Minecraft.

Технические ограничения:

  • Максимум 100 костей в модели
  • 4 веса костей на вершину
  • Только один скелет в файле

Система рендеринга

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

Анимации

В отличие от ванильной системы, данные анимации хранятся непосредственно на сущности. Все сущности, использующие рендереры BoneTown, должны реализовывать интерфейс IBTAnimatedEntity и содержать AnimationComponent.

Руководство для разработчиков

Для изучения реализации рекомендуется ознакомиться с пакетом com.chaosbuffalo.bonetown.init для регистрации новых ассетов, com.chaosbuffalo.bonetown.client.render для аналогов ванильных классов и com.chaosbuffalo.entity.TestZombieEntity как пример полной реализации бипеда.

Структура каталогов

Анимации: assets/modid/bonetown/animations

Модели: assets/modid/bonetown/models

Реестры

Добавлены 4 новых реестра для управления дополнительными ассетами:

  • Материалы (шейдеры для рендеринга)
  • Модели (статические и анимированные)
  • Дополнительные анимации
  • Модели доспехов
Участники проекта
cbkovak

cbkovak

Создан: 26 апр 2020

ID: 37028