А вот атрибут Sample Density отвечает за индивидуальное количество контрольных точек на кривой. Точнее говоря, он действует как умножитель для первоначального количества точек, то есть если при создании наши кривые имели по десять точек каждая, то задав Sample Density=1.5, мы увеличим количество точек до 15.
Следующий вопрос состоит таков: как одним махом отредактировать Sample Density для всех динамических кривых. На ум конечно приходит Channel Box, позволяющий редактировать атрибуты для всех выбранных объектов, однако если выбрать все кривые на экране, в Channel Box, к сожалению, появляются только обычные атрибуты кривых, а нужные нам свойства из закладки follicle отсутствуют. Очевидно, что «корешки» кривых, то есть ноды типа follicle надо выбрать отдельно. Самый нетворческий путь - начать возиться с Selection Masks. Менее прямолинейное решение - разыскать в Outliner группу hairSysteml Follicles и выбрать ее внутреннее содержание. Однако часто бывает удобно выбирать конкретные кривые прямо на экране и обращаться к их «динамическим» свойствам непосредственно в Channel Box. Для этого существует операция конвертации типа выбранных объектов, аналогичная такой же операции для полигональных компонент (Edit Polygons=>Selection).
Творческий выбор
Самый простой пример наиболее часто встречающей проблемы - как выбрать все динамические кривые для конкретной системы волос hairSystem? Или наоборот, как для выбранной кривой быстро выбрать всю систему волос? Для этих целей существует довольно остроумный пункт меню: Hair=>Convert Selection.
Применительно к нашим целям, выберите объект hairSysteml, а затем выполните операцию Hair=>Convert Selection=>to Follicles.
Это выберет все динамические кривые, причем за их «основания», то есть за ноды типа follicle. После этого, если перейти в Channel Box, там можно увидеть и отредактировать индивидуальные атрибуты всех динамических кривых, принадлежащих системе волос.
Совет. Самый быстрый способ выбрать основания (follicles) для всех динамических кривых состоит в том, чтобы отметить на экране любую кривую, а затем выполнить две операции: Hair=>Convert Selection=>to Hair System и Hair=>Convert Selection=>to Follicles.
Изменение индивидуальной гибкости кривых
Не забывайте возвращаться в первый кадр.
Задайте в Channel Box для всех выбранных кривых Sample Density=1.6. Запустите анимацию. Кривые стали более «гибкими», так как количество точек для каждой из них изменилось с десяти до шестнадцати.
Коль скоро динамические свойства всех кривых доступны в Channel Box, задайте parameterV=0.3. Это сдвинет все кривые вдоль поверхности цилиндра ближе к краю. Напомню, что с помощью атрибутов ParameterU/V можно изменять и даже анимировать положение каждой конкретной кривой на поверхности.
Если некоторые кривые провалились в поверхность вследствие добавления новых сегментов, просто вернитесь в первый кадр и опустите тор пониже (translateX=-1). Оцените, как изменилась форма кривых при огибании препятствия.
Как только кривые остановятся, выполните Hair=>Set Start Position=>From Current. Это должно стать привычкой для сохранения достигнутой в результате анимации формы. Вернитесь в первый кадр.