Нажмите Play.
То, что происходит на экране, лучше всего характеризуется многофункциональным словом «колбасинг». Заметьте, что мы не поставили ни единого ключа и не написали ни одного expression для создания такой замысловатой анимации.
Встаньте в первый кадр.
Создайте окружность Create=>NURBS Primitives=>Circle.
Разверните ее (rotateX=90) и растяните слегка по X.
Нажмите Ctrl+d (Duplicate). Получится пять окружностей.
В Outliner перетащите и бросьте средней кнопкой мыши nurbsCirclel на nurbSpherel, nurb-sCircle2 на nurbSphere2 и т.д., «припарентив» таким образом все окружности к соответствующим сферам.
Выберите на экране все кривые по порядку, от первой до пятой, и выполните Surfaces=>Loft.
Нажмите Play.
Теперь это уже суперреалистичный колбасинг.
Сохраните файл (kolbasing.ma).
Теперь немного комментариев.
Никакого отношения к динамике мягких тел происходящее на экране не имеет. Этот результат есть сочетание Construction History, иерархии и динамики твердых тел. Начнем с конца, то есть с поверхности, которая в каждом кадре помнит о том, что она проходит через окружности. Окружности, в свою очередь, ничего не знают про динамику, они просто следуют за своими parent-объектами. А вот сферы, превращенные неуловимым образом в твердые тела, двигаются по законам динамики. Вот про законы мы сейчас и поговорим.
Но сначала история из «майского» фольклора. Мой хороший знакомый, Леша Мельников, как-то рассказал мне вот такую историю коммерческого применения MAYA в повседневной жизни. В 1998 году Леше довелось работать в компании, которая совершенно официально и одной из первых в России получила настоящую MAYA 1.0. Работала хорошо MAYA только на рабочих станциях 02 от компании Silicon Graphics, но довольно весело крутила динамику твердых тел. Быстро разобравшись с законами динамики, Леша с друзьями изготовил ультрафотореалистичную рулетку и такой же шарик, превращенный в твердое тело. Все дальнейшие вечера и ночи были предопределены. Каждый мог сделать ставку, а MAYA-крупье задавала случайную начальную скорость и направление движения шарика. Ночи напролет крутилась рулетка, и для кого-то MAYA иногда обеспечивала приятную прибавку к зарплате. Однако пикантная деталь этой истории в том, что качество отображения текстур на объектах в то время было отвратительным, а параметр texture resolution в принципе отсутствовал в Attribute Editor. Поэтому, чтобы определить выигравший номер, приходилось каждый раз рендерить текущий кадр!..
Законы динамики Для адекватной работы с динамикой необходимо иметь представление о том, как все-таки вычисляются траектории объектов на основе заданных параметров и какие правила надо соблюдать, чтобы динамика работала корректно и предсказуемо.
Для расчета движения тех или иных объектов всегда используется некий Решатель (Solver), то есть тот, кто решает, как будут двигаться объекты, которыми он управляет. Для твердых тел это Rigid Body Solver, для одежды - cpSolver, для волос - hairSystem. Атрибуты таких решателей, как правило, доступны через Attribute Editor и определяют то, как точно или как быстро будет производится расчет движения и какие факторы будут при этом учитываться. Не обязательно вникать в суть алгоритмов, используемых в этих решателях, важно усвоить один общий принцип работы всех этих «больших expressions».