Я хотел бы знать, как работает система анимации в Minecraft. У меня такое ощущение, что все мобы жестко запрограммированы в игре. Действительно ли Нотч сидел там и вручную создавал матрицы для всех костей анимации?
Мне нравится воссоздавать игры для удовольствия, поэтому я хотел бы знать, как он это сделал. Кроме того, если он действительно жестко их кодирует ... есть ли лучший способ?
animation
geometry
minecraft-modding
radenon
источник
источник
Ответы:
Как уже говорили другие, да, модели и анимации жестко запрограммированы. Если вы хотите посмотреть, как это было сделано, перейдите в вики Minecraft Coder Pack .
Классы, которые вы хотите посмотреть: ModelBase, ModelBiped и ModelRenderer.
ModelBiped содержит следующие функции, которые делают анимацию гуманоидов:
Колебания рук - это просто функции косинуса. Правая рука смещена на PI, чтобы они качались в противоположных направлениях.
Я надеюсь, что отвечает на ваш вопрос =)
Если вы хотите получить больше информации о том, как на самом деле модифицировать Minecraft, проверьте этот вопрос:
Как добавить пользовательский моб в Minecraft?
источник
Модели в Minecraft жестко запрограммированы. Не существует понятия иерархии блоков (только список блоков). Это означает, что анимация выполняется либо процедурно (очень простым способом), либо жестко закодированными значениями с интерполяцией.
Существует несколько редакторов для моделей Minecraft, таких как Techne или FMCModeler, которые позволяют импортировать / экспортировать код модели Minecraft для модов, но они не поддерживают анимацию, поскольку она, вероятно, обрабатывается по-разному для каждой модели.
Вот быстрый пример, созданный с помощью FMCModeler:
Лучший способ сделать это - создать полностью основанный на блоках моделер с некоторыми понятиями иерархии блоков, чтобы вы могли анимировать модели с помощью ключевых кадров и интерполяции.
В настоящее время я создаю инструмент для создания многопользовательских игр, который делает именно это (среди прочего, http://craftstud.io/ ). Это уже позволяет создавать сложные статические текстурированные модели и многое другое находится в пути.
Вот сложная модель, построенная с помощью CraftStudio. Как видите, блоки расположены в виде дерева справа:
Каждый блок сериализуется на диск / по сети со следующими данными:
Я планирую добавить поддержку анимации, сохранив карту с названиями анимаций в качестве ключа и списком ключевых кадров в качестве значения. Каждый ключевой кадр будет связан с блоком и значением для анимации. Между ключевыми кадрами значения должны быть интерполированы (линейно для положения или сферически для углов, поиск lerp и slerp).
источник
Начиная с 1.8, блочные модели Minecraft практически не запрограммированы в игре и могут редактироваться с помощью пакетов ресурсов. Система моделирования JSON довольно проста для понимания, и модели существуют в / models / block. Затем вы можете посмотреть на код, чтобы увидеть, как он интерпретирует модели JSON.
источник