Constraints

Эта глава начинает демонстрацию работы с базовыми инструментами в риге.

Как следует из названия constraints ограничивают движения различных объектов. Существует множество констрейнтов и все они ограничивают разные параметры. «К примеру стоит задача сделать движение саней по неровной поверхности, можно сначала использовать geometry constraint, это привяжет сани к поверхности. Затем можно использовать normal constraint, чтобы сани ровно стояли на поверхности. После того, как вы создадите эти ограничения, вы указываете позиции саней на вершине и внизу холма. На этом анимация завершена»(1).

big
Original size 1726x720

Geometry constraint + normal constraint

Также констрейнты используют для связи движения нескольких объектов, например нужно добавить пуговицу персонажу, которая будет приклеена к пиджаку, даже если он будет развиваться на ветру, для этого можно привязать пуговицу к поверхности объекта с помощью point on poly.

Это не единственное решение. В риггинге есть множество возможных решений задачи.

big
Original size 1260x524

Point on poly

Maya включает следующие констрейнты:

• Point constraints • Aim constraints • Orient constraints • Scale constraints • Parent constraints • Geometry constraints • Normal constraints • Tangent constraints • Point on Poly constraints • Closest Point constraints • Pole Vector constraints

Point constraint присоединяет один объект к другому по перемещению и ведомый объект начнет следовать за ведущим по перемещениям. Чтобы применить point constraint нужно выбрать сначала тот объект, за которым будут следовать, а затем тот, что будет следовать, такой алгоритм применяется ко всем констрейнам. Также можно присоединить 3 объекта и последний выбранный объект будет брать половину от перемещения объектов каждого из ведущих (если сдвинуть один из ведущих объектов на 1 сантиметр, а второй оставить неподвижным, то ведомый объект сдвинется на 0.5 сантиметра). Такой алгоритм также может работать на многих констрейнтами.

Original size 1054x440

Point constraints

Orient constraint делает тоже, что и point constraint, но не с перемещениями, а с вращениями.

Original size 1054x440

Orient constraints

Parent constraints присоединяет объекты и по перемещениям, и по вращениям, но имеет принципиальное отличие от двух предыдущих. Если создать привязку с помощью point и orient constraints, то ведомый объект будет перемещаться за ведущим в отношении своей глобальной оси. Если же привязать через parent constraints, то ведомый объект начнет вращаться вокруг ведущего.

Original size 1054x440

Parent constraints

Aim constraints привязывает вращения так, что ведомый объект всегда будет нацелен на родительский. Этот констрейнт часто используют для рига глаз.

Original size 2016x840

Aim constraints

Scale constraints привязывает изменения размера ведомого объекта к ведущему. Его чаще всего используют, чтобы сделать на основном контроле персонажа глобальное изменение размера всех его частей. В процессе риггинга создается множество различных соединений, которые имеют свои размеры, и чтобы увеличить персонажа в размере целиком нужно завязать изменения всех его частей на одном атрибуте основного контрола.

Original size 1384x576

Scale constraints

Geometry constraints, как было продемонстрировано в первом примере, привязывает любой объект к поверхности геометрии и при перемещении ведомого объекта в пространстве он скользит по поверхности ведущей геометрии.

Normal constraints ориентирует ведомый объект так, чтобы он соответствовал векторному направлению ведущего объекта. По отдельности этот констрейнт редко применяется, его часто используют с geometry constraints, чтобы создавать эффект скольжения по поверхности, например сделать скользящую по щеке слезу.

Original size 2248x936

Normal constraints + geometry constraints

Tangent constraints привязывает ориентацию ведущего объекта к кривой таким образом, чтобы при движении объекта вдоль кривой направляющая ось ведущего всегда указывала в направлении кривой. Можно использовать если нужна анимация полета птицы или самолета по траектории.

Original size 1590x662

Tangent constraints + geometry constraints

Closets point применяют к двум объектам: геометрии и любому другому объекту. Он создает два локатора один из которых привязан к геометрии также, как если бы он был привязан geometry constraints, второй не имеет каких-либо привязок к геометрии. Между этими локаторами рассчитывается наименьшее расстояние и при движении локатора, непривязанного к геометрии, двигается тот, что привязан и он стремится перемещаться на те части геометрии, которые наименее удалены от подвижного локатора.

Point on poly позволяет присоединить любой объект к вертиксу или полигону на геометрии так что как бы не изменялась ведущая геометрия, ведомый объект будет приклеен к тому же месту. Point on poly можно приклеить усы к геометрии персонажа.

Original size 1614x672

Point on poly

Pole vector более комплексный констрейнт, который схож по своей работе с aim constraint. Он также направляет вектор ведомого объекта в направлении ведущего, но применяют его при создании IK системы конечностей. Данный вектор создается напротив локтевого или коленного суставов и контролирует вращение и перемещения сустава, не затрагивая при этом конечные суставы.

Original size 2016x840

Pole vector

Chapter:
3
4
5
6
7
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more