![](/images/openglorg10/openglorg10-624.png)
Принцип действия всей этой слегка неуклюжей махины становится ясен.
Когда изменяется или перемещается поверхность, вместе с ней перемещаются торчащие, как иголки у ежа, невидимые кривые (copyOfcurveN).
За ними пытаются следовать частицы (каждая частица - за своей контрольной вершиной), а за частицами - «мягкая» кривая.
А за «мягкой» кривой следуют кости, как за своим IK Spline Handle.
Вот такой паровоз.
Вопрос только в том, почему же аттракторы выписывают такие кренделя, ведь в целом система выглядит вполне работоспособной? А потому, что кто-то (даже пальцем не на кого показать!..) при задании индивидуальных весов частиц (goalPP), определяющих силу стремления к goal-кривой для каждой отдельной частицы, установил по умолчанию такие крохотные значения для всех частиц, кроме первой (находящейся в основании кривой), что частицы практически не притягиваются к торчащим перепендикулярно goal- кривым и болтаются на пружинках как веревочки. Следовательно, и аттракторы безвольно болтаются в пространстве, не зная, что такое настоящая меховая упругость.
Если вы хотите исправить положение, надо отредактировать вес для каждой частицы в каждом аттракторе. Наименее медленно это можно сделать следующим образом.
Перейдите в камеру front.
В меню панели камеры выберите Show=>None.
А затем Show=>Dynamics.
На экране останутся только пружины и частицы.
Выберите только пружины и спрячьте их (Ctrl-h).
Затем выберите частицы и нажмите F8.
После этого выделите только верхний ряд частиц и для редактирования весов откройте Windows=>General Editors=>Component Editor.
![](/images/openglorg10/openglorg10-625.png)
Выберите закладку Particles и убедитесь, что иезуитское значение 0.005 для атрибута goalPP действительно присутствует для всех выбранных крайних частиц.
Исправьте его на 0.3 для всех ячеек (для этого достаточно последовательно выбрать все ячейки, нажимая Ctrl).
![](/images/openglorg10/openglorg10-626.png)
Затем выберите на экране следующий ряд ячеек и для них установите goalPP=0.5.
Для третьего ряда задайте goalPP=0.7.
Можете проиграть анимацию прямо сейчас, оценивая упругость колебаний частиц. Если вас не устраивает движение, настройте веса дополнительно.
Нажмите F8, чтобы вернуться в объектный режим.
Выберите все частицы и в Channel Box задайте для них conserved.9, чтобы частицы не болтались из стороны в сторону слишком долго.
Выполните в меню панели камеры Show=>All и проиграйте анимацию.
Теперь мех покачивается немного вследствие движения поверхности и благополучно успокаивается после остановки. Добавить немного хаоса или даже дунуть на мех вы можете теперь, просто выбрав все частицы и назначив на них нужные поля, типа Turbulence или Air.
Сохраните сцену (attractorFinal.ma).
Самая трудоемкая часть процесса - настройка весов goalPP, и, честно сказать, я не понимаю, почему до сих пор в окошке Create Attractors не появилось три дополнительных числовых поля для задания этих весов при создании аттракторов (четвертый вес всегда равен единице и принадлежит частице в начале «мягкой» кривой).
На этом можно попрощаться с мехом и с его экзотической анимацией.
Примечание. Словно в ответ на вышеприведенные возмущенные комментарии в седьмой версии MAYA появилась возможность влиять на мех системой волос НАПРЯМУЮ, без всяких дурацких посредников, типа костей. Таким образом, вы можете задать динамику движения меха с помощью небольшого количества динамических кривых, а затем использовать их в качестве аттракторов для любого уже созданного и настроенного меха. Чтобы это сделать, надо выбрать систему волос (ноду hairSystem), а затем с помощью пункта меню Fur=>Attach Hair System to Fur выбрать меховой объект, на который будет влиять эта система волос. После этого полезно будет также опять выбрать систему волос и выполнить операцию Fur=>Set Start Position То, чтобы «развернуть» начальное положение стартовых кривых для системы волос в соответствии с ориентацией меха в первом кадре.