Динамика волос с помощью Flex модификатора

 

Перед вами демонстрация возможностей maxscript, который я разработал во время создания анимации волос для видео, где Веда танцует балет.

Данный скрипт оптимизирует работу по настройке Flex модификатора в том случае, когда Flex используется для создания динамики объектов из массива линий (spline).

Волосы в короткой стрижке, особенно если она покрыта лаком, достаточно упругие и сохраняют форму прически даже при резких движениях. Эти характеристики волос подтолкнули меня к идее использования Flex модификатор для создания динамики волос, который хорошо имитирует силы инерции.

Короткая стрижка Веды в этом видео создана при помощи Hair and Fur в 3ds max, а направление роста волос задают линии, объеденные в один spline объект. Использование Flex модификатора для такого объекта дало ряд преимуществ перед встроенной динамикой в Hair and Fur: сокращение времени расчета динамики волос и его более предсказуемый результат.

Однако функции настройки жесткости объекта во Flex модификаторе больше предназначены для работы с геометрическими объектами (Paint Weights), чем с объектами, состоящими из массива линий.

Vertex Weights единственная функция Flex модификатора, позволяющая задавать степень жёсткости выделенным вершинам линий. Выделять их Вам придется вручную и это особенно сложно в тех случаях, когда Вы работаете с массивом из линий, которые перекрывают друг друга практически во всех ракурсах. А единственным способом распределить степень жесткости по длине линий будет назначение для каждой вершины индивидуального значения, усложняет задачу то, что массив из линий состоит из нескольких десятков линий и нескольких сотней вершин.

Написанный мной скрипт помог мне значительно сократить время по настройке и корректировке динамики волос во Flex модификаторе и расширить его функционал следующими функциями по настройке степени жесткости вершин:

  • Loop (выделение всех вершин в линии по одной вершине).
  • Ring (выделение по одной вершине всех вершин в массиве с тем же порядковым номером вершины).
  • By Length (выделение вершин по заданной в процентном отношении длины линий).
  • Splines By Length (выделение вершин по списку длин линий в массиве).
  • Weight (назначение степени жесткости выделенных вершин, по заданной кривой жесткости, по абсолютному значению, по процентному увеличению/уменьшению жесткости).
  • Save/Load (сохранение и загрузка настроенной жесткости вершин)

 

Скрипт находится в стадии разработки и не доступен для скачивания.

 

Публикации по теме

Tags :

Добавить комментарий