3D-модели (glTF/JSON) и Ресурспаки

Использование Minecraft JSON-моделей и современных 3D-моделей glTF из Blender, атлас вокселей, CTM-текстуры и кастомизация GUI.

3D-модели (glTF/JSON) и Ресурспаки

Metron обладает уникальным графическим пайплайном: движок не только совместим с ванильными ресурспаками Minecraft, но и поддерживает современные 3D-модели в формате glTF/glb, экспортированные прямо из Blender!


Структура ресурспака

Ресурспаки размещаются в каталоге resourcepacks/<pack_name>/ (папка или .zip архив).

TEXT
resourcepacks/my_pack/
├── pack.mcmeta                                    <-- Манифест (или pack.ron)
└── assets/minecraft/
    ├── models/block/
    │   ├── custom_chair.json                      <-- Minecraft JSON-модель
    │   └── sci_fi_beacon.gltf                     <-- 3D-модель glTF / .glb
    ├── textures/
    │   ├── block/
    │   │   ├── stone.png                          <-- Альбедо
    │   │   ├── stone_n.png                        <-- Карта нормалей (PBR)
    │   │   └── stone_s.png                        <-- Шероховатость / металл (PBR)
    │   └── gui/container/
    │       ├── inventory.png                      <-- Скин инвентаря
    │       ├── crafting_table.png                 <-- Скин верстака
    │       └── furnace.png                        <-- Скин печи
    └── optifine/ctm/                              <-- Бесшовные текстуры CTM
        └── glass/
            ├── glass.properties
            └── glass_0.png ... glass_46.png

glTF и GLB: 3D-модели из Blender в воксельном мире

В отличие от классического Minecraft, где сложные модели приходится собирать из неудобных кубических JSON-элементов, в Metron вы можете использовать полноценные низкополигональные треугольные сетки:

  1. Смоделируйте объект в Blender (например, фонарь, турель, кристалл или растение).
  2. Настройте UV-развертку на текстуру из вашего пака.
  3. Экспортируйте модель в формат .gltf или .glb.
  4. Положите файл в:
    TEXT
    assets/minecraft/models/block/<stem>.gltf
    (где <stem> — имя блока, например lantern.gltf или crystal.glb).

Как движок запекает glTF:

  • При запуске или нажатии F3+T движок тесселирует полигоны модели в высокоэффективный формат MeshableTris.
  • Текстурные координаты проецируются на воксельный атлас.
  • Освещение плавно рассчитывается на уровне вершин, органично вписывая 3D-модель в воксельный мир.

Minecraft JSON-модели

Для классических моделей поддерживается стандартный формат Minecraft:

JSON
{
  "parent": "block/block",
  "textures": {
    "particle": "block/torch",
    "torch": "block/torch"
  },
  "elements": [
    {
      "from": [7, 0, 7],
      "to": [9, 10, 9],
      "faces": {
        "up": { "uv": [7, 6, 9, 8], "texture": "#torch" },
        "down": { "uv": [7, 13, 9, 15], "texture": "#torch" },
        "north": { "uv": [7, 6, 9, 16], "texture": "#torch" },
        "south": { "uv": [7, 6, 9, 16], "texture": "#torch" },
        "west": { "uv": [7, 6, 9, 16], "texture": "#torch" },
        "east": { "uv": [7, 6, 9, 16], "texture": "#torch" }
      }
    }
  ]
}

Модели идеально подходят для факелов, кактусов, печей, верстаков, сундуков и цветов.


CTM: Бесшовные текстуры и случайные вариации

Metron «из коробки» парсит .properties файлы модов Continuity и OptiFine:

  • method=repeat — повторение крупного паттерна (например, 2×2 или 4×4 блока бесшовного камня).
  • method=random — случайная замена текстур блоков для избавления от монотонности.

Благодаря этому HD-ресурспаки уровня Patrix выглядят в Metron детализировано и кинематографично без необходимости ставить отдельные моды.


Кастомизация интерфейса (GUI)

Ресурспаки могут заменять фоны контейнеров игры:

Путь к PNG Что заменяет
textures/gui/container/inventory.png Окно инвентаря игрока (E)
textures/gui/container/crafting_table.png Сетка верстака (176×166)
textures/gui/container/furnace.png Интерфейс печи (176×166)
textures/gui/container/generic_54.png Интерфейс одинарного и двойного сундука
textures/gui/title/background.png Полноэкранный фон главного меню
fonts/menu.ttf Основной шрифт меню и диалогов (поддерживает кириллицу)

Все изменения вступают в силу на лету при сохранении порядка паков в меню настроек!