-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
упрощение экспорта анимаций #122
Comments
Похоже на фейковые кости (см. #69). |
А у тебя получилось экспортировать анимацию из примера выше? |
Да, на ней и тестировал. Только пришлось снять галки у 4-х костей. |
Чёт я упустил: про ошибки текущей реализации (pull-request-а) надо писать в комментарии к пулл-реквесту. А здесь, только про саму проблему/хотелку. Насчёт этой задачи, я кажется понял, нам надо сделать как бы "запекание" ключей во время экспорта, так ведь? Выложи, в эту ишью, пожалуйста, blend-файл с запечёнными ключами. |
Да. Вообще, суть такова, чтобы делать меньше работы для экспорта анимаций. Я в первом сообщении писал, что сейчас делать экспорт анимаций долго. Так как перед экспортом нужно запечь все анимации, потом удалить constraint'ы и удалить вспомогательные кости (для ик и прочие). И только потом делать экспорт. Вот запечённые анимации: |
Интересно у тебя получилось (ключевые кадры не в каждом кадре проставлены). Чем/как запекал анимации? Может скрипт какой для этого используешь? |
Я в режиме pose mode выбрал меню Pose > Animation > Bake Action... |
Похоже на автогенерацию ключевых кадров по констрейнтам (#71). А ты каждый раз задаёшь "Start Frame" и "End Frame"? Или оно как-то может автоматом их определять? |
Каждый раз вручную для каждой анимации задаю. |
Я понял, из-за чего был И с запеканием получилось. Только вот сильно медленнее работает (экспорт твоего файла старым-добрым алгоритмом занимает 2.1 сек, а новым - 5.5 сек). Я профайлил - основное время тратится на запекание. Теперь думаю, надо галочку делать, чтоб включать запекатель по-требованию. Только вот в чьи свойства её поместить: action-а, кости или armature? Может ли такое быть, что часть action-ов анимируется констрейнтами, а часть - кривыми? |
в свойства арматуры.
ну теоретически может. Например, influence констрейнта установить в 0. Или анимировать параметр включения/выключения констрейна. В реальных анимациях у меня пока такого не было. Можно ещё выводить предупреждение, если пользователь пытается экспортировать анимации с констрейнами без запекания. Или сделать так, чтобы плагин запекал автоматом без указания галочек. Например, если кости арматуры имеют констрейны, то плагин будет запекать анимации. Если ни одна кость не имеет констрейнов, то запекания не будет. Это избавит плагин от большого количества галочек при экспорте. |
Так там, кроме констрейнов, могжет быть ещё и IK (или она тоже констрейнами делается?), а может и ещё что-то.
А может быть иак, что ты импортировал модельку с анимациями (которые импортировались кривыми). И потом добавляешь/изменяешь пару анимаций (и делаешь это с использованием IK и constraints). Тогда эффективнее будет запекать только новые/исправленные анимации. А для этого надо делать галочку в свойства каждого action-а. Что скажешь? |
я всегда ик делаю констрейнами. Есть галочка Auto IK. Но она не управляемая. Нельзя задать количество костей в цепи и т.д. В более-менее сложных анимациях используется констрейнт ик.
я пока не знаю, что ещё, кроме констрейнтов, может влиять на анимации.
Если добавить разные констрейнты и ик к костям, то старые анимации испортятся. Нужно будет в старых анимациях влияние этих констрейнтов менять на 0.
Может сделать так, чтобы плагин не запекал те анимации, у которых значение Influence констрейнта установлено в 0? |
А в блендере есть возможность вычислить фактические положение и поворот костей, которые являются результатом работы констрейнтов? Чтобы не использовать запекание. |
Я не знаю. Если б было, то почему тогда стандартный "Bake Action" этот хитрый трюк не использует.
Теперь работает. |
Нужно придумать и реализовать улучшенный метод экспорта скелетных анимаций.
Вот файл для примера:
https://yadi.sk/d/6Y7sv2zt345Jk4
В нём сохранена модель рук и оружия с анимациями. Анимации сделаны с использованием дополнительных костей (эти кости экспортировать в object не нужно) для инверсной кинематики и различных constraints. Правильнее сделать костям галочку, которая будет указывать, является ли данная кость экспортируемой или нет. Те кости, у которых установлена галочка, попадут в object, а те, у которых не установлена, не попадут.
В данной версии плагина, чтобы экспортировать подобные анимации, нужно их запечь, удалить вспомогательные кости, удалить ключи в анимациях для удалённых костей.
Приходится постоянно для одной модели иметь сразу 2 blend файла: первый с исходными анимациями, второй с запечёнными. Нужно, чтобы плагин умел экспортировать анимации из исходных вариантов (без ручной переделки).
The text was updated successfully, but these errors were encountered: