Вес вершин: как не дать рукаву улететь вместе с рукой
Рукав полетел вместе с рукой, хотя кисть осталась на месте. Локоть вывернулся наизнанку. Персонаж при ходьбе складится пополам, как картонная коробка. Всё это — не баг рига и не магия Blender. Это веса вершин, распределённые неправильно.
Что такое вес, простыми словами
Каждая вершина меша знает: «если кость X повернётся на 30°, я двинусь на 30% от её движения». Число от 0 до 1 — это и есть вес. Сумма весов одной вершины по всем костям всегда равна 1. Вершина с весом 1.0 на бедре принадлежит ноге целиком; 0.5/0.5 между бедром и животом — это уже зона blending, и она должна быть узкой и осмысленной.
Автоматическая привязка: старт, а не финиш
Ctrl+P → With Automatic Weights — нормальный первый шаг, но Blender не знает, где у персонажа подмышка. Он расставит веса по расстоянию до костей, и в зоне плеча получится каша из трёх костей с весами 0.4/0.35/0.25. На прямой руке незаметно, на подъёме — плечо «тянет» за собой грудь. Поэтому автопривязка — это каркас, дальше всегда ручная доводка.
Weight Paint Mode: инструменты, которые реально нужны
Включаем режим Weight Paint, выбираем кость через Ctrl+Tab (bone selection) — и работаем:
- Blend (B) — мягкая кисть, основной инструмент. Сила нажима = вес.
- Draw (D) — рисовать вес, но аккуратно: легко залить лишнее.
- Subtract (Shift) — вычитать. Почти всегда нужнее, чем draw.
- Normalize (в меню Weight) — приводит сумму весов вершины к 1. Жмём после любой ручной правки.
- Limit Total — режет мелкий мусор: веса меньше 0.05 обнуляются. Меньше костей на вершину — быстрее и стабильнее.
Главная грабля: влияние не той кости
Проверяем так: ставим персонажа в T-pose, поднимаем руку на 90°, потом на 180°. Если при подъёме деформируется грудь — ищем в зоне подмышки вершины с ненулевым весом на кости груди. Выделяем их кистью и обнуляем Subtract + Normalize. То же для паха при замахе ногой и для локтя при пронации предплечья.
Правила хорошей зоны перехода
- Узкий blending. Переход 0.5/0.5 между плечом и предплечьем — это 2–3 кольца полигонов, не вся рука. Широкая зона = мягкий «резиновый» локоть.
- Кости не должны конкурировать. Одна вершина — максимум 2 значимых веса. Три по 0.33 — это конфликт, который проявится в самом неподходящем кадре.
- Симметрия. Правая рука чинится, левая — нет?
Mirrorв weight paint переносит веса с одной стороны на другую. Но только если меш симметричен и оси костей совпали по имени (_L/_R). - Складывать — не рисовать. Лучше 10 минут Subtract по плохим вершинам, чем час рисовать «идеальную» зону с нуля.
Быстрая диагностика
Если деформация странная — не крутите кисть вслепую. Поставьте extreme pose: рука за голову, нога максимально вверх. Плохие веса видны только в крайних положениях, в нейтральной позе всё красиво. Аниматор увидит extreme, значит, и вы обязаны.
Веса — это дисциплина, а не талант. Через двадцать персонажей рука сама знает, где подмышка.
Комментарии (1)
Normalize weights включил — рукав перестал улетать. Как я пропустил эту галочку, вопросов нет.
Форма для гостей комментариев пока не принимается — писать можно автору (expeot@outlook.com) или через владельца блога. Все записи выше настоящие, никто их не модерирует молча.