Создание волос на базе геометрической поверхности

Как уже было отмечено, генерировать систему волос или меха можно сразу на геометрической поверхности (то есть на той поверхности, которая должна быть покрыта волосами) либо на базе предварительно созданного набора сплайнов. Для примера создайте новую сцену с обычным шаром. Выделите шар, активируйте панель Modify и назначьте шару модификатор Hair and Fur — на шаре появятся отдельные волосы, разбросанные случайным образом. Полученный результат в окне проекции будет мало напоминать реальные волосы или мех, поскольку количество волосков незначительно — это связано с тем, что в целях экономии машинных ресурсов в окнах проекции отображаются не все волоски. При визуализации можно будет увидеть, что шар имеет покрытие, напоминающее редкий мех.

Сделать полученный мех густым и более естественным несложно — достаточно лишь увеличить общее количество ворсинок, регулируемое параметром HairCount1 (свиток General Parameters), примерно до 60 тыс. А также подкорректировать цвет мездры (то есть самого шара, которому назначено меховое покрытие) через редактор материалов, поскольку оттенок мездры должен соответствовать цвету ворсинок у корня (Root Color). Полученный в итоге мех уже вполне походит на настоящий.

 

При желании у созданного меха мож-но изменить множест-во параметров. Сде-лать ворсинки скру-ченными, подобрав значения параметров Frizz Root, Frizz Tip, Kink Root и Kink Tip (свитки Frizz Para-meters и Kink Para-meters соответствен-но), которые регулиру-ют наличие завитков вблизи оснований вор-синок, на их концах и по всей длине волос в целом. А также су-щественно увеличить уровень их сегмента-ции (параметр Hair Segments в свитке GeneralParameters).

Либо, наоборот, сделать ворсинки совершенно прямыми, обнулив значения параметров Frizz Root, Frizz Tip, Kink Root и Kink Tip.

 

Раскройте свиток Styling и активируйте режим работы в редакторе, щелкнув на кнопке Style Hair (Стиль волос). Визуальное редактирование здесь может производиться в одном из трех режимов: Hair Brush (Расческа для волос), Hair Cut (Ножницы для волос) и Select (Выделить). Режим HairBrush является основным (он устанавливается по умолчанию) и позволяет проводить перемещение, масштабиро-вание, завивку волос и т.п. В режиме HairCut осуществляется стрижка волос, а в режиме Select можно выделять волосы, используя стандартные инструменты выделения.

Можно изменить длину ворсинок, правда осуществляется это не совсем напрямую, поскольку параметра, который бы позволял задавать длину явным образом, в рассматриваемом модуле нет. В некоторой степени управлять длиной волос можно через параметры Scale (Масштаб) и Cut Length (Длина волос в процентном соотношении), расположенные в свитке General Parameters, но в данных параметрах длина ворсинок устанавливается неявно — то есть путем определения процента от общей длины. Поэтому с их помощью можно сделать ворсинки короче, а вот удлинить уже не получится. Альтернативным способом управления длиной является их масштабирование в визуальном редакторе причесок, где ворсинки можно не только укоротить, но и удлинить. Попробуем это сделать.

 

Удостоверьтесь в том, что установлен режим HairBrush, выберите инструмент Scale (Масштабирование), увеличьте размер кисти так, чтобы ее диаметр оказался немного больше диаметра окружности, внутри которой распределены ворсинки, установите кисть в центр шара и перетащите ее при нажатой левой кнопке мыши немного вправо — ворсинки станут длиннее. А теперь зачешем ворсинки вниз — включите режим выделения концов ворсинок, щелкнув на кнопке Select by Hair Ends (Выделить вершины на концах волос), подберите нужный размер кисти и причешите торчащие в разные стороны ворсинки, опустив их вниз с помощью инструмента Translate (Перемещение). Когда данным инструментом будут обработаны все концы волос, щелкните на кнопке Recomb (Повторное расчесывание) — это позволит автоматически подобрать наиболее естественное положение волос в том направлении, которое было указано при их расчесывании.

Часть волос несложно обрезать, активировав режим HairCut — сделайте это, перемещая мышь и щелкая в тех местах, где требуется удалить волосы (рис. 15). А затем, переключившись в режим HairBrush, произвольным образом увеличьте длину отдельных прядей инструментом Scale (рис. 16) и сделайте их растрепанными, подобрав значения параметров Frizz Root, Frizz Tip, Kink Root и Kink Tip (рис. 17). В итоге вид волос совершенно изменится (рис. 18). При желании созданные настройки параметров могут быть сохранены в списке шаблонов для дальнейшего использования, для чего достаточно открыть свиток Tools, щелкнуть на кнопке Save в группе Presets и ввести имя шаблона.

 

 

 

Вернемся к сохраненной рабочей сцене с шаром. Полученный в ней мех выглядит весьма неплохо, но несколько неестественно — для исправления ситуации вначале придется заняться установкой осветителей, а затем еще и подкорректировать параметры материала, используемого для визуализации волос, а также увеличить количество проходов при визуализации.

 

 

Создайте три источника типа TargetSpot и разместите их сверху, слева и справа от шара. Установите для всех трех источников чуть желтоватый цвет и активируйте отображение теней, включив в области Shadows флажок On. Уменьшите интенсивность (Multiplier) вспомогательных источников (то есть тех, что находятся слева и справа от шара) примерно до 0,7. Если вы сразу проведете рендеринг, то увидите не более привлекательный результат, чем наблюдался до установки источников света.

Вид шара до (слева) и после установки источников света

Дело в том, что для получения естественного меха требуется изменить еще целый ряд настроек. Откройте свиток MaterialParameters и сделайте оттенок в поле RootColor (Цвет волос у корня) немного темнее, чем в поле TipColor (Цвет волос на концах). Увеличьте число просчетов волосяного покрова (параметр HairPasses в свитке GeneralParameters) до четырех — это сделает ворсинки более нежными и пушистыми (а значит, и более естественными) за счет некоторой полупрозрачности. Для того чтобы получить неоднородный по цветовым оттенкам мех, увеличьте значения параметров HueVariation (Разброс оттенков цвета) и ValueVariation (Разброс яркости) до 30 и 55 соответственно. Немного уменьшите уровень яркости бликов, введя в поле Specular значение 65, и снизьте степень самозатенения ворсинок (то есть уровень интенсивности теней от них), установив для параметра SelfShadow значение 70.

Создание волос на базе набора сплайнов

А теперь попробуем получить Hair/Fur-систему на базе предварительно сформированного набора сплайнов. Создайте новую сцену с произвольным примитивом (мы выбрали сглаженный куб), к которому и будем привязывать сплайновую форму. Включите режим трехмерной привязки, щелкнув на кнопке Snaps Toggle. Откройте окно Grid And Snap Settings, щелкнув по данной кнопке правой кнопкой мыши, и установите флажок Face— это позволит осуществлять привязку к поверхности объекта. Закройте окно настроек. Активируйте инструмент создания криволинейных сплайнов, щелкнув на кнопке Line (панель Shapes). Последовательно сформируйте некоторое число сплайнов, поворачивая куб и создавая сплайны друг за другом по кругу, придерживаясь одного и того же направления (от поверхности куба — то есть как бы от корней будущих волос к их концам). Объедините все кривые в один сплайновый объект — для этого выделите первый сплайн, перейдите на вкладку Modify, включите режим присоединения сплайнов, щелкнув на кнопке Attach, укажите второй сплайн, затем третий и т.д.. Обратите внимание, что при объединении сплайнов в один объект имеет значение порядок их присоединения — то есть присоединять сплайны нужно в той последовательности, в какой они располагаются на модели.

Выделите полученную сплайновую форму и назначьте ей модификатор HairAndFur — в итоге вокруг сплайнов появится волосяной покров, причем волосы лягут по форме сплайнового каркаса. Вид полученных таким образом волос и их положение могут быть подкорректированы обычным образом через параметры либо с применением базовых операций перемещения, вращения и масштабирования, но не через визуальный редактор (а это существенно ограничивает возможности редактирования). Кроме того, для формирования нормального волосяного покрова на базе сплайнового объекта потребуется создавать очень много сплайнов, тщательно выверяя положение каждой кривой относительно объекта (что утомительно), чтобы не ошибиться при их объединении в единый сплайновый объект (иначе система волос окажется совершенно не такой, как было задумано). Поэтому к данному способу имеет смысл прибегать лишь тогда, когда генерирование волос на базе геометрического объекта в силу каких-то причин (например, если это высокополигональная mesh-поверхность, число полигонов на которой уменьшить без вреда для модели не удается) неразумно.

 

Использование механизма Instance

В качестве элементов Hair/Fur-системы могут выступать не только кривые-сплайны, но и любые геометрические объекты, причем допускается использование не только формы объектов, но и их материалов. Реализуется это посредством механизма Instance. При этом следует иметь в виду, что для проведения корректной замены опорная точка Instance-объекта должна быть установлена в той точке, которая будет соответствовать корню волоса.

Рассмотрим возможность применения операции Instance на конкретном примере. Смоделируйте сцену с Path-плоскостью с большим числом разбиений и назначьте ей Noise-модификатор — плоская поверхность станет холмистой. Выделите плоскость и установите модификатор Hair and Fur — плоскость покроется волосами. Добавьте в сцену произвольное дерево из группы встроенных растительных объектов Follage (Create=>Geometry=>AECExtended), например пальму. Не снимая выделения с дерева, активируйте панель Hierarchy, щелкните на кнопке Affect Pivot Only и удостоверьтесь в том, что опорная точка объекта находится в области комля. Преобразуйте дерево в mesh-объект, воспользовавшись командой Convertto=> Convertto Editable Mesh (Конвертировать=> Конвертировать в режим mesh-редактирования), вызванной из контекстного меню. Уменьшите общее количество волос (параметр Hair Count в свитке General Parameters) до 75. Раскройте свиток Tools, в области InstanceNode щелкните на кнопке None и укажите в качестве Instance-объекта созданное дерево. Первоначально вид полученных таким образом деревьев будет заметно отличаться от исходного дерева, да и сами деревья нередко «растут» прямо друг на друге и иногда чрезмерно искривлены. Для исправления ситуации в свитке GeneralParameters еще немного уменьшите количество волос (HairCount), а также их плотность (Density) и уровень случайного изменения длины (RandScale). Кроме того, вручную подберите оптимальные значения толщины волос у основания и на концах (RootThick и TipThick соответственно). А в свитке FrizzParameters уменьшите значения параметров FrizzRoot и FrizzTip, регулирующих уровень скрученности волос у основания и на концах, что в конечном счете позволит получить не одну пальму, а целый лес из них.

 

Вид сцены после назначения волосам Instance-объекта

 

Корректировка параметров Hair/Fur-объекта

 

Семейство актиний

Воспользуемся подключением механизма Instance в модуле Hair and Fur для моделирования семейства актиний, растущих в одной из расщелин на дне океана. Создайте цилиндр с большим числом разбиений по высоте, с тремя сегментами по ширине и значением Sides равным 16. Преобразуйте его в объект типа Editable Poly при помощи команды Convertto=> Convertto Editable Poly (Конвертировать=> Конвертировать в режим редактирования полисетки), вызванной из контекстного меню. Перейдите в режим редактирования полигонов и примените к части полигонов верхней плоскости операцию Extrude (Выдавливание) со значением параметра ExtrusionHight (Высота выдавливания) равным 10. Не снимая выделения с полигонов, щелкните на кнопке Bevel (Фаска), определите параметры фаски и щелкните на кнопке Ok. Переключитесь в режим работы с вершинами и масштабируйте объект. По окончании для сглаживания объекта примените к нему модификатор MeshSmooth (Сгладить сетку) и назначьте подходящий градиентный материал — получите упрощенную имитацию актинии.

 

 

Создайте геосферу и деформируйте ее так, чтобы она превратилась в булыжник— его мы используем в качестве основы для создания семейства актиний. Выделите булыжник и назначьте ему модификатор Hair and Fur — камень покроется случайно разбросанными волосами. Поскольку актинии должны расти лишь сверху булыжника (а не на всей поверхности модели), то перейдите в режим работы с полигонами, выделите область, где должны находиться волосы, раскройте свиток Selection и щелкните на кнопке Update Selection (Обновить выделение). В свитке General Parameters уменьшите общее количество волос (HairCount) до 2 тыс. и увеличьте число сегментов в них (Hair Segments) до 45. Раскройте свиток Tools, в области InstanceNode щелкните на кнопке None и укажите в качестве Instance-объекта созданную ранее из цилиндра актинию.

 

Проведите визуализацию— пока результат далек от желаемого, поскольку актиний слишком много, а форма их при замене претерпела существенные изменения. Вначале немного удлиним актинии путем увеличения длины волос — откройте свиток Styling, щелкните на кнопке StyleHair и инструментом Scale удлините волосы. Затем переключитесь в свиток General Parameters и подберите оптимальные значения параметров Hair Count, Density, Scale, Root Thick и Tip Thick. После этого выделите исходную актинию и в режиме работы с вершинами подкорректируйте ее форму так, чтобы чашечка «цветка» актинии оказалась менее длинной. А затем переместите опорную точку актинии в самый низ объекта, перейдя на панель Hierarchy и включив опцию Affect Pivot Only— это устранит изменение формы актинии при операции Instance. Теперь нужно сделать так, чтобы результаты преобразования исходной актинии сказались на тех актиниях, которые были получены путем замены. Для этого вновь выделите булыжник, в области InstanceNode свитка Tools щелкните на кнопке X для отключения Instance-объекта, а затем опять подключите его (рис. 53). По окончании текстурируйте булыжник и установите подходящее фоновое изображение — возможный вид полученной в итоге визуализированной сцены представлен на рис. 54.

 

 

Рис. 50. Вторая корректировка базовых параметров волос

 

 

Трава и кактусы

Применим возможности модуля Hair and Fur для моделирования нескольких кактусов, растущих среди травы. Смоделируйте сцену с Path-плоскостью с большим числом разбиений и назначьте ей Noise-модификатор — плоская поверхность станет холмистой. Добавьте в сцену примитив типа OilTank и конвертируйте его в объект типа EditablePoly (команда Convertto=>ConverttoEditablePoly из контекстного меню). Переключитесь в режим работы с ребрами, выделите все вертикальные ребра данного примитива и примените к ним операцию Extrude. А затем примените к объекту модификатор MeshSmooth для его сглаживания, и вы получите некую имитацию кактуса — правда, пока без иголок.

 

Выделите кактус и назначьте ему модификатор HairandFur. Попробуем превратить сгенерированные данным модификатором волосы в иголки. Вначале ограничьте поверхность роста волос выступающими гранями — перейдите в режим работы с гранями, выделите грани на ребрах и в свитке Selection щелкните на кнопке UpdateSelection. После этого обрежьте волосы в нижней (расположенной в почве) части кактуса, поскольку там они не могут быть видны, — активируйте режим работы в визуальном редакторе, раскрыв свиток Styling и щелкнув на кнопке StyleHair, и инструментом HairCut обрежьте волосы. В свитке GeneralParameters уменьшите общее количество волос (HairCount) примерно до 1,5 тыс. и подберите оптимальные значения для их плотности (Density) и масштаба (Scale), а также толщины в основании (RootThick) и на кончиках (TipThick). В свитке FrizzParameters обнулите параметры FrizzRoot и FrizzTip (это позволит сделать волосы прямыми), а в свитке Multi StrandParameters для параметра Count установите значение 5, а для параметра R andomize — 50, благодаря чему увеличится количество волос, расходящихся из одной точки в разные стороны.

 

В свитке Material Parameters определите цвет волос в основании (Root Color) и на концах (Tip Color) — в данном случае требуется установить более темный цвет не для основания волоса, а для его верхушки, поскольку у кактусов концы иголок обычно темнее (рис. 64). Уменьшите значения в полях HueVariations и ValueVariations примерно до 10 и 5 соответственно, так как вариации оттенка и интенсивности цвета вдоль длины иголок незначительны. Поскольку отдельные иголки должны выглядеть достаточно отчетливо, а не сливаться в единую массу, то увеличьте значение параметра Glossiness до 100. А для того чтобы иголки были матовыми, а не блестящими, уменьшите интенсивность бликов (Specular) до 20. По окончании сделайте несколько копий созданного кактуса и разместите их на плоскости (рис. 65).

 

 

Перейдем к созданию травы. Выделите Path-плоскость и назначьте ей модификатор HairandFur. В свитке Tools щелкните на кнопке Load и загрузите встроенный шаблон Tall Grass. Переключитесь в свиток General Parameters и уменьшите общее количество волос (HairCount) примерно до 400, увеличьте уровень их сегментации (Hair Segments) до 8, подберите оптимальные значения параметров Scale, Root Thick и Tip Thick и увеличьте число просчетов (Hair Passes) до 2. В свитке Frizz Parameters увеличьте степень скрученности волос на концах (Frizz Tip) примерно до 306. А в свитке Multi Strand Parametersувеличьте значения параметров

Count, Root Splay и Randomize до 25, 1 и 100 соответственно — это позволит добиться того, чтобы трава росла неравномерно, то есть где-то гуще, где-то реже. В свитке Material Parameters определите цвета травинок (Root Color и Tip Color), уменьшите значения в полях Hue Variations и Value Variations до 10, а в полях Specular и Glossiness установите значения 20 и 100.

 

 

Добавьте в сцену несколько подходящих объектов из группы Follage (рис. 69). Затем настройте освещение на базе трех источников типа Target Spot (рис. 70): интенсивность (Multiplier) основного источника можно оставить равной 1, а интенсивность вспомогательных следует уменьшить примерно до 0,4. Установите для всех трех источников отображение теней, включив в области Shadows флажок On. По окончании текстурируйте все элементы сцены, добавьте фон и увеличьте количество просчетов (параметр HairPasses в свитке GeneralParameters) при визуализации иголок у кактусов до 2 — в итоге вы получите примерно такое же изображение, как представлено на рис. 71.