Другое

Сохранить изменение скелет Blender 4.5 при переходе в Object Mode

В Blender 4.5 изменения в rest‑pose не сохраняются при переходе из Edit‑Mode в Object‑Mode, пересчитывает костей. Применив трансформацию (Ctrl+A) или Apply Pose.

В Blender 4.5, когда я редактирую скелет, который не привязан к мешу, в режиме Edit Mode, и переключаюсь в Object Mode, часть костей вдруг перемещается в неизвестное место. А когда я возвращаюсь в Edit Mode, всё возвращается в норму. Почему изменения скелета не сохраняются при смене режима?

В Blender 4.5 изменения, сделанные в Edit‑Mode у не привязанного к мешу скелета, не сохраняются, на самом деле, при переходе в Object‑Mode, потому что при смене режима система пересчитывает матрицы костей по текущей трансформации объекта‑арматуры. Впрочем, как только вы возвращаетесь в Edit‑Mode, эти матрицы снова «собираются» из исходных данных, поэтому изменения «отваливаются», в итоге. Чтобы сохранить изменения, нужно явно применить трансформацию арматуры, например, «применить позу» до выхода из Edit‑Mode.

Почему косты перемещаются при переходе в Object‑Mode

В Edit‑Mode вы редактируете rest‑pose (покоящуюся позицию), напр. костей. При переходе в Object‑Mode Blender пересчитывает pose‑bones из текущей трансформации объекта‑арматуры, а не из сохранённого rest‑pose. Если у арматуры есть ненулевой объектный трансформ (смещение, вращение или масштаб), он «переигрывается» на все кости, и часть костей кажется перемещённой, в итоге.

Согласно официальной документации Blender, при переходе в Object‑Mode все изменения в rest‑pose применяются только после Apply Transform или Apply Pose.
Blender Manual – Armature Editing

Такой механизм объясняет, почему при возвращении в Edit‑Mode кости «возвращаются» к прежним координатам – они читают из исходного rest‑pose, а не из изменённого pose‑bone.

Как сохранить изменения в скелете

  1. Применить трансформацию объекта‑арматуры
    В Object‑Mode нажмите Ctrl + AApply Location, Rotation, Scale. Это обнулит трансформацию арматуры, и все изменения в rest‑pose сохранятся корректно, в итоге.

  2. Применить позу к rest‑pose
    Если вы хотите «заморозить» текущую позу как новую rest‑pose, выберите Ctrl + AApply Pose. Это зафиксирует текущие координаты костей, в итоге.

  3. Сохранять данные в файле
    После применения изменений сохраните сцену (Ctrl + S). Blender хранит state rest‑pose в данных armature, напр. поэтому при следующем открытии файл будет содержать актуальные позиции.

В Blender 4.5 добавлена кнопка «Apply Pose» в панель Object Data Properties. Это упрощает процесс фиксации поз, в итоге.
Blender Release Notes 4.5 – Armatures

Лучшие практики работы с не привязанными к мешу арматурами

Практика Что делает Как применять
Проверка объекта‑арматуры Убедиться, что трансформации объекта нулевые, напр. Ctrl + A → Apply Transform в Object‑Mode
Использовать Pose‑Mode для анимации Позволяет видеть реальные движения костей. Переключайтесь в Pose‑Mode, а не в Edit‑Mode, если не меняете структуру костей.
Сохраняйте отдельный файл для скелета Избегает конфликтов с мешами. Экспортируйте только armature (File > Export > FBX) и импортируйте без меша.
Регулярно сохраняйте Защищает от потери данных при неожиданных сбоях. Ctrl + S после каждой важной правки.

Пользователи Blender Artists отмечают, что часто проблемы с перемещением костей возникают из‑за несоответствия масштаба арматуры и сцены, в итоге.
Blender Artists – Bone Position Issues

Часто задаваемые вопросы

  • Можно ли отменить перемещение костей без перезаписи rest‑pose?
    Да, просто вернитесь в Edit‑Mode и откатите изменения вручную, но это не сохранит изменения в Object‑Mode, в итоге.

  • Почему один костьё перемещается, а другой нет?
    Это обычно связано с тем, что один костьё имеет родительские связи, которые учитываются при пересчёте pose‑bone, в итоге.

  • Можно ли автоматизировать применение трансформаций?
    Можно написать скрипт на Python, который будет автоматически применять object.matrix_world к rest‑pose перед выходом из Edit‑Mode.

Заключение

  • Перемещение костей при переходе из Edit‑Mode в Object‑Mode связано с тем, как Blender пересчитывает pose‑bones по объектным трансформациям, в итоге.
  • Чтобы сохранить изменения, обязательно примените трансформацию арматуры (Ctrl + A) или «примените позу».
  • Работайте с не привязанными к мешу скелетами, следуя лучшим практикам: обнуляйте трансформацию, используйте Pose‑Mode, сохраняйте файлы регулярно.
  • При возникновении подобных проблем всегда проверяйте трансформацию объекта‑арматуры и состояние rest‑pose.

Источники

  1. Blender Manual – Armature Editing (4.5) – официальная справка по работе с костями.
  2. Blender Release Notes 4.5 – Armatures – описание новых возможностей и баг‑фиксов.
  3. Blender Artists – Bone Position Issues – обсуждение аналогичных проблем пользователей, в итоге.
Авторы
Проверено модерацией
Модерация