Чтобы создать такую интеллектуальную связь, быстро воспользуемся функцией Set Driven Key и посмотрим, как это все выглядит в Hypergraph.
В Connection Editor (или в Hypergraph) разорвите связь между Scale и Color.
В Attribute Editor сделайте цвет сферы темно-коричневым.
Нажав правую кнопку на атрибуте Color, выберите в выпавшем меню Set Driven Key.
Откроется окно Set Driven Key, которое похоже на вертикально расположенный Connection Editor. В нижней части, где должен находиться управляемый (driven) или зависимый объект, уже загружен материал lambertl и даже выбран атрибут colorR.
Выберите сферу и нажмите кнопку Load Driver.
Когда наверху появятся атрибуты сферы, выберите scaleX - именно он и будет «рулить» цветом. В отличие от Connection Editor, никого соединения еще не произошло.
Смысл функции Set Driven Key состоит в том, чтобы не только выбрать соединяемые
атрибуты, но и задать их значения, а потом «зафиксировать связь» в таком положении (то есть если pSpherel.scaleX=0.5, то lambert1.colorR=0.1), затем изменить значения этих атрибутов и снова «зафиксировать связь» в новом положении (если pSpherel .scaleX=3.0, то lambert1.colorR=0.95). После этого MAYA будет сама пересчитывать значения scale в значения для color в соответствии с заданной зависимостью.
Подробнее мы поговорим о Set Driven Key в главе про анимацию.
А сейчас установите scaleX сферы равным 0.5, убедитесь, что в верхней части окна Set Driven Key выбран scaleX, а в нижней colorR, и нажмите кнопку Key (зафиксировать).
Теперь сделайте scaleX равным 3.0, а цвет материала ярко-красным (именно в такой последовательности), а потом снова нажмите кнопку Key.
Все! Можно снова выбрать Scale Tool, чтобы изменить размер сферы. Теперь цвет сферы меняется только при изменении scaleX в диапазоне от 0.5 до 3.
Поскольку цвет пока что зависит только от scaleX, пытливые умы могут сами проделать установку Set Driven Key для scaleY и scaleZ, причем выбирая в нижней панели не только colorR, но и colorG, и colorB. А неутомимые исследователи могут повторить эту процедуру еще и для прозрачности материала, то есть для атрибута transparency.
Дальше. Выберите сферу и тут же идите в Hypergraph.
Выполните Input And Output Connection.
Проанализируйте следующую картину: между сферой и материалом теперь находится некая нода (lambert1_colorR), которая «корректирует» зависимость между pSpherel .scaleX и lam-bertl.colorR.
pSpherel .scaleX сначала попадает на вход (input) этой ноды, которая проводит некоторые вычисления с этим атрибутом, а результат, то есть выход (output) пойдет уже на lambertl.colorR.
Помните, что «майскую» сцену можно представить себе как поток данных, бегущий по стрелкам-связям в Hypergraph. При изменении атрибутов где-нибудь в середине потока (например, pSpherel.scaleX ) происходит автоматическое обновление всех данных, находящихся «ниже по течению», как указано стрелками. Формально говоря, обновляется нижняя часть дерева зависимостей (downstream graph).
Если выбрать ноду lambert1_colorR прямо в Hypergraph, то, естественно, ее можно рассмотреть в Attribute Editor. Это просто анимационная кривая, которая также является объектом в MAYA, и она ничем не лучше и не хуже остальных объектов. У нее свой набор атрибутов, определяющих ее свойства и свое представление в Attribute Editor. Любопытствующие умы могут рассмотреть ее подробнее в Window->Animation Editors->Graph Editor…