Іноді під час роботи з персонажем у Blender виникає потреба повністю прибрати всі зв’язки між тілом та арматурою: батьківство, модифікатори, групи ваг (vertex groups).
У мене була саме така ситуація, і я ділюся рішенням, яке допоможе зробити це швидко та без зайвих кліків.
Проблема
Якщо персонаж складається з кількох об'єктів-мешів (тіл), і всі вони вже були прив’язані до кісток через- батьківство (Ctrl + P)
- Armature модифікатор
- Vertex Groups, які зберігають ваги впливу кісток
- Constraints в кістках арматури
Рішення — автоматичне очищення всіх зв'язків
Я використав простий Python скрипт, який:- відв’язує всі об'єкти від арматури (батьківство)
- видаляє Armature модифікатори
- очищає Vertex Groups
- видаляє всі Constraints з кісток арматури
Скрипт:
Код:
import bpy
# Очистити всі зв'язки між тілами і арматурою
for obj in bpy.context.scene.objects:
if obj.type == 'MESH':
obj.parent = None
# Видалити Armature модифікатори
to_remove = [m for m in obj.modifiers if m.type == 'ARMATURE']
for m in to_remove:
obj.modifiers.remove(m)
# Очистити Vertex Groups
obj.vertex_groups.clear()
# Очистити усі Constraints з кісток в арматурах
for obj in bpy.context.scene.objects:
if obj.type == 'ARMATURE':
for bone in obj.pose.bones:
for constraint in bone.constraints:
bone.constraints.remove(constraint)
print("✅ Усі зв'язки, модифікатори, Vertex Groups і кісткові Constraints очищено!")
Як використати:
- Перейди у вкладку Scripting або відкрий нове вікно Text Editor.
- Створи новий скрипт і встав туди код.
- Натисни Run Script (
).
Сподіваюсь, комусь це зекономить купу часу
Magshifter