Shag Hair: создание волос
Одним из недостатков программы 3ds max по сравнению с ближайшими конкурентами является отсутствие в нем модуля для создания волос и шерсти. А ведь волосы - это необходимый атрибут любого персонажа, именно по волосяному покрову запоминаются самые яркие герои компьютерной анимации (вспомните хотя бы мышонка Стюарта или главного героя мультфильма "Корпорация монстров"). Пока что, увы, такие персонажи 3ds max не под силу. Почти единственным решением для создания волос в программе является плагин известной фирмы Digimation под названием Shag Hair. Подход к моделированию волос, реализованный в Shag Hair, необычен. Волосы рассматриваются как атмосферное явление, что позволяет существенно снизит время, требуемое на просчет такого сложного объекта, как волосы. Поскольку Shag Fur считает волосы как атмосферный эффект, то и основные настройки плагина находятся в окне Environment. После добавления эффекта в сцену можно будет увидеть пять свитков с настройками. Остановимся на них подробнее. Свиток Object Copy/Paste Load/Save Rollout позволяет указать объект в сцене, который будет служить эмиттером. Это означает, что именно из него будут расти волосы. Если требуется ограничить рост волос, то есть, например, задать рост только в определенной части объекта, нужно воспользоваться кнопкой Face Level. Для того чтобы задать особую форму волос, можно использовать стандартный сплайн 3ds max требуемой формы.
Выбор этого объекта в качестве основы для волос осуществляется при помощи кнопки Pick в группе настроек Model Hairs. Чтобы использовать стандартный сплайн в качестве модели волоса, перед добавлением его в эффект Shag Hair нужно применить к нему модификатор ModelHair, который Shag Hair добавляет в 3ds max. Свиток Parameters содержит все необходимые параметры для настройки волос: их толщину (Thickness), густоту (Density), степень курчавости (Curlines). В свитке Dynamics можно задать настройки внешних воздействий, которые имеют влияние на волосы (ветер и гравитация), а также значения параметров физических свойств объекта - инертности, эластичности, трения и пр. За качество прически отвечают настройки свитка Shading, Geometry, Quality. Тут можно задать способ наложения текстур на волосы, обозначить степень детализации изображения в окнах проекции, установить отбрасываемые объектом тени. Наконец, в последнем, пятом свитке Leaning, Bending можно задать угол роста волос. Для этого нужно добавить в сцену вспомогательный объект (helper) ShagVector, который Shag Hair добавляет в 3ds max. После создания ShagVector нужно указать степень его влияния на волосы в свитке Leaning, Bending . Shag Fur также добавляет в 3ds max собственный рендерер под названием ShagRender. Добавить его в сцену можно также, воспользовавшись списком добавления эффектов в сцену в окне Environment. Среди настроек рендерера можно отметить наличие или отсутствие теней, возможность работы с источниками света, подсчет нагрузки, которая ложится на компьютер при просчете волос. Теперь, когда нам понятны основные настройки плагина, продемонстрируем его возможности на примере. Попробуем при помощи Shag Hair создать прическу на голове персонажа. Персонажа можно взять любого - созданного вами или скачанного с сайтохранилища бесплатных моделей. Можно также "одолжить" голову :) у плагина Di-O-Matic Facial Studio или, если вы работаете с 3ds max 4 или 5, воспользоваться дополнительным модулем Digimation Head Designer (для шестой версии программы он перекомпилирован не был). Мы воспользуемся одной из моделей Facial Studio - уж очень она нам понравилась :) (см. рисунки). Итак, создайте объект Facial Studio в окне проекции Front. Перейдите в на вкладку Modify и в стеке модификаторов раскройте список под-объектов Facial Studio. По очереди выделяя и редактируя каждый из элементов головы персонажа, придайте объекту желаемую форму. Работу этого плагина можно сравнить с трехмерным фотороботом. Количество настроек, позволяющих сконфигурировать форму человеческой головы, отдельных ее частей и выражения лица, воистину огромно. После того, как модель будет готова, вызовите контекстное меню правой кнопкой мыши и выполните команду Convert to > Editable Mesh. Перейдите в режим редактирования вершин (Vertex) и обратите внимание на то, что количество вершин, образующих геометрию объекта, невелико, поскольку модель низкополигональная. Это значит, что область головы, на которой должны располагаться волосы, не может быть указана с достаточной точностью, а, значит, и прическа персонажа будет смотреться очень плохо. Количество полигонов нужно увеличить. Для того чтобы увеличить число полигонов примените к объекту стандартный модификатор MeshSmooth. Чтобы применить модификатор к какому-нибудь объекту, необходимо выделить его в сцене, после чего перейти на командную панель (вкладка Modify) и выбрать его в списке модификаторов. В свитке настроек модификатора Subdivision Amount установите значение параметра Iterations = 2. Еще раз конвертируйте объект в редактируемую оболочку (Editable Mesh). Теперь, если перейти в режим редактирования вершин, объект будет выглядеть так, как на рисунке 2. Такая модель вполне подходит для создания волос. Создайте рядом с головой персонажа источник света таким образом, чтобы он достаточно хорошо освещал место, откуда будут расти волосы. Тип такого источника света может быть направленный (Target) или всенаправленный (Omni). В настройках этого объекта должна быть включена опция отображения теней и в качестве тени в ниспадающем списке в группе настроек Shadows выбрана строчка Hair Shadows (свиток General Parameters). При таких настройках источник света сможет давать реалистичные тени, отбрасываемые волосами. После выбора Hair Shadows в настройках источника света появится свиток Hair Shadow Params. Настройки этого свитка определяют разрешение карты теней, качество их отображения, а также соотношение качества изображения и используемой оперативной памяти. Здесь же можно включить опцию использования фильтра визуализируемых теней. Область головы, на которой будут размещены волосы, мы условно разделим на две части. На каждой из них волосы будут зачесаны в свою сторону.
Перейдите в режим редактирования полигонов (Polygon) и, используя инструмент Selection, выделите первую область роста волос. Для того чтобы вы могли переключаться между выделенными областями, удобно использовать опцию Named Selection Sets (наименование выделенной области). Чтобы дать вылделенной области название, нужно выделить область, вписать название в поле Named Selection Sets на панели инструментов Main Tolbar и нажать клавишу Enter. В нашем случае мы назвали области для роста волос "место под волосы 1" и "место под волосы 2". Выделите вторую область с другой стороны головы и дайте ей названием "место под волосы 2". Названия выделенных областей можно изменять при помощи кнопки Named Selection Sets, которая расположена на панели инструментов слева от одноименного списка. Для имитации роста волос на голове персонажа вам понадобятся два образца. Первая модель волоса будет определять форму всех волос, "растущих" на первой области головы, вторая модель - на другой области. Модель волоса имитируется при сплайна, который должен иметь слегка загнутую форму. Для того чтобы в дальнейшем вам удобно было работать с прической персонажа, модели волос нужно разместить приблизительно в тех участках, где предполагается рост подобных волос. Выделите оба волоса и примените к ним модификатор ModelHair . благодаря этому Shag Hair будет воспринимать сплайновую форму как модель волоса. Выполните команду Rendering > Environment и в свитке Atmosphere добавьте в сцену эффект Shag Hair при помощи кнопки Add. Добавьте также эффект Shag Render. Перейдите в настройки эффекта Shag Hair и в свитке Objects, Copy/Paste, Load/Save в группе настроек Emitters нажмите кнопку Pick и укажите в сцене голову персонажа. Нажмите кнопку Face Level, в появившемся окне Pick Face Selection Set установите переключатель в положение Named Selection Set и в ниспадающем списке выберите первую область, на которой будут произрастать волосы ("место под волосы 1"). В группе настроек Model Hairs нажмите кнопку Pick и укажите в сцене модель волоса, который имитирует геометрию волос, произрастающих на первой области. При этом голова покроется волосами с одной стороны. Для того чтобы покрыть волосами другую сторону головы персонажа, проделайте те же действия и для второй модели волоса. Второй раз добавьте в сцену эффект Shag Hair, выберите голову в качестве эмиттера, укажите в окне Pick Face Selection Set область "место под волосы 2", а затем в группе настроек Model Hairs нажмите кнопку Pick и укажите в сцене модель второго волоса. В результате голова покроется волосами с обеих сторон. Имейте в виде, что указывать в настройках эффекта Shag Hair область, на которой будут расти волосы (Face Level), необходимо. Если этого не сделать, результат может получиться самым неожиданным :). После первого рендеринга вряд ли вы будете довольны результатом, поэтому необходимо подкорректировать положение волос и установить их параметры. Иными словами, нужно сделать прическу трехмерному персонажу. Редактировать волосы на голове модели нужно в два этапа. Во-первых, увеличьте плотность расположения волос на голове и уменьшите толщину каждого волоса. Для этого в настройках эффекта Shag Hair в свитке Parameters, в группе настроек Density (# Strands Per Face) укажите параметр Per Area равным единице. В следующей группе настроек Thickness укажите число, которое определяет максимальную толщину волоса. Установите ее приблизительно равной 0, 07. Слева от поля для ввода значения этого параметра расположена кнопка, с помощью которой можно управлять зависимостью толщины волоса от длины. Щелчок правой кнопкой мыши по этой кнопке вызывает окно Thickness Along Length, в котором вы можете вручную устанавливать график зависимости. Длину волос тоже необходимо уменьшить. При этом можно использовать параметры группы настроек Length Multiplier: устанавливать максимальную длину волоса (Maximum), определять случайный фактор расположения волос (Random Factor). Также можно воспользоваться настройками Curliness, если требуется придать курчавость волосам трехмерной модели. Для этого нужно установить флажок напротив опции Enable и выбрать радиус кудряшек. Геометрию волос можно корректировать, изменяя форму и положение модели волоса. Выделив ее в окне проекции, необходимо перейти в стек модификаторов и вернуться на этап создания сплайновой формы. Переключившись в режим редактирования вершин (Vertex), вы можете изменять прическу персонажа, управлять длиной волос, их положением на голове и т.д. Основные параметры волос, такие как толщина, длина и пр., должны совпадать для волос, растущих на первой и второй областях головы персонажа. Выберите в списке атмосферных эффектов Effects вторую строчку Shag Hair и продублируйте настройки для второй области.
Произведите визуализацию изображения, выбрав в качестве фонового цвета светлый оттенок. Вызовите окно Materal Editor и в настройках любого стандартного типа материала выберите тип раскрашивания поверхности (shader) Hair Shader. В свитке Hair Shader Parameters в качестве цвета диффузионного рассеивания (Diffuse Color) установите любой понравившийся вам цвет и назначьте этот материал волосам в окне проекции. Если требуется имитировать рассеиваемость света в волосах, используйте параметр Translucency в этом же свитке. Сила и яркость блика определяются настройками в группе параметров Specular Highlights. Просчитайте изображение снова. Если все было сделано правильно, на месте пробора вы увидите характерный отлив волос с выбранным оттенком материала. Благодаря интегрированному модулю просчета динамики волос вы можете анимировать движения волос при изменении положения головы персонажа. В момент резкого движения головой волосы должны покачиваться и развеваться. Для имитации этого эффекта в сцене необходимо создать источник гравитации и/или ветра. Настройки динамики волос расположены в свитке Dynamics. Указав массу волос (например, Mass = 5) и источник гравитации в сцене можно создать довольно реалистичную анимацию. Для создания источника перейдите на вкладку Create в категорию SpaceWarps, выберите строчку Forces в ниспадающем списке и нажмите кнопку Gravity. В свитке настроек Dynamics эффекта Shag Hair установить флажок напротив строки Gravity и, нажав кнопку Select, выбрать объект Gravity из списка. Кроме этого, в настройках этого свитка необходимо установить флажок напротив строчки Enabled группы настроек Collision Properties. Эта опция позволяет просчитывать столкновения волос с трехмерными объектами. Если установить в качестве объекта столкновения голову персонажа, динамика поведения волос будет просчитана корректно. Для просчета динамики нажмите кнопку Calculate, предварительно установив переключатель Display в положение Pre-calculated. При просчете положения волос и анимирования прически перед просчетом имеет смысл нажать кнопку Calc+Reduce. Благодаря этому программа после окончания просчета автоматически удалит все ненужные ключевые кадры, что существенно уменьшит нагрузку на память компьютера. Оптимизировать ключевые кадры в ручном режиме можно при помощи кнопки Reduce Keys.
Источник: http://www.3dmax.ru