Blender: Как экспортировать анимацию в виде файла GLTF
Я сделал очень простую анимацию в Blender (2.79) и пытаюсь экспортировать ее как GLTF или GLB. Я успешно установил экспортер gltf и могу без проблем экспортировать как gltfs, так и glbs неанимированных моделей.
Как только я добавляю анимацию и пытаюсь экспортировать, я получаю следующее сообщение об ошибке
Анимация настолько проста, насколько это возможно, я просто экспериментирую. Это просто поле по умолчанию, которое меняет местоположение и поворот на 3/4 ключевых кадров.
Я новичок в Blender, поэтому, возможно, я пропускаю шаг, но мой процесс выглядит следующим образом: добавить блок к сцене, добавить ключевые кадры (LocRot), перейти к экспорту, как я бы со статическим объектом, это имеет следующие (по умолчанию) настройки,
Я пробовал нажимать Pushdown
на листе действий, как я видел, предложил где-то, но это не имеет значения.
Я что-то пропустил? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы посоветовать, я рад поделиться файлом или чем-то, что может помочь.
Обратите внимание, что в конечном итоге это будет использоваться в виде кадра, поэтому любые конкретные советы по экспорту для этого будут высоко оценены.
Спасибо за любую помощь.
2 ответа
Так что после просмотра чужих настроек экспорта (благодаря a-frame slack channel) у меня все заработало. Мне нужно было force sample animations
выбран в настройках экспорта анимации. Тогда он экспортирует без проблем и работает как ожидалось. Отвечая на мой вопрос на случай, если у кого-то еще возникнет эта проблема.
Благодарю.
Чтобы экспортировать несколько анимированных объектов с арматурой, группы вершин должны иметь уникальные имена. Вот небольшой скрипт для переименования костей и групп вершин на основе имени родительской арматуры:
import bpy
for obj in bpy.context.selected_objects:
if obj.type == "ARMATURE":
prefix = obj.name + "_"
for bone in obj.data.bones:
bone.name = prefix + bone.name
if obj.type == "MESH":
prefix = obj.parent.name + "_"
for vg in obj.vertex_groups:
if vg.name[0:len(prefix)] != prefix:
vg.name = prefix + vg.name