Вот пример. Создайте сферу и куб, раздвиньте их в пространстве.
Выберите сферу, затем куб и выполните Constrain=>Point.
Куб тут же «прилипнет» к центру (пивоту) сферы и в дальнейшем будет автоматически двигаться вместе с ней.
Попытки передвинуть сам куб ни к чему не приведут - он «прибит» к сфере. Хотя может свободно и независимо от сферы поворачиваться и растягиваться.
Секундочку! Но ведь если взять и соединить с помощью Connection Editor все атрибуты translate сферы и куба, то результат будет идентичный. Так в чем же разница?
Да, в данном конкретном случае, результат применения констрейна и прямого связывания атрибутов будет одинаков. Однако у констрейнов есть три принципиальных отличия от прямых связей.
Во-первых, для всех констрейнов в сцене создается отдельный объект со своими атрибутами, с помощью которых можно анимировать свойства связи между объектами.
Во-вторых, у большинства констрейнов есть атрибут offset, позволяющий не напрямую связывать атрибуты объектов, а добавлять в эту связь некоторое смещение.
В-третьих, самое главное: управляющих объектов, к которым привязывается последний выбранный объект, может быть несколько. В этом случае объект стремиться занять среднее положение между ними (например, в случае с Point Constraint). Более того, если управляющих объектов несколько, все они обладают весами, определяющими, насколько сильно ограничиваемый объект стремится к каждому из них.
Добавьте в предыдущую сцену еще пару объектов, например, тор и конус.
Выберите их, а затем выберите уже «приконстрейненный» куб.
И снова выполните Constraint Point.
MAYA определит, что куб уже привязан к сфере с помощью констрейна типа Point и, вместо создания нового констрейна, просто добавит тор и конус в список объектов, к которым привязывается положение куба.
Теперь куб стремится сразу к трем управляющим объектам, то есть занимает позицию, среднюю между тремя объектами.
Если выбрать куб, то в Channel Box можно обнаружить ноду pCubel_pointConstraint1, имеющую атрибуты offset, и три атрибута, отвечающие за вес каждого управляющего объекта.
«Пошевелив» каждый из этих атрибутов, можно убедиться, что они определяют степень влияния управляющих объектов. Нулевое значение веса означает, что соответствующий объект не оказывает никакого воздействия на куб. Проанимировав эти атрибуты нужным образом, можно добиться того, что куб будет перелетать от одного к объекта к другому, причем вне зависимости от движения самих управляющих объектов.
Основное свойство и преимущество констрейнов и их принципиальное отличие от других методов согласования движения заключается именно в том, что несколько объектов могут воздействовать на управляемый объект с разной степенью влияния.
Типы констрейнов. Их общие и уникальные атрибуты
Сейчас я бы хотел пробежаться по всем типам констрейнов и обозначить примерные области их применения. Затем, как обычно, последует описание их внутреннего устройства и вопросы совместимости констрейнов. Сейчас я бы хотел еще раз обозначить, что абсолютно все констрейны имеют атрибуты, определяющие вес, и многие из них позволяют задавать смещение (offset) относительно положения по умолчанию. Эти параметры можно задавать еще при создании констрейна, воспользовавшись, очевидно, Option Box для соответствующей операции или отредактировать позднее.