Риггинг 3D модели

Автор: Юрий Ильин

Персонаж из м/ф "Цыган" студии Simpals с выстроенным ригом. По клику открывается тематический блог Simpals.

Риггинг (rigging, animation setup, анимационный сетап). В 3D анимации - это процесс подготовки персонажа к анимации, включающий создание и размещение внутри трёхмерной модели рига (от англ. Rig - оснастка), виртуального "скелета" - набора "костей" или "суставов" (bones, joints), установления иерархической зависимости между ними и значений возможных трансформаций для каждой из этих костей.

Скелетная анимация, для которой и применяется риггинг (а с ним и скиннинг) удобна прежде всего тем, что позволяет манипулировать большим количеством составных элементов анимируемой фигуры (конечности, глаза, мышцы лица, губы и т.д.) с помощью относительно малого количества управляющих элементов - тех самых костей и их регулируемых характеристик.

Поскольку между ними устанавливается иерархическая зависимость, то смещение в пространстве каждой кости, находящейся в зависимости от другой, будет представлять собой совокупность её собственных трансформаций и трансформаций, которым подвергается "материнская" кость. Другими словами, за смещением кости бедра должно следовать смещение костей всей ноги. Грамотная настройка зависимостей позволяет аниматорам значительно экономить усилия, указывая, например, траектории смещения только для небольшого количества отдельных костей, которые потянут за собой другие, находящиеся в иерархическом подчинении.

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

3D модель с несколькими добавленными "костями". Всё остальное ещё предстоит сделать.

С риггингом напрямую связан процесс скиннинга (от англ. skin - кожа; интересно, кстати, что в отрыве от контекста 3D графики слово skinning переводится как "свежевание"), - назначения связей между участками поверхности уже самой анимируемой фигуры и костями рига. Иными словами, необходимо, чтобы кость, соответствующая крайней фаланге пальца, влияла только на нужную группу вершин на поверхности анимированную 3D фигуры, и чтобы не получилось, чтобы изменение положения этой фаланги приводило с загибанию всей руки персонажа в рогалик. Хотя, конечно, если именно это вам и нужно...

У этого процесса немало своих подводных камней. Например, необходимо точное определение, какая группа вершин (vertices) подвергается воздействию трансформаций отдельных костей, чтобы не зацепить ненароком другие; на какие группы вершин подвергаются воздействиям более чем одной кости и так далее.

Оптимальным вариантом для анимации фигуры "двуногого без перьев" является скелет, упрощённо повторяющий структуру "обычного" человеческого скелета. На него и следует ориентироваться, создавая "кости"; расположение их сочленений должно совпадать с гнущимися участками фигуры (колени, логти и другие суставы).

Рёбра, естественно, ни к чему, каждый позвонок на позвоночнике - тоже, но спина всё-таки должна сохранять какое-то подобие гибкости, так что костей в ней всё равно будет много.

Больше всего "костей", естественно, придётся задавать для рук - а точнее, пальцев. Здесь структура виртуальных костей должна быть в наибольшей степени похожа на структуру костей в реальных руках, просто для того, чтобы пальцы сгибались там и так, как им полагается. Длина их также должна обладать "реалистичными" пропорциями: если мы взглянем на человеческую руку, то мы увидим, что фаланги пальцев имеют неодинаковую длину.

Модель кисти руки с выстроенным ригом. Автор - Дерек Марш.

Далее для костей (отдельных или целых групп, благо в некоторых редакторах предусматриваются специальные управляющие элементы, которые позволяют регулировать характеристики целых групп костей) необходимо задать значения трансформации, в том числе возможных углов поворота и вращения (например, чтобы пальцы не гнулись куда им не положено).

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

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

Естественно, обзор этот на детальность не претендует: риггинг - это, в сущности, целая отдельная профессиональная область, такая же как текстурирование, например. По риггингу пишутся целые книги и проводятся многодневные обучающие курсы, ибо слишком много тут тонкостей и деталей, в которых, как известно, дьявол и прячется.

Продолжение следует.

P.s. Молдавская студия Simpals ведёт работу над трёхмерным мультфильмом "Цыган", а заодно ведут отличный блог, где очень доходчивым языком разъясняется весь процесс. Не то, чтобы очень детализированно, зато наглядно. Видеоролик, демонстрирующий процесс риггинга (в Maya), тут особенно кстати.

просвещение
Разделы:
Рубрики:
Популярное: