Оболочка (envelope) костей арматуры в Blender. Влияние на область деформации
В Blender среди различных способов отображения костей есть вариант "оболочка" (envelope). Тело кости в этом случае имеет цилиндрическую форму, а непосредственно оболочка кости становится видна в режимах редактирования и позы при выделении.
Следует иметь в виду, что отображение кости в виде восьмигранника не означает, что у нее в этот момент отсутствует оболочка. Она просто не видна, но также будет оказывать влияние на модель, если таковое предусмотрено. У каждой кости своя оболочка, настройка которой выполняется на панели Deform | Деформация вкладки Bone редактора свойств. Если флажок в заголовке этой панели выключен, кость не участвует в деформациях вообще.
Элементы звеньев (голова и хвост) более жестко влияют на связанные вершины модели, чем сама оболочка. Их радиус имеет значение при использовании метода деформации по оболочке (см. ниже). Поэтому может наблюдаться различие в эффекте, в зависимости от того, изменяли ли вы размер самой оболочки или суставов кости. При этом размер оболочки зависит не только от характеристики "расстояние оболочки", но и от радиусов шарниров.
Вес оболочки контролирует общее влияние кости на деформируемый объект при использовании метода скиннинга по оболочкам. Это свойство имеет значение только для общих вершин двух звеньев арматуры (для суставов). Кость с большим весом будет иметь большее влияние на результат, чем с меньшим. Установка веса в ноль приведет к такому же эффекту, как выключение флажка в заголовке панели.
Вспомним, что при скиннинге в меню установки родителя (Ctrl + P) было три варианта арматурной деформации:
В предыдущих уроках мы работали как с пустыми группами, так и автоматическим назначением весов (вершин). В этом посмотрим, какие результаты дает привязка к оболочкам кости.
В качестве модели для исследования используем все тот же цилиндр, поперечно подразделенный много раз разрезанием петлей. Ему сопоставим арматуру. После этого создадим копии обоих объектов (модели и скелета).
Для одной пары установим связь через автоматическое назначение весов, для другой ‒ по весам оболочки. В режиме позы, выполняя одинаковые по модулю наклоны костей, отметим различия.
На скрине выше убрана видимость арматур "спереди". Группы вершин цилиндра в левой части скрина были сопоставлены костям арматуры согласно оптимизированным алгоритмам Blender, а в правой части ‒ оболочкам костей. Можно сказать, что во втором случае в поворотах задействовано меньшее количество вершин, поэтому изгибы получаются более резкие, менее сглаженные. Действительно, если мы посмотрим на распределение вершин по группам цилиндров, увидим разницу.
При выделении вершин группы "Кость" второго цилиндра их количество соответствует оболочке этого звена.
Если теперь мы увеличим оболочку какой-нибудь кости, то на модель это не повлияет, так как группы уже были созданы.
Поэтому, если вам требуется особое распределение вершин по группам (вершины будут меньше или больше перекрываться в разных группах), и вы хотите настроить его с помощью оболочек костей, то конфигурировать влияние звеньев арматуры следует до того, как будет устанавливаться родительская связь. То есть оболочка влияет на "захват" вершин меша под управление данной костью. Использование оболочек является наиболее распространенным способом скиннинга.
В нашем случае мы можем очистить трансформации костей в режиме позы, разорвать связь между объектом и арматурой (Alt + P), после этого связать их заново. При этом вершины цилиндра заново перераспределятся по группам.
Другой способ ‒ в модификаторе арматуры (он добавляется автоматически модели при установке родителя) включить связь с обертками кости (bind to bone envelopes).
Следует иметь в виду, что при обычном изменении размера звена, пропорционально пересчитываются радиусы его шарниров и размер оболочки. Поэтому лучше сначала завершить расположение костей арматуры в пространстве и только после этого настраивать их свойства.
Практическая работа. Исследуйте влияние радиусов шарниров костей на деформацию.