Обновляем прическу персонажа: шаг за шагом
В прошлой статье мы рассказывали о том, как искали и нашли способ сделать реалистичную графику для волос персонажа из Vikings: War of Clans, ничего не сломав в проекте. Теперь поговорим о том, каким был процесс создания новой прически и опишем все шаги: от ресерчей и набросков до финального шейдинга. Поехали!
Итак, чтобы реализовать нашу задумку, которая подразумевала использование плашек, как в проектах ААА-класса, нам нужно было уложиться в 2 000 полигонов на волосы и в 512х512 пикселей текстуры с жесткой альфой.
Мы сделали шейдеры с двумя UV-каналами: с диффузной текстурой на первом и одинаковой для всех кончиков волос большой альфой на втором. Нам удалось остаться в пределах карты в 512 пикселей, да еще и с нужной прозрачностью для кончиков. Однако альфа на экране мобильного девайса была незаметной и общую картину не исправляла.
Поэтому мы продолжили экспериментировать. Скомбинировали диффузные волосы, которые у нас уже были, с дополнительными плашками, вставленными в прическу под углом 90 градусов. Здесь снова применили второй UV-канал с двумя локонами по 256 пикселей длиной — роскошь для персонажа из мобильной игры.
Но и такой вариант не подошел. Тогда мы стали делать прическу целиком из плашек. И использовали не привычный для этого XGen или Ornatrix, а Blender с плагином Hair Tool.
На первых набросках лоупольные волосы с простым освещением и без использования нормали и flowmap выглядели плохо. К тому же шейдинг на плашках работал некорректно. Зато мы выяснили, что 512 пикселей для текстуры и 256 для локона достаточно, чтобы волосы имели детализированную прозрачность и гармонично смотрелись с моделью персонажа.
Мы сделали другую модель прически, изменив дизайн, длину волос и сам способ моделирования, разработали новый шейдер с анизотропией.
Плашки отмоделили в Blender с помощью Hair Tool отдельными локонами, запекли в текстуру, а затем покрасили. Дорисовали волосы самому персонажу, чтобы лысина не просвечивалась через парик.
На лоуполи блик выглядел некорректно, но мы его пофиксили — перепекли группы сглаживания со сферы. После этого покрасили текстуру.
Настало время делать финальную трехмерную модель с учетом всех спецификаций, которые мы успели наресерчить. Сперва хотели немного изменить форму прически и набросали простых скетчей в ZBrush.
В итоге взяли вариант, близкий к первоначальному, но с небольшими доработками. Отталкиваясь от готовой текстуры с opacity, diffuse и от MatCap Shader, мы расставили UV.
Модель прошла несколько итераций. Мы долго проверяли ее на работоспособность, чтобы исключить косяки. Подправляли вершины там, где плашки пересекались не очень красиво.
После всего этого мы отправили финальный меш на текстурирование и применили шейдер с анизотропией, реализованной через MatCap.
Дело сделано, а результат красуется в игре!
Источник статьи: http://render.ru/ru/Plarium/post/20645
Как создавать крутые CG-волосы для любого проекта
В статье рассматривается метод, который одинаково подходит как для создания реалистичных полигональных волос, так и для физически корректных динамических.
Типы волос
В большинстве 3D-редакторов существует возможность создания динамической системы волос, которая позволяет симулировать поведение волос, развивающихся на ветру, у реалистичного персонажа, или волосы мультяшки, задействованной в анимации. В Maya такие волосы достаточно легко создать с помощью nHair, которая работает с фолликулами, схожими по своим свойствам с человеческими волосами.
При этом каждая отдельная фолликула отвечает за поведение целой пряди волос. В системе волос можно настроить поведение волос и саму прическу.
С помощью динамической системы волос можно получить реалистично выглядящие волосы, подчиняющиеся законам гравитации. Однако nHair-волосы будут довольно заметно перегружать систему, вьюпорт и рендериться вдвое больше. Примером того, как динамическая система волос выглядит на практике, может стать любой анимационный фильм, снятый за последние пару лет.
Например, в мехе Салли из «Университета монстров» около 5,5 млн. отдельных волосинок. Этот метод помогает достаточно быстро получить реалистично выглядящий результат.
Более традиционный подход заключается в использовании затекстуренного меша. Конечно, результат такого подхода не будет таким же реалистичным, каким бы он был при выборе в пользу динамической системы волос, но он сработает, если вы хотите сэкономить время и усилия, не гонясь за качеством волос у персонажей Pixar’а.
Этот метод также называется «игровые волосы», поскольку он применяется даже сейчас для создания волос игровых персонажей. Основная причина использования такого подхода заключается в том, что игры рендерятся заранее, а динамический просчет потребует множество ресурсов и времени.
Конечно, при таком подходе и отказе от динамической системы волос, волосы персонажа не будут с ним как-то взаимодействовать. Риггеры из геймдев студий фиксят это создавая ригг для отдельных прядей волос или, например, волос, собранных в пучок или конский хвост, таким образом, аниматоры все еще могут создавать движения волос, делая их менее статичными и более реалистичными.
Эти полигональные или «игровые» волосы состоят из множества отдельных полигональных прядей с текстурами и картами прозрачности. Необходимая прическа создается именно из этого полигонального меша. Конечно, результат не будет таким же физически корректным и реалистичным, каким бы он был с помощью nHair, но настройка и рендер таких волос не займут много времени.
Настройка и рендер динамических волос могут стать настоящим испытанием, которое займет нереально много времени, если вы не знакомы с nHair.
Настройка полигональных волос
Описанный в статье достаточно простой и понятный подход можно применять не только в Maya, но и в любой другой программе.
С помощью инструмента EP Curve Tool создайте базовую форму волос, исходя из примера выше.
После того, как вы получили удовлетворительный результат и базовую форму, выполните команду Edit Curves > Rebuild Curve > Option box.
В опциях ребилда кривой необходимо определиться с числом спанов, например, число четыре вполне подойдет. Таким образом, у каждой кривой будет четыре контрольных точки или CV, что поможет для выполнения команды Loft.
Теперь выберите все созданные кривые и выберите опции команды Surface > Loft. В опциях переключитесь на полигональный тип геометрии и квады.
Результат должен быть похожим на пример выше. Нажмите троечку, чтобы перейти в режим предпросмотра засмуженной геометрии.
Таким образом, можно перейти к созданию отдельных прядей волос, опираясь при этом на свеже созданный меш. Можете настроить для шейдера небольшую прозрачность, чтобы облегчить процесс работы.
Затем выберите поверхность и выполните команду Make Live в опциях инструментов привязки. Теперь любая EP-кривая будет автоматически привязываться к поверхности.
Можете применить предыдущий метод использования инструмента EP curve tool, но помните о том, что будущая прическа должна быть «слоеной» и состоять из нескольких отдельных мешей.
На картинке можно увидеть, что кривые, созданные на основании прокси-прически, превратились в новые поверхности, пройдя процедуру лофта.
Продолжайте создавать небольшие полигональные меши, повторяющие форму прокси-прически.
После того, как все составляющие прически созданы, самое время перейти к UV-развертке. Этот процесс обещает быть очень легким, поскольку разворачиваемый меш очень простой.
Выберите один из мешей и перейдите в редактор UV-разверток Window>UV Editor. В UV Editor вы увидите что-то, похожее на пример выше. Это значит, что UV находятся за пределом пространства редактора от 0 до 1.
Пофиксим это. Выполните команду Polygons > Layout > Options, установив режим масштабирования на Stretch to region, таким образом меш идеально впишется в пространство редактора от 0 до 1.
Теперь осталось только создать текстуру волос. Проще всего найти подходящую на ваш взгляд текстуру в Интернете. Помните о том, что вам придется сохранять ее альфа канал, поэтому формат TGA очень даже подойдет.
В Maya создайте любой новый материал, например, Lambert, и навесьте на него текстуру волос, найденную вами на просторах Интернета или созданную в Photoshop.
Получаем респектабельно выглядящие волосы, на создание которых ушло совсем немного времени
Настройка nHair
Как уже упоминалось ранее, с помощью этого урока вы не получите настоящие динамические волосы, для которых необходимо создавать полноценную систему nHair. Кроме того с помощью динамических волос не всегда можно получить ту прическу, которую вы хотите, метод «игровых» же волос более гибок.
С помощью EP Curve Tool можно создать и стилизовать необходимую для персонажа прическу
После создания кривых можно использовать команду Loft, чтобы получить прическу
Кривые, созданные с помощью инструмента CV Curve Tool, должны повторять по форме прокси-волосы. На основании этих кривых будут создаваться динамические волосы. Вы можете придать этим кривым форму, необходимую для создания прически.
Для создания системы волос необходимо создать новую NURBS-плоскость, выбрать ее и выполнить команду nHair > Create Hair.
Далее выделите все созданные кривые и выполните команду nHair > Assign Hair System и назначьте систему волос на созданный плейн.
Таким образом, все созданные кривые превращаются в систему волос, повторяющую по форме прическу персонажа
Выделите волосы и перейдите в ноду hairSystemShape1, чтобы настроить некоторые атрибуты системы волос. Например, можно навалить параметр Hairs Per Clump, чтобы повысить густоту волос.
Чтобы лучше понимать, как воздействует тот или иной атрибут на волосы, поиграйте с опциями. Очевидно, что nHair смотрится намного реалистичней традиционных полигональных волос.
Помните, что если вы хотите, чтобы волосы подчинялись законам динамики, развевались на ветру или колыхались при повороте головы персонажа, вам придется потратить немного больше времени на настройку атрибутов и получение желаемых результатов.
Источник статьи: http://3dpapa.ru/how-to-create-realistic-cg-hair/
Создание волос
С выходом восьмой версии программы 3ds Max появилась возможность создавать различные прически для трехмерных персонажей, не прибегая к подключаемым модулям сторонних разработчиков. Выполняя предыдущие упражнения данной главы, вы научились моделировать и текстурировать голову человека. Остался последний шаг на пути к целостному портрету — волосы. Рассмотрим, как делаются волосы при помощи стандартного модификатора Hair and Fur (Волосы и мех ).
Для выполнения упражнения откройте построенную и текстурированную ранее модель головы, которую можно найти на прилагаемом к книге компакт-диске в папке CH11\Max. Файл называется texturing_end.max .
Прежде чем применить модификатор построения волос, необходимо выполнить некоторые подготовительные операции. В первую очередь следует оставить для работы только один объект — модель головы. Для этого в любом из окон проекций выделите объект Head и, щелкнув на нем правой кнопкой мыши, выберите из списка контекстного меню строку Hide Unselected (Спрятать невыделенное). Далее необходимо определить ту область модели головы, на которой эти волосы будут расти. Для этого можно воспользоваться модификатором Mesh Select (Выделение сетки), используя который следует выделить область, соответствующую естественному росту волос. Можно также построить сплайны, которые будут определять длину, направление и форму прически. Второй способ предполагает большую свободу в моделировании прически, поэтому им и воспользуемся.
- все сплайны должны принадлежать одному объекту;
- начало сплайнов (первая точка) должно находиться в начале роста волос (волосы строятся от корней);
- при построении волос модификатор Hair and Fur (Волосы и мех) производит линейную интерполяцию между соседними сплайнами, в связи с чем необходимо иметь достаточное количество сплайнов для создания прически нужной формы;
- интерполяция ведется с учетом порядковых номеров сплайнов, поэтому сплайны необходимо либо строить в строгой последовательности, либо после построения изменить порядок их следования.
Начните построение сплайнов, для чего выполните команду меню Create 4 Shapes 4 Line ( Создание 4 Формы 4 Линия ). Начните строить сплайн с лобной части головы и продлите его вниз вдоль правой стороны лица (рис. 11.134).
СОВЕТ
При создании сплайнов можно использовать минимальное количество вершин для построения базовой формы локона волос с последующим наращиванием вершин до необходимого количества.
Проконтролируйте положение сплайна во всех окнах проекций — он не должен пересекаться с поверхностью модели головы и иметь форму первого локона волос.
После построения сплайнов убедитесь, что они принадлежат одному объекту и располагаются по номерам в порядке следования. Если этого не произошло в процессе построения (я при построении новых кривых копировал сплайны на уровне подобъектов), то выполните следующие действия.
Теперь можно применить модификатор для создания волос на основе сплайнов. Для этого выделите построенные сплайны и на командной панели выберите из списка модификаторов строку Hair and Fur (WSM) (Волосы и мех (WSM)).
ВНИМАНИЕ
Для генерации теней модификатором Hair and Fur (Волосы и мех) используются только направленные источники света типа Target Spot (Направленный с целью) или Free Spot (Направленный без цели), к настройкам которых добавляется свиток с параметрами тени для волос.
Чтобы получить на модели головы тени от волос, выполните следующие действия.
1. В свитке Tools (Сервис) модификатора Hair and Fur (Волосы и мех) щелкните на кнопке Render Settings (Параметры визуализации), в результате откроется окно Environment and Effects (Окружающая среда и эффекты).
2. В одном из окон проекций выделите направленный источник света с именем hair_shadow (в вашем случае это может быть любой другой источник света данного типа).
3. В свитке Hair and Fur (Волосы и мех) окна Environment and Effects (Окружающая среда и эффекты) щелкните на кнопке Add hair properties (Добавить свойства волос), в результате чего к настройкам выбранного источника света добавится свиток Hair Light Attr (Свойства источника света для волос).
4. Проследите за тем, чтобы в области Shadows (Тени) свитка General Parameters (Общие параметры) настроек источника света был установлен флажок On (Включить), а в свитке Hair Light Attr (Свойства источника света для волос) — флажок Light hair (Освещать волосы). В данном свитке можно увеличить значение параметра Resolution (Разрешение), чтобы получить более качественные тени (рис. 11.136).
Вернитесь к настройкам модификатора Hair and Fur (WSM) (Волосы и мех (WSM)). Определите общие параметры модификатора в свитке General Parameters (Общие параметры), установив количество волос ( Hair Count (Количество волос)), количество сегментов по длине волоса ( Hair Segments (Количество сегментов)), толщину волоса ( Root Thick (Толщина волоса) и толщину конца волоса Tip Thick (Толщина концов)) и т. д. Флажок Interpolate (Интерполяция) должен оставаться установленным, чтобы поверхность волос строилась с учетом интерполяции между сплайнами (рис. 11.137).
В свитке Material Parameters (Параметры материала) укажите параметры, которые будут влиять на отображение волос при визуализации. Образцы цвета Tip Color (Цвет концов) и Root Color (Цвет у корней) определяют соответственно цвет волос на концах и у корней. Параметр Hue Variation (Оттенки цвета) влияет на то, в какой степени цвет волос будет отличаться от указанного в образцах цвета. Параметры Specular (Цвет зеркального отражения) и Glossiness (Глянец) аналогично одноименным параметрам редактора материалов отвечают за блеск волос. Настройте также параметр Self Shadow (Собственная тень) и другие параметры свитка Material Parameters (Параметры материала) (рис. 11.138).
Параметры свитков Frizz Parameters (Параметры вьющихся волос) и Kink Parameters (Параметры курчавости) можно использовать с целью получения вьющихся волос.
Более важным с точки зрения общих настроек является свиток Multi Strand Parameters (Параметры локонов), позволяющий настраивать вид локонов, создавая пышность и хаотичность прядей волос. Здесь можно задать параметры плотности ( Count (Количество)), расширения волос у основания ( Root Splay (Расширен ие у о снования)) и на концах ( Tip Splay (Расширение на конце)), а также случайное распределение ( Randomize (Случайное распределение)) (рис. 11.139).
ПРИМЕЧАНИЕ
Все вышеописанные настройки формы и отображения волос в значительной степени зависят от формы, длины и расположения сплайнов относительно друг друга. В связи с этим тонкая настройка параметров возможна только в процессе тестовой визуализации. При этом можно редактировать не только параметры модификатора, но и сами кривые на уровне подобъектов.
Кроме построения сплайнов по периметру модели можно создать единичные сплайны для отдельных локонов (например, челки). В этом случае необходимо снять флажок Interpolate (Интерполяция) в свитке General Parameters (Общие параметры) и настроить отображение локона, используя свиток Multi Strand Parameters ( Параметры локонов).
В качестве самостоятельного задания можно рекомендовать создать прическу, используя выделенные полигоны на уровне редактирования подобъектов модификатора Hair and Fur (Волосы и мех) и окно Style (Стиль), которое вызывается кнопкой Style Hair (Стиль волос) свитка Tools (Сервис). Кроме того, в области Presets ( Предустановки ) этого же свитка существует возможность загрузки предварительно сохраненных и запись собственных стилей причесок. Эта возможность является хорошим способом создания базовых параметров для последующего их редактирования и точной настройки с учетом особенностей модели.
Источник статьи: http://render.ru/ru/a.misharin/post/11723