CGI Media
Как я делал Эльзу. Часть третья – UV-развёртка, текстуры и материалы - 2
Итак, вторая часть одного большого поста. Продолжаем.
Насчёт зубов и языка – всё делаю абсолютно по такому же принципу. А для зубов даже карты нормалей не нужно – там, если помните, отлично справляются складки. Размер текстур для ротовой полости сильно большой не нужен, делаю их 2048х2048 пикселей.
Кстати, к нарисованным бровям я дополнительно добавил и настоящие, сделанные при помощи Hair Curves. Они почти не выделяются, но добавляют детализации и объёма.
Всё? А вот и нет. Текстуры готовы, но с персонажем всё ещё что-то не так. Особенно если смотреть его на просвет. Силуэт тёмный, как статуя. Живые люди (даже стилизованные) так не выглядят. А дело в том, что у Эльзы ещё нет так называемого SSS – Subsurface scattering. Это та самая штука, когда вы смотрите на свою руку перед ярким источником света, и пальцы по краям становятся красными.
Так и здесь. Я добавляю подповерхностное рассеивание на всё тело. Но, где-то оно должно быть явно выраженным, например на ушах, на пальцах, на носу и других тонких объектах, а где-то – почти не проявляться. Как этого добиться? Можно нарисовать ещё одну текстуру, чёрно-белую, где чёрный цвет будет соответствовать отсутствию рассеивания, а белый – максимальному проявлению. А можно сделать и проще. Этот способ я придумал сам, но, может быть, его ещё кто-то использует, не знаю.
Суть та же, что и с текстурой, только указывать блендеру, где подсвечивать, мы будем с помощью атрибута цвета. Заходим в режим рисования по вершинам, и чёрной кисточкой превращаем Эльзу вот в такого чумазика.
В нодовой структуре материала указываю полученный атрибут, инвертирую его, и настраиваю так, чтобы меня удовлетворил результат. Нода с красным цветом отвечает за цвет самого рассеяния.
И всё, теперь уши и пальцы выглядят натуральнее, да и в целом тени на теле стали помягче.
И тут хотелось бы вернуться к зубам и сделать маленькое уточнение. Зубы, хоть и являются твёрдым объектом, они – не кусок камня, а органика, которая должна хоть немного, но пропускать свет. Этого практически никогда не будет заметно на рендерах, при анимации, но тем не менее, такие мелочи нужно учитывать, иначе персонаж может выглядеть неестественно. Поэтому к материалу зубов тоже добавляем совсем немного SSS.
И последнее, чего стоит коснуться в данной теме – динамические текстуры. Мне хочется, чтобы при определённой мимике, на тех или иных местах на лице появлялись морщинки. Самый простой и очевидный способ этого добиться – создать ещё одну карту нормалей, подмешать её к основной, а затем скрывать или показывать. Идём в ранее созданный файл, в котором я запекал нормали для тела, и слегка пакостим на лице следующим образом:
Снова запекаем, возвращаемся к основному. Тут уже и средства блендера сгодятся. Рисуем вот такую текстуру размером 256х256 (больше нет смысла).
Эта, и ещё несколько подобных ей – маски для будущей динамической текстуры. Белый цвет проявляет карту морщин, чёрный – скрывает. Значит, нужно добиться того, чтобы каждая из этих текстур могла становиться полностью чёрной.
Делаю ещё одну текстуру, тоже 256 пикселей. Она отделит левую сторону от правой, и позволит включать и выключать маски.
А дальше – смешиваю всё это между собой. Вот пример одной из них, остальные аналогично.
Значение 0 – маска чёрная, текстура скрыта. Значение 1 – текстура проявлена.
Забегая немного вперёд, в тему анимации, я подвязал эти значения с помощью драйверов к определённым костям. Вот как это работает, на примере этих самых морщин на лбу:
Кожу специально сделал более блестящей, и чуть увеличил силу нормалей, чтобы было заметнее.
Вот теперь, кажется, всё. Но только для темы с текстурами. Впереди риг, одежда, анимация, короче ещё будет, о чём написать.
Как я делал Эльзу. Часть третья – UV-развёртка, текстуры и материалы
Примечание: тема вышла очень обширной, даже в один пост не влезает, так что придётся разбить её надвое. Второй пост тут.
Итак, после того, как все составляющие закончены (за исключением одежды – это отдельная тема), можно приступать к текстурированию. Оригинальные игровые текстуры оставляют желать лучшего: у них низкое разрешение, недостаточная детализация, а в импортированных вместе с моделью материалах присутствуют лишние элементы, вроде Light Map, в виде дополнительной текстуры, которая подмешивается к основной.
Вот что она собой представляет в чистом виде. Это сделано для упрощения расчётов в игровом движке, и имитирует контактные тени. По сути, это Ambient Occlusion, только назван по-другому. Помимо тела, такое встречается почти на всех элементах. Мне это не нужно, у меня всё будет просчитываться физически корректным способом, так что от этого будем избавляться.
Поехали.
Первой переделанной текстурой стала текстура глаз. Если честно, я занялся ею даже ещё до того, как приступил к волосам. Оригинальная имела размер 1024х1024 пикселя, почему-то инвертированную карту бликов (наверное, в другом движке она интерпретировалась правильно), также отсутствовали нормали. Выглядело это так:
Лишний блик прямо на зрачке, при этом остальная часть сухая как штукатурка – ровно наоборот.
Новую текстуру для глаз я создавал довольно интересным способом, подсмотренным на ютубе на канале Ниворд. Вкратце проиллюстрирую на следующей картинке.
Я отрендерил пару вариантов, меняя настройки, чтобы получились радужки разной степени реализма. После чего скомпоновал их в фотошопе, используя маски и режимы наложения, пока не достиг желаемого результата. Таким же образом сделал всё для карты шероховатости и нормалей. После чего, наконец, собрал всё воедино для текстуры целого глаза. Радужки я отрендерил в размере 2048х2048, а вот вся целиком текстура глаза, вместе с белковой частью, имеет размер уже 4096х4096. На белковую часть также наложил едва заметные кровеносные сосуды. Они были и на оригинальной текстуре, только я не стал отрисовывать каждый сосудик, а просто накинул готовые. Паттерн чуть иной, но это не страшно. Вот как выглядит моя текстура в сравнении с игровой:
Если на таком масштабе всю разницу в деталях, скорее всего, и не увидеть (да и пикабу сожмёт картинку в любом случае), то на самой модели она более чем очевидна:
Здесь, кстати, видно и то, как роговица отражает падающий на неё свет от окружающей среды. Таких текстур я сделал две, для левого и правого глаза, они слегка отличаются рисунком радужки.
И ещё тут можно заметить, как изменились ресницы. Их я, естественно, тоже переделал. Оригинального размера в 512 пикселей явно мало. В отдельном файле я положил старую текстуру в качестве фона, и смоделировал по ней вот такую вещь:
Это не что иное, как Hair Curves, расположенные по обведённому контуру. Каждая из этих ресничек точно повторяет оригинал.
Вот уже с этого файла я отрендерил чёрно-белый силуэт для альфа-канала, карту глубины, и карту нормалей. Всё в разрешении 2048х2048. Глубина в итоге не понадобилась по прямому назначению, но я смешал её с основным цветом, чтобы получить небольшое разнообразие и дополнительную детализацию.
Закончив с глазами и ресницами, я приступил к основной части, а именно – текстурированию тела. В оригинальной модели текстура была представлена двумя блоками: со стороной 1024 пикселя для лица и головы, и 2048 для всего остального тела, но во второй блок была запечена ещё и текстура плаща. Все текстуры, за исключением лицевой, были нарисованы односторонними, так как оригинальная развёртка также была односторонней, и лишь отзеркаливалась.
С UV-развёртки и начался процесс, так как без этого никакого адекватного покраса быть не может. Я сохранил оригинальную развёртку лицевой части, чтобы ориентироваться на неё при работе, и чтобы максимально сохранить черты лица. Остальную же пришлось делать с нуля, и ничего общего с первоначальной она не имеет.
Перво-наперво размечаем швы.
Затем, когда всё размечено, применяем модификатор «симметрия», и делаем первичную развёртку. В новой версии блендера появился алгоритм, позволяющий разворачивать геометрию с минимальными искажениями. Но, даже с ним, без ручных правок не обойтись.
Создаём временную текстуру с шахматным рисунком, это позволит видеть, насколько хорошо развернулся тот или иной элемент, что и где поправить, а также отрегулировать масштаб и привести всё к общему знаменателю.
Там, где клеточки меньше – больше детализация, и наоборот. Самая высокая детализация, конечно же, должна быть на лице, там вы видите самые мелкие клеточки.
Постепенно, развёртка приобрела следующий вид:
Красным выделены закреплённые точки, то есть те, на которые влияние развёртывания не распространяется, однако от них зависит, как поведут себя все остальные. Закреплять точки полезно, если, например, нужно получить симметричную развёртку туловища, или поправить развёртку какого-то участка, не меняя его целиком.
Как видите, развёртка заняла целых три слота, и возможно, кто-то скажет, что она слишком неэкономно расходует пространство. Ну, во-первых, пространства мне не жалко, железо позволяет, а во-вторых, мне нравится, когда островки расположены упорядоченно и симметрично. Не для игры, в конце концов, делается.
Три слота означают, что текстура тела Эльзы будет состоять из трёх изображений, связанных между собой. Это называется UDIM, и такой подход очень распространён в 3D-индустрии. Главное – соблюдать синтаксис в именах файлов. Текстура первого квадрата должна иметь окончание 1001, второго – 1002, и так далее. Так блендер поймёт, в каком порядке ему их загружать. А сами текстуры при этом можно рисовать в чём угодно, принципиальной разницы для блендера здесь нет.
Для блендера, может и без разницы, зато я считаю иначе. В самом блендере есть инструментарий для рисования текстур, но реализован он не лучшим образом, и подходит разве что для простых зарисовок, набросков, или текстур небольшого размера. Он глючный, постоянно тормозит даже при простых действиях, и у него мало возможностей. Фотошоп тем более не годится, там даже понимания развертки нет.
Поэтому не мучаемся, откладываем блендер в сторону, и открываем программу, созданную специально для задач текстурирования – SubstancePainter. Но, прежде чем начать в нём рисовать, надо экспортировать из блендера соответствующий меш. Выбираю тело Эльзы, отключаю все сглаживающие модификаторы, и экспортирую выделенное в файл формата obj. На его основе уже создаётся новый проект в пейнтере, и я приступаю к покрасу.
Вот с этого и начинаем.
Покрас Эльзы я начал с того, что добавил на модель оригинальные текстуры. На них я буду опираться при работе. С шероховатостью и нормалями беда полная, но пока я их не трогаю, работаю чисто в режиме цвета.
Первый этап – глаза. Создаю для них новую папку, а внутри этой папки – новый слой-заливку с основным цветом. Прячу его под чёрной маской. Затем аккуратно, стараясь не затрагивать лишние зоны, закрашиваю весь макияж, внутреннюю поверхность век, ну и брови. После этого на новых слоях сглаживаю переходы, добавляю оттенки. Образцы цветов беру прямо с модели. После того, как старые глаза и брови полностью скрылись, создаю ещё одну папку, в которой уже рисую веки заново. Это очень кропотливая работа, нужно попасть и в цвет, и соблюсти форму. Постоянно переключаю видимость на прежнюю текстуру, чтобы видеть разницу.
Макияж довольно комплексный, с кучей деталей и оттенков. Если в первой папке, которая лишь скрывает старые глаза – пять слоёв, то во второй, где нарисованы новые – уже целых семнадцать.
Таким же способом рисую брови. Сперва симметрично, затем добавляю немного вариативности для левой и правой. Брови – простой объект, и мне понадобилось всего четыре слоя.
Дальше – нос, вместе со щеками. Десяток слоёв – и кожа приобрела более ровный цвет и лучшую детализацию. Немного побледнели веснушки, но я займусь ими чуть позже.
В принципе, что касается лица, то процесс на всех его частях был более-менее одинаков. Поверх старой текстуры создавались новые слои, сглаживающие цвет и добавляющие детали.
Было-стало:
А вот что насчёт волос, которые нарисованные. В принципе, с ними можно было вообще не заморачиваться, но я решил сохранить их, и также доработать. Хоть их почти и не будет видно под настоящими волосами, о которых был предыдущий пост, но свой вклад они вносят.
Дальше, после того как голова и лицо сделаны, перехожу к телу. Собственно, там почти нечего делать – так, добавить слегка вариативности коже, где-то побольше румянца, где-то веснушек. Просто в данном конкретном случае тело – не та вещь, на которой будет фокусироваться внимание. Уверен, и в самом Диснее придерживаются этой логики. Другое дело, если бы это была 18+ модель – вот там бы пришлось заморочиться над деталями, и особенно в некоторых местах.
А вот на кистях рук и стопах следует проявить чуть больше усердия. На руках прокрашиваем красноватым цветом места суставов, ладонь, подушечки пальцев, слегка тёмным цветом подчёркиваем тени в складках. То же самое и на ногах.
И наконец ногти. Просто заливаем все полигоны, из которых они состоят, телесным цветом, и рисуем более светлую полоску. Впоследствии мне придётся слегка поправить этот элемент, так как при подразделении полоска некрасиво выгибается, но это я сделаю уже средствами самого блендера.
На этом покрас основного цвета закончен, и остались шероховатость с нормалями. Если насчёт шероховатости особых сложностей не было – просто настроил каналы в уже созданных слоях, то вот с картой нормалей пришлось повозиться.
Итоговую карту нормалей я создавал путём смешения нескольких. Частично задействовал исходную карту, некоторые участки там оказались удачными. Ещё, на таких местах, как например губы или кисти рук – нарисовал детали в Substance.
Для волос и бровей я использовал этот сервис генерации нормалей из картинок, и загрузил туда уже готовую мою текстуру цвета.
Возвращаемся в блендер, в нём мы будем запекать ещё один источник для итоговой карты нормалей. Я взял меш Эльзы, закинул его в отдельный файл, и применил к нему модификатор Multiresolution. Там, на третьем уровне подразделения, просто подчеркнул наиболее важные складки у глаз, губ, носа, ушей и пальцев. Очень хорошо при этом стали выглядеть ногти, что пригодится при создании итоговой карты.
После этого запекаю нормали, и возвращаюсь в Substance Painter. Создаю новый проект, и загружаю туда целых четыре набора: исходный, ранее экспортированный из SP, запечённый в блендере, и сгенерированный сайтом. У каждого есть свои достоинства и свои недостатки. Моя задача – смешать все эти наборы так, чтобы сохранить лучшее от каждого из них, а все огрехи скрыть.
Готовую карту нормалей сохраняю также в UDIM с правильными суффиксами, подгружаю в основной файл блендера. Почти готово! К сожалению, в один пост не влезает больше 25 картинок, и продолжение будет во втором посте, который выйдет одновременно с этим. А пока предлагаю сравнить то, что получилось, с тем, что было.
Как я делал Эльзу. Часть вторая – волосы и рот
Волосы… Это самая настоящая проблема. В одном из своих постов я как-то говорил, что сделать хорошие и качественные волосы невероятно сложно, и на тот момент для меня это была практически нереализуемая цель. Приходилось выбирать между внешним видом, и функциональностью.
Однако, с тех пор прошло много времени, и я рад сообщить, что проблема решена! Не обошлось без костылей, но я открыл для себя даже не один способ, чем очень доволен. И в процессе создания Эльзы неплохо так набил руку. К слову, для разных причёсок я использовал разные способы создания волос, и об этом чуть ниже.
Но, прежде чем перейти к теме волос, давайте вскользь коснёмся глаз, зубов и языка. С ними особых трудностей не возникло, у глаз так вообще даже топология приемлемая, единственное что – пришлось убрать треугольники, но тут автоматическая функция справилась на ура.
Это глаза, а не то, что вы подумали.
Кстати, сверху они выглядят так:
Чуть торчат в разные стороны, и в своё время для меня это стало открытием, но на самом деле с анатомической точки зрения так правильнее.
С зубами чуть больше работы, но тоже в целом ничего сложного. Кстати, ротовой аппарат в оригинальной модели был представлен единым объектом. Так тоже можно, но я не сторонник такого подхода, и поэтому разделил его на составляющие.
Глаза и зубы после моего вмешательства. Обратите внимание, что вокруг глаз я создал дополнительные сферы, которые в дальнейшем будут играть роль роговицы и отражать свет.
И ещё маленький момент насчёт зубов. После того, как я почистил топологию (осталось много треугольников, но тут это вообще не принципиально), я выделил зубы специальным инструментом «складка». Вот эти фиолетовые линии.
Это нужно для того, чтобы при сабдиве зубы чётко очерчивались и визуально отделялись от дёсен, и при этом без необходимости создавать лишнюю геометрию. Вот как на нижних зубах это видно.
Собственно, рот на этом закончен, и давайте уже поговорим про волосы.
Способов создания волос на самом деле много. Следуя поставленной цели – добиться внешнего вида «как у Диснея», я выделил для себя два. Первый способ, с помощью которого и сделана та самая классическая причёска с косой, называется hair cards. Он главным образом используется в игровой индустрии, так как для отрисовки таких волос не требуется слишком много ресурсов.
Но погодите кидаться камнями: то, что способ примитивный, вовсе не значит, что его нельзя доработать. Чем я и занялся. В отдельном файле я создал несколько волос (которые HairCurves), настроил их и отрендерил. Получились вот такие локоны.
На самом деле там фон прозрачный, здесь серый просто для наглядности.
И таких наборов я сделал несколько штук: для волос разной плотности. От прямо массивных прядей до отдельных волосков. Естественно, с альфа-каналом, нормалями и шероховатостью. Разместил это всё на одной текстуре с разрешением аж 8К. Настало время слепить из всего этого подобие настоящих волос. И, прежде чем я приступил к этому непосредственно у Эльзы, я сделал пробный файл. В нём я сначала создал меш с вот таким вот странным профилем:
Да, именно меш, а не кривую. И вот как он выглядит в целом:
Эдакое нечто непонятное. На самом деле, всё предельно ясно. Затем была сделана UV-развёртка, и начался долгий процесс рассовывания всех этих полосок по текстуре. Плотные волосы – внутри, редкие – снаружи. После того, как это было сделано, к данному мешу я применил модификатор «Кривая», и изогнул локон так, чтобы он напоминал собственно… локон. И сферу присобачил на всякий случай, типа голова.
Вот такая фиговина вышла, зато в отрендеренном виде уже вполне похоже на волосы.
Ну, вроде всё устраивает, решил я, и начал лепить причёску. Но, как оказалось, созданные волосы имели один маленький, но неприятный недостаток: слишком заметные края. Из-за этого местами они выглядели не как растущие из головы волосы, а как вставленные туда пластиковые полоски.
Что-то типа этого:
Примерно такой же эффект был, когда внутренние волосы пересекались с внешними и вылезали наружу. Некрасиво, нехорошо.
Что делать? Эффект пластика создавала чрезмерная плотность волосков на текстуре. Но, что если сделать локон без сплошных текстур? Вот чисто из отдельных волосинок, просто напихать их побольше. Ради интереса я сделал пару таковых. И столкнулся с новой неприятностью. Точнее, даже двумя. Во-первых, вот:
Это происходит из-за того, что количество прозрачных элементов превышает количество путей света в настройках рендера. Можно вылечить, подкрутив число отскоков, но тут вылезает вторая проблема: рендеринг и так не очень быстрый, а с увеличенным числом путей его продолжительность вообще вырастает в разы.
Короче, тоже не годится. Поэтому я решил вернуться к первоначальному варианту, только доработать его. Создал новый набор текстур для плотных волос, и на этот раз без чёткой границы: плотность плавно нарастала по направлению к центру. Затем, поэкспериментировал с профилем и формой меша. Сделал так, чтобы пряди слегка перекрывали друг друга, создавая иллюзию плотного пучка. Одновременно уменьшилось количество полигонов, стало легче и рендерить, и моделить. И после этого снова принялся за причёску.
Наглядным референсом послужила изначальная причёска, что была у игровой модели. Я брал созданный мною меш вместе с деформирующей его кривой, ставил в нужное место, и затем придавал ему форму. В целом, это выглядело так:
Кстати, на тех прядях, которые находятся спереди, я также немножко поработал с корнями, чтобы они не так грубо входили в кожу.
После очень долгой работы, которая заняла примерно недели две, я наконец получил классическую причёску, которую вы уже видели в предыдущих постах, но я покажу ещё раз, мне не сложно.
Здесь ещё старые текстуры тела. Про текстуры будет отдельный пост, а пока что переходим ко второму способу создания волос, и ко второй причёске. А именно той самой, которая появилась во время исполнения шикарной, на мой взгляд, песни Show Yourself, и благодаря которой, Эльза теперь краш не только для меня, но и вообще для многих.
Спойлер: вот она
Работа над этой причёской ещё ведётся, в плане оснастки её для анимации. И точнее, уже даже готова, просто хочу исправить несколько моментов.
Способ создания – те самые пресловутые Hair Curves. Да, красивые, но, как я когда-то был уверен, совершенно не предназначенные для рига и анимации. И поэтому распущенную причёску я сначала хотел сделать тем же методом, что и классическую. И даже начал. А затем случайно наткнулся на одно видео, после которого уже не было смысла продолжать. Я бы привёл ссылку на ютуб, но с недавних пор это здесь моветон, так что для желающих расширить свои познания в блендере: ищите по имени Rakenval, у него много полезных советов.
Так вот, оказывается, HairCurves прекрасно можно анимировать! Воодушевлённый, я приступил к работе над ними. Процесс этот был очень долгим, даже дольше, чем в предыдущем случае. Весь его я расписывать не буду, но вкратце суть сводится к тому, чтобы создать на поверхности эти самые волосы, затем их расчесать, придать нужную форму. Это можно делать как в режиме скульптинга, так и редактирования. Получается что-то подобное:
Естественно, я не мог обойтись без тестов. В отдельных файлах создавал как и странные конструкции вроде этого
так и более вменяемые и приближенные к итоговому результату сценки. Здесь мне опять помогла та стандартная моделька девочки из ассетов блендера.
Для каждой пряди я создавал отдельные кривые, чтобы было удобнее их потом контролировать. Та причёска, что вы видели, состоит из 13 объектов, и это только сами кривые.
После долгого и упорного труда, проб, ошибок, переделываний, причёска готова! Теперь, хоть до анимации ещё далеко, я всё же делаю все необходимые приготовления. Вот тут и приходит на помощь видео. Короче, для того, чтобы вся эта система работала, волосы-кривые нужно привязать к так называемому прокси-мешу. Отдельный респект Rakenval, что вместе с видео он выложил и файлы, где содержится всё необходимое.
Краткий алгоритм: волосы дублируем, конвертируем в меш, меш немного экструдируем, чтобы была ненулевая геометрия, затем назначаем ему физику ткани. Настроили физику – привязываем волосы к прокси через геоноды. Все, готово! Однако, если волос много, как в моём случае, то симуляция может идти слишком долго, да и ведут они себя иначе, чем в мультфильме. Там, если кто помнит, вот эти отдельные большие локоны держали форму, а не рассыпались на сотни волосков. Точнее, слегка рассыпались, но в целом держали. А значит, с целью упрощения расчётов, и сохранения формы, нужно проделать ещё один дополнительный шаг.
Нет, Эльза не облысела, просто эти штуки - специальные объекты, каждый из которых будет управлять более мелкими и частыми прокси-волосами соответствующего локона. Их не видно на рендере, они выполняют чисто вспомогательную функцию. Вот им уже и назначаем физику, и на этот раз всё идёт намного быстрее. Кстати, именно их я хочу впоследствии отредактировать, чтобы они вели себя более корректно.
Добившись приемлемого результата, с удовлетворением закрываю блендер и отправляюсь на заслуженный перерыв. Впереди не менее важный этап: текстурирование. Ему будет посвящён следующий пост, а пока что жду вашего отклика, комментариев, советов, критики. До новых встреч!
Как я делал Эльзу. Часть первая – тело
Прежде всего, хочу выразить огромную благодарность всем тем, кто оценил мой предыдущий пост, это действительно приятно, и я даже не ожидал такой реакции. Отклик супер, спасибо, это мотивирует. Ну, а теперь к делу.
Основой для работы послужила модель Эльзы из игры KingdomHearts 3. Скачалась она в непонятном формате ascii, ну да не беда, быстренько ставим аддон для импорта этого, и вуаля: наша Эльза теперь в блендере!
Почему-то без плаща, но у меня есть ещё одна модель в Maya, оттуда плащ и возьму, но позже.
Топология ужасная, для анимации совсем не подходит. К тому же, много лишних элементов, голова и тело отдельными объектами, короче не то.
Да и текстуры так себе. Для игры, может, и сойдёт, но мои стандарты намного выше.
К текстурам ещё вернёмся, пока они – не главное. Сейчас нужно поработать над топологией. Любой более-менее адекватный аниматор вам скажет, что для анимации необходимы 4-угольные полигоны. Треугольников следует избегать, а если это невозможно, то их нужно располагать в таких местах, где их либо совсем не будет видно (например затылок), либо же их деформация не вызовет артефактов. Многоугольники же вовсе недопустимы. И да, качественная топология всегда содержит в себе такое понятие, как петли, или loops. Вот несколько примеров.
Именно благодаря этим петлям и происходит правильная деформация. Сгибание пальца не затрагивает всю кисть, и т.д.
Вроде кажется просто? Нифига подобного! Даже при условии, что знаешь теорию, и есть кое-какой опыт, всё равно создание модели с нужной топологией – дело долгое, муторное, требующее концентрации. Особенно когда делаешь не своего персонажа с нуля, а пытаешься максимально сохранить черты оригинала. Тут не обойтись без референсов.
Мне отчасти помогла вот такая картинка, которую я поставил на задний план:
Да, в основном ориентировался на второй Фрозен, поскольку там Эльза мне больше нравится)
Ну а вообще, референсов я собрал вагон и маленькую тележку
Спустя сколько-то там времени, топология на голове почищена, и приобрела нужный вид. Где-то пришлось вовсе удалить части меша и нарисовать полигоны с нуля. Вот как это выглядит на данный момент.
Кто-то наверняка скажет сейчас: но постой, pacotaco, ведь в блендере же есть функция преобразования треугольников в четырехугольники! Раз – и готово! Ты нахрена столько времени тратил?
Отвечу: да, есть. И даже приемлемо справляется с простыми формами. Но, если полагаться исключительно на неё, тогда голова выглядела бы примерно вот так:
Думаю, объяснять лишний раз не надо. Так что, я её использовал, но и без ручной работы не обошлось.
Теперь очередь тела. Одежду удаляем (временно), работаем с голенькой Эльзой. Сразу для интересующихся: нет, в этой модели отсутствуют «специальные подробности». Я мог бы их сделать, но в данном конкретном случае передо мной не стояло такой цели, так что оставим это как-нибудь на другой раз.
С телом та же беда в плане топологии, но помимо этого, ещё нужно сделать её так, чтобы она потом гладко переходила в топологию головы. Здесь у меня сначала получился вот такой вариант торса:
Но затем я решил его ещё чуть изменить, поскольку мне не нравились некоторые вещи, вроде того, как он состыкуется с тазом, с шеей, и в целом топология на месте ключиц не сильно хорошая. На помощь пришла вот такая моделька, её можно бесплатно скачать на официальном сайте блендера вместе с несколькими другими.
Она неплохо оптимизирована под анимацию, так что почему бы и нет? В итоге, смешав оба этих торса, поколдовав над полигонами и петлями, получил вот такое тело, которое и стало конечным результатом.
Что касается рук и ног – тут всё намного проще, это по сути цилиндры, и здесь достаточно вот такого несложного алгоритма:
Тут ещё важно помнить следующее правило насчёт суставов, неважно, колено это, локоть или палец: та сторона сустава, которая при сгибе оказывается снаружи, должна иметь более плотную топологию, чем та, куда он сгибается. Наглядно я продемонстрирую на этой картинке:
С кистями рук и стопами уже посложнее. Особенно с кистями: эта часть постоянно на виду, взаимодействует с предметами, гнётся, ну и всё в таком духе. Оригинальная топология с игровой модели заставила почувствовать «боль моя дырка задница».
Хотите довести 3Dшника до инфаркта? Покажите ему эти ногти.
Она не преобразовывалась в нормальную сетку буквально ничем: ни автоматически, ни вручную. Петли шли в никуда, упирались в многоугольники. Нельзя было удалить или добавить что-то, не создав попутно ещё кучку треугольников.
Посидев над кистью несколько часов, и перепробовав множество вариантов, я так и не добился нужного результата, плюнул на это дело и решил: ну его нафиг создам её с нуля!
Ну, или почти с нуля. Благо, у меня уже есть несколько созданных мною же персонажей, пока не законченных, но зато с хорошей топологией рук и ног. Взял кисть у одного, и процесс пошёл как по маслу. Всё, что нужно было сделать – это подогнать по форме.
В итоге, получилась вот такая вот ручка. Изящная, как и подобает Эльзе, и в то же время с хорошей сеткой.
Аналогично и со ступнями, только тут я уже сразу пошёл по проторенной дорожке. Если помните, в оригинальном мультфильме ступни Эльзы ни разу не показывались босиком, и моделить пальцы не было необходимости. В сиквеле ситуация поменялась, и там Эльза щеголяет босыми ногами добрую половину фильма.
В принципе, другого я и не ждал.
А вот что имеем теперь:
После всех этих манипуляций, и нескольких недель затраченного времени, я получил отличный, пригодный к анимированию меш. Но, до анимирования оставалось сделать ещё очень много вещей, таких как волосы, глаза, зубы, язык. Текстуры, в конце концов, переделать. Но об этом уже в следующем посте, так как этот получился здоровенным.
Эльза
UPD:
Выложил пост о создании, будет несколько частей
Ну что, авторский контент всё ещё в почёте? Чтобы это выяснить, давайте-ка посмотрим на коротенькую и простую анимацию, посвящённую любимому персонажу, над которой я усердно трудился последнее время.
Для создания Эльзы и её анимации использовались Blender, Photoshop, Substance Painter. В качестве основы взял ещё давно гуляющую по интернету модельку из игры Kingdom Hearts 3, но от неё в итоге осталось процентов 20 самое большее. Простых путей не ищем, да и качество оставляло желать лучшего. И вообще, своей целью я изначально поставил добиться если не прямо такого же качества, как у Диснея, то хотя бы приближенного к нему.
Так что все текстуры перерисованы с нуля, в 4К разрешении, также переработан меш, и волосы созданы по иной логике. Одежда тоже вся абсолютно новая. Добавлена физика, коллизии, частицы, и много чего ещё.
На создание ушло очень много времени и сил, но это ещё не всё. Веду разработку и нового образа, из сиквела, и в скором времени он также появится.
Анимация неидеальна, знаю. Однако, как для всего второго раза, думаю пока сойдёт. Если этот пробный пост вас заинтересует, то буду выкладывать ещё. Могу запилить и большой пост о процессе создания, если, конечно, будет отклик.
3 модели в месяц
Всем привет.
Интересуюсь созданием моделей, а точнее поставки моделей на поток.
Сколько людей и на каких позиций нужно чтобы создавать 3-4 модели в месяц?
Модели как на фотографиях.
Дизайн всех моделей готов.
Нужны анимации.
Вид сверху без высокой детализации.
Наверное Лоу поле.
Время на создание модели
Всем привет. Хотелось бы узнать, сколько времени потребуется на создание таких моделей, как на фотографиях? Сколько моделей сможет сделать один 3д художник уровня мидл за месяц?Нужно будет поставить большое количество моделей на поток. Думаю, успеем ли в сроки.
Есть готовый дизайн.
Риг нужен.
Текстурки нужны.
Анимировать не нужно.
Буду благодарен за ответ ^_^