Перейти к содержанию

3D Броня & Проблемы с отображениями текстур

Большинство пользовательских броней не работают должным образом в Epic Fight. Это происходит потому, что в Epic Fight используется собственная модель, не только для сущностей, но и для брони. К счастью, в Epic Fight есть алгоритм генерации модели на основе пользовательских броней, но иногда он изменяет их неправильным образом. Это руководство предназначено для создателей мод-паков, чтобы сделать пользовательскую броню визуально безупречной, без необходимости вносить изменения в исходный код. Вот шаги, которыми вы можете следовать, чтобы получить исправленную броню:


Необходимые инструменты:


💡 Переделывание брони в Blockbench (по желанию)

Вам не нужно переделывать броню в Blockbench, если у вас есть официальные файлы брони для мода, который вы хотите исправить.

После загрузки и установки всех трех программ. Первое, что вам нужно сделать, это выбрать мод, у которого есть набор брони, который вы хотите исправить и затем попытаться воссоздать модель как можно точнее. Один из эффективных способов сделать это - осмотреть броню в игре и получить текстуры из исходного кода нужного вам мода.

ПРИМЕР:


archers_armor
Выше приведен файл текстуры для брони archers_armor из мода Dungeon Gear. Давайте посмотрим, как мы можем пересоздать эту броню с помощью Blockbench
1. Создайте общую модель, чтобы мы могли экспортировать ее позже в Blender. Желательно дайте модели имя, которое вы сможете распознать, например, Archer's Armor.

showcase55
2. Убедитесь, что у вас установлен CEM Template Loader, чтобы вы могли импортировать стандартные модели. (Вы можете загрузить плагины в разделе File/Plugins).
3. Затем вам следует импортировать все стандартные модели брони. (Вы можете импортировать стандартные модели брони в разделе Tools/Load CEM Template/Unsupported Entities).

showcase66
4. Импортируйте текстуры и измените размер текстуры в проекте на такой же, как у импортированной текстуры. (Подсказка: Вы можете применить текстуры к модели, перетаскивая их на каждую группу деталей брони).

showcase77
5. Теперь исправьте текстуры, пока они не будут расположены в правильном порядке и будут выглядеть как оригинальная модель.
6. После обработки текстур нажмите "Ctrl + A" и убедитесь, что все текстуры используются. Если вы пропустили какие-либо текстуры, это означает, что вашей модели требуются дополнительные корректировки, и вам нужно будет добавить дополнительные части в броню. В нашем случае у Archer's Armor есть дополнительная часть шляпы, поэтому нам нужно будет добавить куб и попытаться угадать его вращение, масштаб и положение на основе брони, добавленной модом Dungeon Gear, и размера текстуры.



7. Как видите, после нескольких исправлений мы добились того, чтобы наша модель выглядела как оригинальная, и теперь мы готовы перейти в Blender и исправить каждую отдельную часть.

image
8. При экспорте файла вашей брони убедитесь, что вы экспортируете его в формате .obj, поскольку именно этот формат мы будем использовать в Blender.


💡 Весовое окрашивание и коррекция вершин

Перейдите в руководство [[Blender Guide|Blender Basics and Tips and Tricks]] для получения советов по использованию Blender.

  1. Сначала откройте Blender, перейдите в раздел file/import/Wavefront (.obj) и импортируйте файл armor, который вы только что создали в Blockbench.
  2. Затем выберите одну часть брони для исправления. Сначала мы исправим слой головы. Выберем каждый куб и часть, составляющие шлем для брони лучника. Для нашего примера, "head" и "headback.001" - это части, составляющие шлем, поэтому мы выберем обе части и нажмем "Ctrl + J", чтобы объединить все части в одну модель (СОВЕТ: Чтобы объединить все части, вам следует находиться в режиме объекта).
    Выберите
    image
    Объединить (Вы можете переименовать новую объединенную модель с названием соответствующей части брони, в нашем случае я позже переименовал ее в "Шлем").
    image
    (На этих скриншотах все остальные части брони скрыты)
  3. В режиме объекта (Object Mode) исправьте вращение и позицию импортированной модели, нажав "alt + r" & "alt + g".
  4. В режиме редактирования (Edit Mode) поверните модель и исправьте ее позицию на исходное положение перед сбросом вращения и позиции в режиме объекта.
  5. Теперь, после исправления импортированного вращения, мы сделаем родительскую связь модели с арматурой. Перейдите в режим объекта (Object Mode), выберите модель шлема и арматуру, затем перейдите в меню Object/Parent/Armature Deform/With Empty Groups/With Empty Groups. Теперь вы успешно сделали родительскую связь модели с арматурой, перейдем к весовому окрашиванию. (СОВЕТ: Вы можете выбрать две вещи, удерживая клавишу Shift и щелкнув правой кнопкой мыши по ним. Убедитесь, что оба объекта выбраны в режиме объекта, а не в режиме позы или в edit mode) image image
  6. Выбрав модель шлема и переключившись из режима object mode в режим весового окрашивания (Weight Paint), мы наконец применим деформации вершинных групп, чтобы шлем следовал за головой во время анимации игрока. image
  7. Чтобы применить весовое окрашивание, убедитесь, что видны вершины модели и включен режим проволочной сетки (wireframe mode), как показано на следующем изображении: Showcase89
  8. Теперь вы можете выбрать из различных кистей для применения весового окрашивания, но основные из них - кисти "Вычитание - subtract" и "Добавление - add". image
  9. Выберите желаемую вершинную группу справа (vertex). В нашем случае мы будем работать с группой головы, так как мы исправляем шлем. Showcase99
  10. Просто начните красить всю модель так, чтобы она следовала за всей головой. В конце вы сможете получить нечто подобное: image
  11. Вы можете проверить, успешно ли вы сделали родительскую связь и применили весовое окрашивание шлема к голове, перейдя к арматуре в режиме позы (pose mode) и вращая кость головы. Если нет, то вернитесь на несколько шагов и проверьте, не пропустили ли вы что-то. 2023-02-10-16-20-11

💡 Экспорт вашей исправленной брони

Теперь, когда вы исправили модель, вы захотите экспортировать свою работу и применить изменения в игре. Но как это сделать? Всё просто.

  1. Убедитесь, что в вашем проекте отсутствуют ненужные части брони или нежелательные модели, и оставлен только желаемый экспортированный элемент брони, как показано здесь. (СОВЕТ: Вы не можете экспортировать две части брони одновременно, поэтому экспортируйте их поочередно и удалите все остальные.)
    image
  2. После удаления нежелательных моделей или частей брони, которые не будут экспортироваться, перейдите в меню File/Export/Animated Minecraft Model (.json)
    image
  3. Убедитесь, что выбрана только опция "Export Mesh" (Экспортировать сетку), поскольку мы экспортируем только броню, а не анимацию или пользовательскую арматуру.
    image
  4. Проверьте имя экспорта, чтобы убедиться, что оно соответствует имени регистрации пользовательской брони в игре.
    image
  5. После завершения кликните на "Export to Json Minecraft" (Экспортировать в Json Minecraft).
    image
  6. Теперь перейдите в свою игру, выберите пакеты ресурсов (папка resourcepack) и внутри папки пакетов ресурсов создайте новую папку. Внутри нее вы можете создать файл pack.mcmeta, например:

Создание pack.mcmeta файла

Прежде всего, вам потребуется создать файл pack.mcmeta, создав обычный текстовый файл и переименовав его в pack.mcmeta (убедитесь, что включены расширения файлов).

После этого отредактируйте файл и добавьте следующий код, чтобы ваш датапак работал.

{
    "pack":{
        "pack_format":6,
        "description":"Краткое описание вашему паку"
        }
}

pack_format Values

Версия Значение
1.16.2–1.16.5 6
1.17.x 7
1.18.2 9

Создание пути к папке

Вам потребуется создать серию папок со следующими названиями. Каждая папка или файл должны быть внутри предыдущей папки.

assets -> "modid" -> animmodels -> armor -> "registryname".json (Перетащите сюда ваш экспортированный файл брони.)

🎉 Поздравляю! Вы успешно исправили проблему с броней. 🎉

Несколько более простых решений для исправления проблем с 3D-броней можно найти здесь: Другие решения для проблем с 3D-броней