Встал вопрос. Гуглёж внятного ответа мне не дал, попытаю счастья здесь. Итак, пробую сформулировать ситуацию.
Я импортирую внутрь сцены модель, и к ней импортирую анимацию. Именно одну. У этой модели такой формат, что каждая анимация хранится в отдельном файле. И 3дсмаксе и в блендере процесс выглядит примерно так:
  1. импортирую меш
  2. импортирую анимацию. Она тут же появляется на шкале анимации с нулевого кадра, и я могу проиграть её в 3D View.
  3. если я импортирую новую анимацию, то старая как бы "исчезает", то есть линейка с ключевыми кадрами очищается, и на ней появляется новая анимация.
Но так как нам нужно эту модель конвертировать в варкрафт (кек), то появляется необходимость вмешаться в этот процесс, и разместить все эти анимации на одной шкале.
В 3дсмаксе я с этим справился легко: использовал функцию save/load animation. При нажатии на Save я сохраняю в отдельный .xaf файл текущую анимацию. Затем импортирую новую, и снова сохраняю. В итоге я получаю несколько .xaf файлов, которые я легко могу загрузить обратно в сцену функцией Load, и разместить на шкале анимации как мне вздумается.
Но вот в блендере я такой функции не нашёл. Но я заметил, что анимация не исчезает, а сохраняется в другом месте. Здесь и далее я пишу ситуацию для Blender 2.79b. Если в актуальных версиях появились новые функции для этого, дайте знать.
Вот я импортировал первую анимацию. Она появилась в сцене, я могу посмотреть на ключевые кадры, проиграть анимацию.
Вот я импортировал вторую. Первая исчезла, а вторая полностью заменила её на таймлайне, будто первой и не было.
Однако при переходе в Dope Sheet -> Action Editor я вижу, что моя предыдущая анимация никуда не делась, я её спокойно могу выбрать, и она обратно вернётся на таймлайн, заменив собой более новую.
Но я не могу их обе отправить в общую линейку анимаций. Я могу выбрать одну из них, и она отобразится в списке Animation, но она там будет только одна, та, которую я выбрал последней.
Я пошёл дальше и использовал функцию Stash. Она превращает Action в NLA Track. Но он всё также находится вне общей шкалы анимаций, там по-прежнему находится лишь последняя выбранная анимация. А трек доступен для проигрывания только по отдельному выбору.
Короче, исходя из всего вышесказанного у меня есть вопросы.
  1. Можно ли в блендере экспортировать анимацию в отдельный файл/другую сцену?
  2. Можно ли преобразовать Action'ы в обычные ключевые кадры на шкале анимации?
  3. Можно ли преобразовать NLA Track'и в обычные ключевые кадры на шкале анимации?
  4. Можно ли каким-нибудь другим способ решить эту задачу?

Принятый ответ

  1. Да, это .blend файл. В блендере нет отдельных файлов для разных типов данный. .blend - это универсальный контейнер для всего (меш, анимации, материалы и т.д.) Их можно все вместе или по отдельности импортировать через file -> append
  1. Action'ы и есть обычные кадры на шкале анимаций.
Тут нужно просто разбираться как, что устроено.
Dope Sheet - шкала анимаций. Предназначена на анимации всех объектов на сцене и всех их параметров (движение, повороты, масштаб, данные по альфа каналу, кастомные данные и т.д.)
Action - подраздел шкалы анимаций. Работает только с данными конкретного обеъекта и только с движением, поворотами и масштабом.
Как что устроено. Выбираешь объект, добавляешь ему первый кадр анимации и для этого объекта автоматически добавляется action.
То есть action это хранилище кадров анимаций для конкретного объекта
А шкала анимаций dope sheet позволяет просматривать выбранные action'ы по всем объектам на сцене (объекты должны быть выбраны, чтобы на шкале анимаций отображались их ключевые кадры)
  1. Когда ты создаешь блок NLA, ты не удаляешь кадры анимации.
Action'ы по-прежнему остаются на своем месте. Просто текущий выбранный action сбрасывается на "ноль"
В панеле NLA можно редактировать блоки покадрово (нажми Tab)
Но вообще советую не лезть в NLA анимацию без понимания, что это такое. Она вообще создавалась для других целей и затачивалась больше под создание синематиков (операции с уже готовыми action'ами, их смешивание)
  1. Выбираешь свою модель. Через append добавляешь нужные анимации.
У тебя появляются два action'a
Выбираешь первый - выделяешь все кадры - ctrl+c
Выбираешь второй - (на всякий случай, переходишь к первому кадру анимации - нажимаешь I во viewport, выбираешь сохранить translation, rotation, scale) выделяешь любой свободный кадр после фреймов второго action'а - ctrl + v
Готово.
Для удобства можно разграничить начало и конец двух анимаций маркерами ctrl+m, кажется.
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
31
2 года назад
Отредактирован Алексей Андреич
1
  1. Да, это .blend файл. В блендере нет отдельных файлов для разных типов данный. .blend - это универсальный контейнер для всего (меш, анимации, материалы и т.д.) Их можно все вместе или по отдельности импортировать через file -> append
  1. Action'ы и есть обычные кадры на шкале анимаций.
Тут нужно просто разбираться как, что устроено.
Dope Sheet - шкала анимаций. Предназначена на анимации всех объектов на сцене и всех их параметров (движение, повороты, масштаб, данные по альфа каналу, кастомные данные и т.д.)
Action - подраздел шкалы анимаций. Работает только с данными конкретного обеъекта и только с движением, поворотами и масштабом.
Как что устроено. Выбираешь объект, добавляешь ему первый кадр анимации и для этого объекта автоматически добавляется action.
То есть action это хранилище кадров анимаций для конкретного объекта
А шкала анимаций dope sheet позволяет просматривать выбранные action'ы по всем объектам на сцене (объекты должны быть выбраны, чтобы на шкале анимаций отображались их ключевые кадры)
  1. Когда ты создаешь блок NLA, ты не удаляешь кадры анимации.
Action'ы по-прежнему остаются на своем месте. Просто текущий выбранный action сбрасывается на "ноль"
В панеле NLA можно редактировать блоки покадрово (нажми Tab)
Но вообще советую не лезть в NLA анимацию без понимания, что это такое. Она вообще создавалась для других целей и затачивалась больше под создание синематиков (операции с уже готовыми action'ами, их смешивание)
  1. Выбираешь свою модель. Через append добавляешь нужные анимации.
У тебя появляются два action'a
Выбираешь первый - выделяешь все кадры - ctrl+c
Выбираешь второй - (на всякий случай, переходишь к первому кадру анимации - нажимаешь I во viewport, выбираешь сохранить translation, rotation, scale) выделяешь любой свободный кадр после фреймов второго action'а - ctrl + v
Готово.
Для удобства можно разграничить начало и конец двух анимаций маркерами ctrl+m, кажется.
Принятый ответ
0
23
2 года назад
0
Андреич, да, спасибо, получилось. В принципе, всё логично. Под арматурой отображается только один action, поэтому в него надо запихнуть все остальные action'ы.
А я, кстати, пробовал Ctrl+C/Ctrl+V в Dope Sheet, но меня там визуализация напугала. Эти полосы удлинились и склеились, и оно выглядело так, будто я всё сломал. Проверить не догадался.
на всякий случай, переходишь к первому кадру анимации - нажимаешь I во viewport, выбираешь сохранить translation, rotation, scale
Думаю, что с этого ещё и можно начать, чтобы сохранить нулевое положение скелета в линейке на всякий случай. Зафиксировать положение, а потом уже дальше вставлять анимации.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.