3D Studio MAX: первые шаги. Урок 28. Использование модуля Hair and Fur
Создание волос на базе геометрической поверхности
Создание волос на базе набора сплайнов
Использование механизма Instance
Примеры сцен, полученных с использованием Hair/Fur-систем
Создание волос на базе набора сплайнов
А теперь попробуем получить Hair/Fur-систему на базе предварительно сформированного набора сплайнов. Создайте новую сцену с произвольным примитивом (мы выбрали сглаженный куб), к которому и будем привязывать сплайновую форму (рис. 23). Включите режим трехмерной привязки, щелкнув на кнопке SnapsToggle (рис. 24). Откройте окно GridAndSnapSettings, щелкнув по данной кнопке правой кнопкой мыши, и установите флажок Face (рис. 25) — это позволит осуществлять привязку к поверхности объекта. Закройте окно настроек. Активируйте инструмент создания криволинейных сплайнов, щелкнув на кнопке Line (панель Shapes) и в свитке CreationMethod параметров создания сплайна установив переключатель, определяющий форму сплайна, в положение Smooth. Последовательно сформируйте некоторое число сплайнов, поворачивая куб и создавая сплайны друг за другом по кругу, придерживаясь одного и того же направления (от поверхности куба — то есть как бы от корней будущих волос к их концам), — рис. 26. Объедините все кривые в один сплайновый объект — для этого выделите первый сплайн, перейдите на вкладку Modify, включите режим присоединения сплайнов, щелкнув на кнопке Attach, укажите второй сплайн (рис. 27), затем третий и т.д. (рис. 28). Обратите внимание, что при объединении сплайнов в один объект имеет значение порядок их присоединения — то есть присоединять сплайны нужно в той последовательности, в какой они располагаются на модели.
Рис. 23. Исходная сцена
Рис. 24. Включение режима трехмерной привязки
Рис. 25. Настройка режима трехмерной привязки
Рис. 26. Появление группы сплайнов
Рис. 27. Присоединение второго сплайна
Рис. 28. Результат объединения сплайнов в единый объект
Выделите полученную сплайновую форму и назначьте ей модификатор HairAndFur — в итоге вокруг сплайнов появится волосяной покров, причем волосы лягут по форме сплайнового каркаса (рис. 29). Вид полученных таким образом волос и их положение могут быть подкорректированы обычным образом через параметры либо с применением базовых операций перемещения, вращения и масштабирования, но не через визуальный редактор (а это существенно ограничивает возможности редактирования). Кроме того, для формирования нормального волосяного покрова на базе сплайнового объекта потребуется создавать очень много сплайнов, тщательно выверяя положение каждой кривой относительно объекта (что утомительно), чтобы не ошибиться при их объединении в единый сплайновый объект (иначе система волос окажется совершенно не такой, как было задумано). Поэтому к данному способу имеет смысл прибегать лишь тогда, когда генерирование волос на базе геометрического объекта в силу каких-то причин (например, если это высокополигональная mesh-поверхность, число полигонов на которой уменьшить без вреда для модели не удается) неразумно.
Рис. 29. Появление волос
Использование механизма Instance
В качестве элементов Hair/Fur-системы могут выступать не только кривые-сплайны, но и любые геометрические объекты, причем допускается использование не только формы объектов, но и их материалов. Реализуется это посредством механизма Instance. При этом следует иметь в виду, что для проведения корректной замены опорная точка Instance-объекта должна быть установлена в той точке, которая будет соответствовать корню волоса.
Рассмотрим возможность применения операции Instance на конкретном примере. Смоделируйте сцену с Path-плоскостью с большим числом разбиений и назначьте ей Noise-модификатор — плоская поверхность станет холмистой (рис. 30). Выделите плоскость и установите модификатор Hair and Fur — плоскость покроется волосами (рис. 31). Добавьте в сцену произвольное дерево из группы встроенных растительных объектов Follage (Create=>Geometry=>AECExtended), например пальму — рис. 32. Не снимая выделения с дерева, активируйте панель Hierarchy, щелкните на кнопке AffectPivotOnly и удостоверьтесь в том, что опорная точка объекта находится в области комля (рис. 33). Преобразуйте дерево в mesh-объект, воспользовавшись командой Convertto=>ConverttoEditable Mesh (Конвертировать=>Конвертировать в режим mesh-редактирования), вызванной из контекстного меню. Уменьшите общее количество волос (параметр HairCount в свитке GeneralParameters) до 75 (рис. 34). Раскройте свиток Tools, в области InstanceNode щелкните на кнопке None и укажите в качестве Instance-объекта созданное дерево. Первоначально вид полученных таким образом деревьев будет заметно отличаться от исходного дерева (рис. 35), да и сами деревья нередко «растут» прямо друг на друге и иногда чрезмерно искривлены. Для исправления ситуации в свитке GeneralParameters еще немного уменьшите количество волос (HairCount), а также их плотность (Density) и уровень случайного изменения длины (RandScale) — рис. 36. Кроме того, вручную подберите оптимальные значения толщины волос у основания и на концах (RootThick и TipThick соответственно). А в свитке FrizzParameters уменьшите значения параметров FrizzRoot и FrizzTip, регулирующих уровень скрученности волос у основания и на концах, что в конечном счете позволит получить не одну пальму, а целый лес из них (рис. 37).
Рис. 30. Исходный вид сцены
Рис. 31. Появление на плоскости волос
Рис. 32. Появление дерева
Рис. 33. Дерево с выделенной опорной точкой
Рис. 34. Сокращение числа волос
Рис. 35. Вид сцены после назначения волосам Instance-объекта
Рис. 36. Корректировка параметров Hair/Fur-объекта
Рис. 37. Лес из пальм