Сегодня я хочу рассказать о том, как сделать объемные ресницы для модели головы среднего и высокого уровня детализации.
На рис. 1 представлен фрагмент модели головы с которым мы будем работать.
рис. 1
В данном случае я буду использовать полигональную модель, хотя с
одинаковым успехом этот метод можно применять для Surface или
NURBS-поверхности.
Для работы нам понадобится сплайн, который размещался бы на поверхности
модели в местах естественного роста ресниц. Проще всего такой сплайн
получить используя поверхность модели лица. Выделите поверхность вокруг
глаза и перейдите на уровень редактирования ребер. Выделите ребро,
расположенное на границе разреза глаза и щелкните на кнопке Loop (Петля) из свитка Selection (Выделение). В результате этих действий у вас должны выделиться все ребра вокруг глаза (рис. 2).
рис. 2
Выделив ребра, как описано выше, щелкните на кнопке Create Shape From Selection (Создать форму из выделения) из свитка Edit Edges (Редактировать ребра) в результате чего откроется окно диалога Create Shape (Создать форму), где необходимо установить тип создаваемого сплайна в Smooth (Сглаженный).
рис. 3
Выделите созданный сплайн и перейдите на уровень редактирования
сегментов. Выделите сегменты сплайна, расположенные в углах сплайна и
удалите их. Таким образом у вас должен остаться сплайн только там, где
должны находится ресницы (на рис. 4 сплайн указан красным цветом).
рис. 4
Верхние и нижние ресницы отличаются по форме и расположению на сплайне,
поэтому построенный нами сплайн необходимо разделить на два
самостоятельных сплайна - один для верхних ресниц, второй для нижних.
Сделать это можно перейдя на уровень редактирования подобъектов Spline (Сплайн) и, выделив нижнюю часть общего сплайна, щелкнув на кнопке Detach (Отделить) из нижней части свитка Geometry (Геометрия). Таким образом, у вас окажется два самостоятельных сплайна (рис. 5).
рис. 5
ПРИМЕЧАНИЕ
Для Surface-модели могут быть использованы в работе сплайны
поверхности. Для NURBS - Кривые поверхности. Вы даже можете выполнить
построение самостоятельных сплайнов лежащих на поверхности объекта в
местах расположения ресниц. Каким образом это будет сделано - не имеет
значения.
Перейдем к построению ресниц. Начнем с создания цилиндра,
расположенного где-нибудь поблизости от сплайнов, для того, чтобы иметь
возможность сопоставить размеры и положение в пространстве. Я намеренно
не хочу указывать размеры строящегося цилиндра в связи с тем, что у вас
скорее всего они будут другими. Единственно на что необходимо обратить
внимание - это на количество сегментов по высоте (Height Segments) (их должно быть не менее 4), количество сторон (Sides) (от 3 до 5) и стоять флажок на сглаживании (Smooth) (рис. 6)
рис. 6
СОВЕТ
Для того чтобы было удобнее работать со сплайнами и геометрией ресниц,
можно при помощи команды Hide (Скрыть) спрятать все ненужные на данном
этапе объекты.
Сейчас выполните заострение цилиндра применив к нему модификатор Taper
(Заострение), который можно выбрать из списка модификаторов Командной
панели или выполнив команду главного меню. Как должен выглядеть цилиндр
после применения модификатора и его параметры показано на рис. 7
рис. 7
Далее воспользуйтесь модификатором Bend (Согнуть) и изогните объект так, чтобы он стал похож на ресницу, расположенную на верхнем веке (рис. 8).
рис. 8
Построив одну ресницу, необходимо ее размножить, расположив на сплайне.
Начнем с того, что "привяжем" ресницу к сплайну и анимируем ее масштаб по мере продвижения к наружной части века.
Выделите ресницу и выполните из главного меню команду Animation>Constraints>Path Constraints
(Анимация>Ограничения>Ограничения по пути) (рис. 9), а в качестве
пути следования ресницы укажите в одном из окон проекций верхний сплайн.
рис. 9
В результате выполненных действий на Командной панели откроется свиток с настройками параметров контроллера анимации. В свитке Path Parameters (Параметры пути) (рис. 10) установите флажок на Follow(Следовать), что заставит модель ресницы все время располагаться перпендикулярно сплайну.
рис. 10
Сейчас, если вы передвинете ползунок таймера в правую сторону, то увидите, что модель ресницы так же передвигается по сплайну.
Давайте сделаем так, чтобы ресницы по мере удаления от начала сплайна
становились длиннее и гуще. Для этого выполните следующие действия:
Щелкните на кнопке Animate
(Анимировать), расположенной в правой нижней части интерфейса программы
для автоматической записи ключей анимации. В результате она подсветится
красным цветом.
Выделите ресницу и перейдите в последний кадр анимации (у меня это 100).
Далее выполните одно из двух действий: либо в свойствах цилиндра
увеличьте его высоту в 1.3-1.5 раза либо на столько же выполните
масштабирование объекта при помощи инструмента Select And Uniform Scale (Выделить и масштабировать).
Еще раз щелкните на кнопке Animate (Анимировать), чтобы выключить запись ключей.
Проверьте анимацию, щелкнув на кнопке Play (Проиграть)
,
расположенной справа от кнопки записи ключей анимации. Ресница должна
не только двигаться по сплайну, но и увеличиваться в размере.
Далее можно сделать так, чтобы ресницы ближе к внешнему краю века становились гуще.
ПРИМЕЧАНИЕ
Для верхних ресниц это менее актуально, нежели для нижних, которые
растут реже, чем верхние и кроме того обычно гуще ближе к внешнему краю
века. Но выполнение этих действий совсем не обязательно, хотя поможет
подчеркнуть форму глаза.
Для изменения густоты ресниц, необходимо изменить скорость продвижения
объекта по сплайну так, чтобы по мере удаления происходило ускорение.
Проще всего это сделать скорректировав кривую в окне редактора кривых (Curve Editor), вызвать которое можно кнопкой главного меню Curve Editor (Open).
В левой части окна диалога Track View - Curve Editor (Просмотр треков - Редактор кривых) выделите строку с именем Percent
(Проценты), относящуюся к анимации ограничения по пути после чего в
правой части окна добавьте к кривой 3-4 новых ключа и определите их
положение так, чтобы получилась изогнутая кривая (рис. 11).
рис. 11
Если бы мы сейчас выполнили построение копий ресницы, то получили бы
серию объектов, расположенных вдоль сплайна, совершенно ровно
обрезанных и направленных перпендикулярно к сплайну пути. Такое
положение не является естественным и нам необходимо внести некоторое
разнообразие, можно даже сказать небольшой хаос :-). Сделаем мы это при
помощи двух контроллеров: поворота и масштаба. Для этого выполните
следующие действия:
Переместитесь в первый кадр анимации и выделите в одном их окон проекций ресницу.
Выполните из главного меню команду Animation>Rotation Controllers >Noise (Анимация>Контроллер поворота >Шум). Таким образом от кадра к кадру будет изменяться положение ресниц в пространстве
Выполните из главного меню команду Animation>Scale Controllers >Noise (Анимация>Контроллер масштаба>Шум). Кроме изменения положения будет изменяться и масштаб ресниц.
ПРИМЕЧАНИЕ
При желании вы можете изменить параметры контроллера шума для
достижения максимально правдоподобного размещения и размера ресниц.
Сделать это можно либо при помощи изменения веса (Weight)
свитка контроллера на Командной панели либо используя окно диалога с
настройкой свойств контроллера (рис. 12), которое вызывается из
контекстного меню при щелчке правой кнопки мыши на имени контроллера.
рис. 12
Пришло время выполнить копирование объектов. Для этой цели мы напишем
совсем крохотный скрипт. Для чего выполните следующие действия:
Откройте окно диалога Max Script, для чего выполните команду главного меню MAXScript>New Script.
Впечатайте в поле для набора текста следующие строки:
for f=1 to 100 do
(
snapshot(selection)
sliderTime=f
)
на рис. 13 представлен текст в окне редактора скрипта.
рис. 13
Давайте разберемся в том, что означает эта запись. Строка for f=1 to
100 do означает, что запускается цикл, который начиная с единицы до ста
будет повторять выполнение содержимого скобок, а в скобках мы создаем
снимок выделенного объекта в текущем кадре и перемещаем ползунок
таймера на один кадр вперед.
Запустите выполнение скрипта, для чего выберите из меню File (Файл) строку Evaluate All (Рассчитать все). В результате этих действий у вас появится верхний ряд ресниц (рис. 14).
рис. 14
ПРИМЕЧАНИЕ
При желании те же действия (дублирование объектов) можно выполнить при помощи пункта меню Tools > Snapshot и в окне диалога необходимо установить нужный диапазон кадров, а так же создание копии как Mesh (в противном случае будут наследоваться все свойства оригинального объекта, а нам в данном случае это не нужно).
Построение нижних ресниц выполняется аналогичным образом, с той лишь
разницей, что их количество должно быть меньшим (например 70), а
разброс по сплайну большим.
Ниже, на рисунке 15, представлен окончательный вид фрагмента модели лица с ресницами, построенными в этом уроке.
рис. 15
Автор: Vladimir Verstak
|