Проклятый лучник

Старый герой, которого однажды поразило проклятье демона. И сейчас демон прорастает прямо сквозь его тело, заставляя мертвеца пожирать все больше и больше жизней, чтоб вырасти и обрести окончательный демонический облик (а еще брейкдаун снизу).

Он тебя чует
Проклятый лучник

Отрендерил, наконец свою старую работку, которую пилил еще до того, как плотно начать учить анатомию и дизайн персонажей в целом. Ну и забросил на время обучения. А потом еще и забросил эту статью и пару лет работал художником. Так что с новыми знаниями вижу в этой работке кучу проблем и ошибок, которые частично поломали первоначальную задумку и снизили общее качество модели. Но все равно хочется всем показать, как тренировка в подаче и выставлении света может замаскировать посредственность работы и оставить больше положительных эмоций у зрителей.

Проклятый лучник

А вот тут побольше картинок и турн-тэйбл, если кто хочет рассмотреть подетальнее:

Знаю, что на сайте много интересующихся созданием компьютерной графики и геймдевом в целом. Ну, было когда-то. И чтоб этот пост кроме самопиара нес хоть какую-нибудь ценность для новичков и малышей в 3Д, распишу ход своих мыслей и этапы выполнения работ. Плюс, немного анализа собственных ошибок, чтоб вы старались их не совершать. Обидно будет натолкнуться на ошибку, когда ее исправление потребует переделать с нуля большую часть уже проделанной работы, как это было у меня. Каждый встреченный художник-профи будет тыкать в эти ошибки, вы их примете, но не пойдете исправлять из-за неадекватных времязатрат. В итоге, возненавидите свою же работу под конец, понимая, что вы продолжаете делать какую-то муть. А может даже, возненавидите и себя самого, хех.

Короче, буду долго и нудно объяснять самому себе 4 года назад, почему моделька посредственная, и откуда вообще появились ошибки. Надо добить и выкинуть эту статью, наконец, чтобы глаза не мозолила.

1 Задумка

Первым делом, если вы делаете своего персонажа, а не работаете по готовому концепту, нужна задумка. Какой-то четко сформировавшийся образ, который должен воплотиться в вашем персонаже. Конкретные качества этого образа. Считайте, что это первый этап обретения персонажем своей формы. В голове-то он абстрактный совсем.

Как это было у меня:

  • Лучник с тремя руками, одна из которых «не своя». Как в Dark Souls, когда из местной нежити прорастают наружу деревья. Только из одного персонажа так «прорастает» другой персонаж.
  • Максимально болезненный, мертвый, вид. Когда мы говорим про страшные болезни мы часто представляем себе истощение, худобу, бледность. Как демоны-нежить в Dark Souls — это, чаще всего, сушеные мумии вместо перекаченных красных демонов. Да, я фанбой Соулсов.
  • Поверх оригинальной, человеческой, головы начинает формироваться череп головы демона, откуда-то из грудной клетки, разрывая ее изнутри, растут новые, демонические части тела. Все как мы любим.

Начнем пытаться визуализировать эту задумку:

Если вы знаете, что так или иначе будете делать персонажа в 3Д и над вами нет заказчика, которому требуется подкинуть варианты на выбор, тогда не нужно делать большой подробный концепт в 2Д. Лишняя трата времени, да еще и рисовать нужно уметь. Достаточно будет за пять минут накидать несколько маленьких рисунков в тетрадке. Маленький размер рисунка (3…5 сантиметров в высоту) не позволяет зарыться в детали. Быстрыми росчерками карандаша можно будет наметить композицию, экшен-линии, их кривизну и динамику форм вашего финального результата, не затрачивая излишнее время. Общий вид, который и формирует основу образа вашего героя.

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

Важно учитывать именно особенности персонажа. Выглядит ли он достаточно сильным и быстрым, чтобы догнать и растерзать вас? Или он с виду настолько немощен и искажен, что вызывает подозрения и страх, потому что выглядит неестественно, вдруг это мистическая нежить? Массивные персонажи, очевидно не смогут быстро бегать, а значит им не нужны обтекаемые формы. При этом их массивность будет как бы говорить: "Не лезь, дебил, не доводи меня", — с таким здоровяком лучше не шутить. И в это же время, слабые маленькие персонажи (или отдельные их атрибуты), наоборот, не не вызывают чувство опасности. Они создают чувство, что не смогут нанести тебе вреда, а значит, будут выглядеть привлекательно. Мило.

Почему, к примеру, большие глаза у персонажей выглядят как милая штука, а обладатель больших глаз выглядит, зачастую, привлекательно? Потому что в жизни большие глаза (относительно тела) мы видим только у маленьких, слабых, существ. Если зверек меньше тебя, то он не представляет такой уж большой опасности. Также важно и расположение глаз. Если вы создаете хищника, но его глаза смотрят в разные стороны (как у какой-нибудь травоядной козы), то образ выйдет нелепым. Опасный хищник должен уметь смотреть вперед, в сторону своей жертвы. Это камень в огород к художникам, которые дизайнят драконов с расположением глаз как у голубей или рыб - смотрящими в разные стороны. Так нужно обдумывать каждый элемент тела по отдельности и форму тела в целом. От больших форм к меньшим, от силуэта к деталям. Как на картинке ниже - три разных образа, но при этом все из более-менее квадратных форм.

В качестве примера. И это только вид спереди. При виде сбоку, к примеру, вдавленное, более плоское лицо будет выглядеть менее опасным, чем вытянутое. Сравните мопса с волком или наклон лба у миловидной онемэ-кошкодевки из корейской ММО с орком из Вахи.
В качестве примера. И это только вид спереди. При виде сбоку, к примеру, вдавленное, более плоское лицо будет выглядеть менее опасным, чем вытянутое. Сравните мопса с волком или наклон лба у миловидной онемэ-кошкодевки из корейской ММО с орком из Вахи.

Как только нам нравятся наши маленькие нарисованные человечки, можно приступать, наконец, к активной работе.

А че там по моему трехрукому лучнику? Где же у меня на этом этапе закралась проблема?

Я банально не стал заморачиваться: подробно анализировать тот образ, который хотел получить. Все из-за того, что на руках были какие-то разрозненные древние зарисовки, где я, как раз, залез в детали, игнорируя суть образа и основные объемы тела, работу над силуэтом на этапе вот таких набросков. Отсюда пошли многие проблемы дальше по ходу дела. Банально потому, что я не обращал на них внимания. Не делайте так. Продумывайте свои образы начиная с линий и композиции. Как получите прикольный микро-рисунок - увеличивайте масштаб и начинайте продумывать, какие атрибуты вашего дизайна смогут донести нужные чувства и эмоции до зрителя.

2 Блокаут

Теперь нужно воссоздать основные объемы в 3Д. Да так, чтобы их можно было быстро и легко править и подгонять под нужную задумку.

Тут нужно просто, не вдаваясь в детали, собрать все формы, которые хоть как-то отрабатывают на силуэте.

Всё, что будет видно на силуэте. ВСЁ!

Я начал делать блокаут в Autodesk Maya. Сразу полигонами. Главным образом, потому, что это выдает достаточно чистый результат по сравнению с лепкой в ZBrush. Особенно, когда лепка эта неумелая и опыта мало. Еще это очень быстро. В итоге полный блокаут собрался примерно за 8 рабочих часов (4 дня по 2 часа после основной работы).

Где проблема?

1) Проблема такого пайплайна при дизайне персонажей:

Это довольно сильно ограничивает свободу в построении органических форм. Для чистенькой-вылизанной стилизации подойдет отлично, а для замашек на детальный фоторил это может привести к проблемам.

Поясню.

В основном, вся беда в плотности детализации. Моя задумка заключалась в том, что на персонаже порвана верхняя одежда в том месте, где из тела вырвалась третья рука. Там же кусок самого тела отпал и должны виднеться кровь, кишки и, возможно, голые сиськи. То есть, это место будет весьма рельефным и детальным.

А этого в моем блокауте нет.

Недоработка на блокауте серьезно снизила общую художественную ценность модели
Недоработка на блокауте серьезно снизила общую художественную ценность модели

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

Народная мудрость, Правила, написанные умершими от стресса нервными клетками

Как это можно было исправить? После того, как сделал блокаут тела в Maya, надо было отправить вот это тело с чистыми и ровными формами на скульпт в Zbrush, чтобы набросать там примерный размер средних форм на теле персонажа. И только потом вокруг этого собирать прочий обвес.

Работа над ошибками на следующем персонаже. Это блокаут с такими же полигонами, но тело уже подскульптчено в ZBrush, из-за чего мне было сильно легче сделать красивый обвес, который подчеркивает детали на самом теле.
Работа над ошибками на следующем персонаже. Это блокаут с такими же полигонами, но тело уже подскульптчено в ZBrush, из-за чего мне было сильно легче сделать красивый обвес, который подчеркивает детали на самом теле.

2) Проблема в основных формах

Это уже не общий, а частный случай конкретно для этой модельки. Банальное несоответствие задумке. Вызвано тем, что я не вывел для себя отличительных черт, о чем писал в первом пункте. А еще тем, что не проверял силуэт. А ведь контур персонажа - это первое что бросается нам в глаза. Он должен быть интересным.

Проверяйте силуэт как можно чаще. В той же Maya, если у вас нет в сцене источников освещения, то кнопка с "лампочкой" во вьюпорте зальет все объекты черной тенью. Вполне удобно для проверки силуэта.

Фидбэк по силуэту персонажа маленькому и неопытному себе из прошлого
Фидбэк по силуэту персонажа маленькому и неопытному себе из прошлого

3 Скульпт

После выполнения блокаута полигончиками мы получаем чистую форму, на которую весьма просто наносить отдельные акценты, даже особо не понимая анатомию, ведь вы с помощью рефов и всяких анатомических таблиц (того же "Образа человека" Готфрида Баммеса или, на крайняк, по древним заметкам Да Винчи) сможете собрать правильную базовую форму полигонами на этапе блокаута, когда это сделать легко.

На готовой болванке и детали наносить весьма просто.
На готовой болванке и детали наносить весьма просто.

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

К примеру, поправил форму черепа на более "злую", уменьшив глазницы и усилив скулы. А также сильно изменил форму рогов, придав какой-то динамики на виде сбоку и в 3/4
К примеру, поправил форму черепа на более "злую", уменьшив глазницы и усилив скулы. А также сильно изменил форму рогов, придав какой-то динамики на виде сбоку и в 3/4

А что тут пошло не так?

На этом этапе взгляд на чтение больших форм и силуэта замыливается и ты с головой погружаешься в детализацию. Забавный момент был в том, что при экспорте блокаута в Zbrush я просто забыл экспортнуть вот то "крыло", торчащее из спины, и совершенно не заметил проблем, так как на блокауте одежды здесь не было никакого отверстия под дополнительную конечность. Получилось глупо. И это тоже косяк блокаута. Вспомнил о нем только на финальном этапе скульпта, да так и забил, чтобы не переделывать.

При скульпте деталек на реалистичной органике отлично подходит метод "беспорядочная мазня и в продакшон" (если цензурно (¬‿¬ ) ). Вы примерно представляете, как должен идти "поток" органических тканей, в каком направлении. Вот и отлично. Начинайте хаотично махать стилусом туда-сюда, примерно придерживаясь этого направления, стараясь избегать прямых линий и, особенно, прямых и параллельных. Вообще, желательно избегать одинаковых повторяющихся друг за другом форм. Пускайте их веером или градиентами, где более частое расположение каких-то форм сменяется более редким. По поводу всяких линий в дизайне есть полезное выступление от Марии Панфиловой на ZBrush Summit.

В процессе вот такой мазни вы найдете всякие интересные для вас формы и уже дальше подчеркнете и выделите их какой-нибудь кисточкой в духе Dam Standart. В процессе непременно найдете места, где так и будут проситься всякие небольшие вмятинки и царапки - небольшие акцентики на подобных случайно появившихся формах. Эти акцентики потом послужат хорошую службу на текстурках, да и в целом, делают внешний вид работы более живым и привлекательным.

Ну и вообще, ткань гораздо более жесткая, чем то тесто, что получилось у меня. Если это не шелк, конечно. Но шелк тоже мнется по другому совсем.
Ну и вообще, ткань гораздо более жесткая, чем то тесто, что получилось у меня. Если это не шелк, конечно. Но шелк тоже мнется по другому совсем.

Мятый шарф на картинке сверху, кстати, тоже отсылает нас к косякам блокаута. Зачем-то решил собрать форму из единого кубика, вместо нескольких отдельных элементов, с которыми было бы сильно проще работать, и которые бы создавали гораздо более чистые и понятные формы.

Важен еще контраст форм. Если у 2D-шников он обеспечивается светлыми и темными тонами на картинках, то у 3D-шников это контраст межу выдавленными наружу и вдавленными внутрь формами. Здесь работает то же правило как в 2D. Если форма имеет с одной стороны контрастную границу, то с другой желательно получить мягкий переход. И наоборот. Просто следите за тем, что если вы резко и контрастно подчеркнули какую-нибудь складку кисточкой Dam Standart, то с другой стороны форму лучше сделать мягкой. И, опять же, если у вас все формы будут мягкие, без контрастных линий, то вся модель в целом будет выглядеть мятой и мыльной. Не интересной.

Пример для наглядности. Еще можно сравнить скульпты портретов или мускулистых тел от новичков и профи. Сразу заметите, что новички не очень любят выделать формы вот так и оставляют мягкий вариант
Пример для наглядности. Еще можно сравнить скульпты портретов или мускулистых тел от новичков и профи. Сразу заметите, что новички не очень любят выделать формы вот так и оставляют мягкий вариант

Чтобы не страдать с мятыми формами после применения той же Dam Standart в ZBrush, просто уменьшаем Focal Length, саму кисточку делаем большой, а Z Intensity уменьшаем.

Гифку нагло стырил из переписки с одной художницей, которая и поделилась советом

Лук и стрелы. Опять же ничего особенно умного. Просто вспомнил, что многие луки композитные и состоят из нескольких слоев разного дерева, и поэтому на скульпте решил просто прочертить линии вдоль всего лука. Просто чтобы этот лук не выглядел как обычная деревянная палка. Чтобы в центре были хоть какие-то детали, наскульптил сверху около-металлическую пластину, помятую будто от грубой ковки молотком. Цилиндрикам из блокаута, которые пытаются имитировать обмотку из ткани, придал более натянутую форму, а на цилиндр тетивы через Surface -> Noise в Zbrush накинул какой-то стандартный шум ткани.

Минимум усилий при сносном результате. Опять отсылает нас к полезности чистого блокаута под сабдив. Но сейчас вижу, что переборщил с деталями на обмотках. Слишком много складок, будто это не ткань, а пакет из супермаркета
Минимум усилий при сносном результате. Опять отсылает нас к полезности чистого блокаута под сабдив. Но сейчас вижу, что переборщил с деталями на обмотках. Слишком много складок, будто это не ткань, а пакет из супермаркета

4 Ретопология и лоуполи

Ничего особенного. Просто повторяем силуэт. Делаем как надо, а как не надо - не делаем. Подкину лишь пару советов, чтоб на следующих этапах не усложнять себе жизнь.

Но как потом выяснилось, кольцо полигонов по плечевому поясу вот так, относительно хорошо работает только тогда, когда ваш персонаж не махает руками активно. Если перс часто поднимает руки вверх, такая сетка будет работать плохо.
Но как потом выяснилось, кольцо полигонов по плечевому поясу вот так, относительно хорошо работает только тогда, когда ваш персонаж не махает руками активно. Если перс часто поднимает руки вверх, такая сетка будет работать плохо.

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

Еще советы по сетке можно глянуть на этом YouTube-канале:

Хорошие примеры исполнения для анализа, можно глянуть у этого господина. Обратите внимание, как множество ремней и прочих мелких штук там вшито в меш тела:

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

Для ретопологии всяких относительно простых элементов иногда легче замоделить нужную форму поверх из простых примитивов, а потом просто натянуть готовую сетку на модель. Например, для ткани можно просто сделать длинный прямой плейн, нарезать равномерно квадратные полигоны и только потом через Life Surface или через Shrink Wrap деформер спроецировать их на хайполи. Останется только с Multi-Cut Tool обрезать ненужные куски по границам, да и разгладить сетку. А еще этот длинный плейн можно предварительно развернуть по UV, тогда у он будет уже ровный на развертке. Сплошные удобства.

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

5 Волосы

Тут я просто поленился собирать это все руками и купил плагин Coiffure для Maya, который автоматизирует большую часть рутины.

В итоге все, что потребовалось делать отдельно - это собрать кривые, по которым с помощью плагина я бы выдавил плашки волос (haircards). Сами кривые собирал в XGen - встроенном плагине из Майки, который, в основном для волос и используют. Специальные иксгеновские Guides расставлял и подминал вручную, чтобы было похоже на блокаут, а потом просто сконвертировал их в кривые.

По этим кривым потом выдавливались плашки волос.
По этим кривым потом выдавливались плашки волос.

Без особых хитростей, но даже так это очень времязатратно. Сейчас бы я сделал по другому, а именно:

  1. Сделал бы несколько полигональных болванок-подложек скульптом для разного "уровня" волос. Отдельно для коротких на затылке, отдельно для тех волос, что в глубине шевелюры сидят и отдельно - для тех, что наверху.
  2. Нарисовал бы полоски "потока" волос на этих подложках банальным Paint Tool-ом в Майке, как здесь.
  3. Сконвертировал бы эти нарисованные strokes в кривые и подергал бы их для большего рандома. Все как по гайду сверху.
  4. А там, либо сразу по получившимся кривым выдавливать плашки, либо, если плотности недостаточно - перекинуть эти кривые как guides XGen-а и там настроить плотность волос, после чего переконвертировать все получившиеся волосы обратно в кривые.
  5. Выдавить по этим кривым готовые плашки волос.
  6. ???
  7. PROFIT!
Здесь сделал как раз по этому алгоритму, но вместо плашек выдавил геометрию. Этот перс тоже ждет своей очереди быть нормально отрендеренным и наконец попасть в портфель =) UPD Уже не ждет, я его забросил, хых.
Здесь сделал как раз по этому алгоритму, но вместо плашек выдавил геометрию. Этот перс тоже ждет своей очереди быть нормально отрендеренным и наконец попасть в портфель =) UPD Уже не ждет, я его забросил, хых.

Тоже интересный момент, который освещал Adam Skutt. При выдавливании плашки по кривым, полигона равномерно распределяются по всей длине кривой, делая некоторые места угловатыми и некрасивыми. Эту проблему можно решить, если добавить полигонов через сабдив командой Smooth в Майке, а потом также автоматически уменьшить количество полигонов командой Reduse. Тогда софт сам пересчитает потребную плотность сетки по кривизне форм. Изгибы станут менее угловатыми.

Ну и не забываем про трансфер нормалей вершин, чтобы волосы не выглядели как набор отдельных полосок при освещении, а повторяли форму головы. Если волосы длинные или выступают далеко за пределы головы, то можно быстро сделать вспомогательную геометрию из какой-нибудь сферы, откуда брать информацию по нормалям.

После сборки плашек волос и настройки UV для них на заранее подготовленные текстуры (что у меня автоматом делалось с Coiffure-плагином) прыгаем в наш рендер-движок (в моем случае Marmoset Toolbag 3), открываем гайд о том, как там настроить шейдер волос и любуемся результатом.

Из-за того, что guides, по которым выдавливались волосы делал долго тыкаясь вручную, можно заметить места, где "не доглядел" и некоторые пряди волос получились преступно прямыми, без изгибов. Опять взгляд замылился

6 Текстуры

Это вообще была первая моя работа с текстурами, но результатами я более-менее доволен.

Даже особо не знаю, что мог бы посоветовать. Лично я просто пошел шерстить YouTube на предмет таймлапсов и брейкдаунов того, как текстурят персонажей. В идеале - похожих на моего. И нашел! Собственно, сами текстурки пилил, стараясь повторить порядок действий за автором.

Вот пример, по которому я и собирал свои текстурки

Часто приходилось рисовать маски слоев руками, без генераторов (или в дополнение к ним) тем же методом "беспорядочной мазни" как на скульпте, внося дополнительный "шум" или акценты. Тем более, когда детали с предыдущей "беспорядочной мазни" на хайполи, которые мы перенесли на карту нормалей, будут подсказывать, куда уводить цвет и где вообще водить кисточкой.

Еще для создания текстур удобно сдублировать отдельные элементы модели и раскидывать их по сторонам, чтобы было удобнее красить конкретные объекты, если они там стыкуются между собой и тяжело подлезть к ним на собранной модели.

Не пытайтесь обойтись парой слоев. Иначе не получите никаких цветовых вариаций и прочих вкусностей, а моделька будет выглядеть пластиковой и не интересной.

Для одежды и обвеса использовал стандартные материалы из библиотеки Substance Painter как подложку, а дальше уже поверх накидывал дополнительные слои и рисовался вручную.

Градиенты. Градиенты должны быть повсюду. На каждом куске тела, на каждом элементе одежды. Большие переходы от светлого цвета к темному на всю длину предмета или маленькие градиентики перед стыками двух разных объектов. Градиенты, которые затеняют или высветляют области по бокам от рук и ног для имитации Fresnel-эффекта. Эти градиенты могут быть едва заметными, но с ними картинка станет гораздо сочнее, чем без них. К тому же, без них ваша работа будет выглядеть так, будто ее просто залили цветом, а не красили.

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

Для наглядности, набросал на скорую руку
Для наглядности, набросал на скорую руку

Чаcть градиентов можно сделать через запекаемые с хайполи карты, как АО или Curvature, например. Часть через процедурные генераторы, которые имитируют свет или просто заливают модель сверху-вниз. Часть можно нарисовать вручную какую-нибудь полоску, а потом применить к слою фильтр Bevel и дополнительно через Paint сверху подкрасить ненужное. А в свежих версиях даже появилась отдельная кисточка Blur, с которой будет удобнее растушевывать цвета. Хоть она и кривоватая, может добавить грязи.

Это осознание пришло ко мне сильно потом. На модельке лучника градиентов особо не видно, только совсем большие и базовые, как на голенях или не сильно заметный в предплечьях.

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

Только на этапе финального рендера заметил, что разбивка по тонам в цветах одежды на моем персонаже весьма посредственная. Это всегда легко проверяется, если посмотреть на картинку в черно-белом формате. В Windows 10 есть удобный хоткей для этого: Ctrl+Win+C. С ним очень удобно, не нужно постоянно снимать скриншоты и бегать-тыкать кнопки в Фотошопе. Нажал и у тебя весь экран теперь черно белый.

С текстурами на луке вышло вообще просто. Накидал стандартных смарт материалов, а потом поверх просто немного темной кистью поелозил, чтобы добавить замасленной грязи/пыли/сажи и прочих градиентов с color variations. Для перьев просто нашел случайную картинку в сети по запросу в духе "Feather Alpha Texture" и использовал ее в канал прозрачности, а поверх раскрасил вручную темно-серыми, бирюзовыми и бежевыми цветами. В целом, если выглядит красиво и по качеству не отходит от остальных объектов, то и усложнять не стоит.

Два стандартных смарт материала дерева (лакированное и "старое"), два стандартных смарт-материала металла (сталь и бронза), один стандартный смарт материал ткани для Бинтов и тетивы. Полирнуть сверху парой мазков "пыльной" кисти и готово!
Два стандартных смарт материала дерева (лакированное и "старое"), два стандартных смарт-материала металла (сталь и бронза), один стандартный смарт материал ткани для Бинтов и тетивы. Полирнуть сверху парой мазков "пыльной" кисти и готово!

Кстати, на луке использована прямоугольная текстура в пропорциях 1 к 2. Потому как объект длинный. Для этого лучше упаковывать UV-шеллы только в необходимую половину квадрата (в зависимости от пропорций вашей текстурки, в моем случае - это вертикальный прямоугольник). Если требуется подгонять тексель (плотность пикселей текстуры на объекте), используйте расчет текселя по количеству пикселей длинной стороны текстуры. Потом просто можно растянуть UV-шеллы обратно на весь квадрат U1V1.

7 Риггинг и скиннинг

Это вообще отдельная дисциплина специальной олимпиады, по которой люди отдельно годами учатся. Но кривой-косой риг, чтобы поставить персонажа в позу, и приемлемый скин сможет сделать каждый после нескольких (десятков) просмотренных туторов.

Создание рига вашего перса, в целом, можно разделить на 3 этапа:

  1. Создание анимационного скелета для вашего персонажа.
  2. Привязка геометрии вашего персонажа к созданному скелету.
  3. Создание анимационных контролов, логики их работы и взаимодействия как между собой, так с анимационным скелетом (который, в свою очередь, двигает уже саму модель). Этот этап нужен для облегчения работы с анимацией. Чтобы не двигать каждый сустав персонажа отдельно.

Если вам не сильно хочется страдать с теми этапами, которые идут после создания модели, а риг вам нужен только чтобы модель в позу поставить - поищите в интернете самые популярные авториги для вашего софта. В Мае это Advanced Skeleton. Гайд с разбором по нему вот тут. Можно быстро накинуть риг, поставить в позу, а косяки потом руками доправить.

Если хотите, чтобы ваш персонаж в итоге шевелился, то часть работы (а то и всю) вместо авторига придется возложить на свои плечи.

Я в своей работе выбрал первые два пункта (скелет и скин) сделать вручную, а анимационную логику отдал на откуп Advanced Skeleton-у.

Кости/джоинты/суставы анимационного скелета - это логические объекты, которые крутятся, двигаются или скейлятся, и, одновременно, тянут все остальные кости ниже по иерархии за собой (поворачивая сустав плеча вы тяните за собой всю остальную руку). А вот скин приклеивает вертексы модели к костям. И мы можем красить этот скин, распределяя веса, с которыми отдельные кости влияют на конкретный вертекс. Если кость 1 имеет вес 1 для вертекса Х, то он будет полностью следовать за ней, как приклеенный. Если две разные кости имеют вес 0,5 на тот же самый вертекс, то он всегда будет воспринимать только 0,5 трансформов от обеих костей. То есть, находиться где-то посередине.

Тут есть прикол - суммарный вес всегда равен 1. Когда при покрасе вы добавляете вес на какую-то из костей, этот вес пропорционально отнимается от всех прочих косточек, влияющих на вертекс. Но если вы решите не добавить вес определенной кости, а наоборот - убавить его - программа может не понять, куда перераспределять высвобожденные веса. Это может все вам испортить. Например, вы красили фаланги пальцев, а веса перекинулись так, что пальцем теперь управляет не косточки пальцев, а жопа спина. Поэтому веса лучше только добавлять. Просто при необходимости переключать саму косточку, куда этот вес добавлять.

Ну, теперь к полезному:

Как располагать кости внутри тела модельки?

Длинная лекция с примером. Короткий гайд для общего ознакомления. Еще более короткое уточнение/дополнение к тому гайду, касающихся размещения косточек бедра и рутовой кости таза. Матчасть о том, почему кисти рук должны быть прямыми. Часть тезисов из разных лекций будет противоречить друг другу, но это потому что многие подходы ситуативны для разных задач.

Вот такая муть у меня вышла. Не делайте так. Лучше скачайте дефолтный манекен из Unreal Engine и собирайте свои косточки по его образу и подобию. С его иерархией и ориентацией костей. А дополнительные косточки уже можно делать поверх.
Вот такая муть у меня вышла. Не делайте так. Лучше скачайте дефолтный манекен из Unreal Engine и собирайте свои косточки по его образу и подобию. С его иерархией и ориентацией костей. А дополнительные косточки уже можно делать поверх.

Как красить веса на модели?

Тут я горячо порекомендую курс от CGMA - Rigging for Games (есть на Рутрекере по такому же названию). Там, в главах по скиннингу как раз описывается довольно простой способ все эти веса настроить. А также прикладываются бесплатные плагины и скрипты, которые значительно облегчат вам работу. Ну и еще сам риг расскажут как делать со всей его логикой в минимально достаточном виде. Полезная штука. Нравится.

Также полезным будет посмотреть вот этот гайд, и еще вот здесь, чтобы подчерпнуть другие подходы и инструменты для покраски весов. Ситуативно может пригодиться.

Как собирать риг для анимации?

Мало кто делает свои риги ручками с нуля. Не только лишь все. Часто используют именно авториг (тот же несчастный Advanced Skeleton, о котором я упоминал выше). Тем более, вам, как моделлеру, это не особо пригодится на работе, в отличие от умений посадить модель на аним. скелет.

Как гайд для ручной работы (если вдруг у вас ну совсем уникальный перс, где авториг не справится, а анимации нужны), или наоборот, хочется своими руками сделать все и познать техническую базу этого ремесла на будущее, можно использовать все тот же CGMA - Rigging for Games. Там вас познакомят с логикой работы прямой и инверсной кинематики, а также с принципами работы нод в Мая, что, в целом, потом позволит вам собрать или модифицировать что-то самостоятельно. Тем более, как начнете понимать за логику работы этого рига, можно будет накачать бесплатных чужих ригов из общего доступа и препарировать уже их. Смотреть, как взрослые профессиональные дяди специально для аниматоров делают.

Атрибут Global в Advanced Skeleton позволяет отделить вращения дочерней части тела от вращений родительской. Удобно для головы, плеч и бедер.

На тот момент, когда я пытался собрать риг этого чертилы, я мало что смыслил во всех тех правилах, что указал выше. При сборке анимационного рига накидывал ненужные команды авторигу (IK_Spline-системы для тряпок, например), отчего тот собирал много лишних систем, и это все, в итоге, обеспечило мне трудно выносимые 10...20 ФПС во вьюпорте. Так что, рыбят, лучше погрузиться в тему поглубже, чтобы потом меньше страдать. Или вообще обходить этот риг стороной и ставить персонажей в позу, дергая полигоны как цифровые скульпторы, а от анимаций отказаться.

8 Анимация

- это долго и дорого. Но красиво.

Для нас, как моделлеров, стоит принять за правило, что лучшая анимация - это анимация, которой нет. Потому что та, которую сделаете вы, будет кривая и убогая. И только испортит вам работу. И одновременно с этим, любая моделька, которая шевелится в кадре, лучше статичной.

Но так как навыков анимации не было, я старался больше крутить камеры, а не самого персонажа. Чтобы как в типичном аниме, персонаж просто пафосно стоял, и у него тряпки с волосами на ветру болтались. А вся анимация была больше про то, чтоб персонаж при этом не выглядел каменным и ну слишком статичным.

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

Значительная часть вкусности в анимации - это позы персонажа. А раз мы говорим про минимум анимаций, то у нас эти позы статичные. Так что, думаю, про них тоже нужно поговорить.

Внимание! Кх-кхм. Контрапост. Спасибо за внимание.

Ха-ха, пиписьки! Ладно. Помимо контрапоста желательно продумать положение экшен линий. Часть из них будет формировать сам контрапост (силу которого мы можем регулировать), часть вольны определить мы сами. Тут как раз помогут наши зарисовочки из первого пункта с задумкой. Ну или мы также в тетрадке можем нарисовать мини-фигурки нашего персонажа в разных позах и посмотреть, какая ощущается наиболее сочной и наиболее передающей нужный нам характер.

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

Возвращаемся обратно.

Сама анимация вышла довольно простой. Я сделал три позы под три камеры. И потом просто одну позу в процессе пролета камеры со временем перемещал в другую. Иногда с захлестом, иногда просто медленно доводил до следующего ключа. Иногда с подготовкой, когда персонаж, чтобы принять одну позу, сначала отклоняется немного в другую сторону, чтобы побольше импульса себе придать для движения. Ну и после этого, по мелочи, сводил движения рук, головы и прочих висюлек, чтобы они не клипались сквозь друг друга.

Чтобы уменьшить себе объем работ, какая-либо анимация правилась только в пространстве камеры. А что там происходит за ее рамками - плевать.

Вот так выглядела анимация и работа камер в итоге. Перед добавлением "ветра" и прочих свистелок-перделок

Как сами позы и движение персонажа между ними начали мне нравиться, пришло время добавления сочности происходящему. Я запек всю анимацию на кости и удалил все прочие элементы рига, потому что задолбался мучаться с низкими FPS в работе. И дальше на косточки ткани, ремней, волос и прочих висюлек применил скрипт Overlapper. Он записывает фейковую инерцию с затухающей синусоидой, давая фэйковую симуляцию физики. А с галочкой "Wind" он еще и подмешивает шум, имитируя ветер. Осталось только почистить анимацию от пересечений тканей с телом, и получится вполне приемлемо.

Для чего-то большего нужны уже фундаментальные знания, которые в среде аниматоров добываются уже платно на курсах. У них вообще как-то все платно. Не нравится.

Как оно выглядит в финальной сцене. Летающие снежинки - это просто двигающийся большой статик-меш. От такой костыль. Также можете заметить меши, по которым будет двигаться текстура дыма, и оранжевые плашки для огня.

9 Рендер

- это итеративная задача.

Хорошим рендером можно преобразить средненькую модель. Плохим - испортить топовую работу. А к этому этапу вы свою работу возненавидите, ведь накопленные ошибки и недостатки будут все сильнее мозолить глаза. С уставшей головой выложите плохо отрендеренную работу, а потом еще и дизмораль словите, когда непривлекательный рендер никого не привлечет.

Изначально для хорошего освещения идеально оставить абсолютно черную сцену без единого источника света. Потом добавить единственную лампочку. И настроить ее так, чтобы она выдавала максимально сочный рисунок теней. Для этого ее можно сделать очень яркой, чтобы контраст света и тени был максимально читаемым. Этот кейлайт должен подчеркивать все объемы вашей модели, подчеркивая ее самые сочные части. Как получится что-то стоящее, можно будет притушить эту лампочку и начинать добавлять остальные источники света, которые будут дополнительно подсвечивать нужные акценты. Или разделять части модели на планы, чтобы лучше читалось, какая часть ближе к камере, а какая - дальше.

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

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

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

Тут я осознал, что сцена не создает нужного эффекта. Она пустая и скучная. И после этого, как раз, решил добавлять падающий снег дым с огнем, а также какую-то паралакс-плашку для заднего плана, чтобы мы могли видеть горизонт в сцене.

В моем случае, попросили добавить оранжевый свет сзади-сбоку, чтобы оно все сине-зеленым не было и чтобы ярче отбить персонажа от фона.

После первых таких попыток что-то поправить, я пошел переделывать свет полностью с нуля. И начал крутить свет в сторону классической голливудской схемы с синим и оранжевым светом с разных сторон. Но с более глубокими и темными тенями. Получился более драматичный свет, что на мой вкус, сильно лучше первых попыток в сине-сумеречной гамме.

Как и со слоями при покраске текстур, не стесняйтесь ставить столько источников света, сколько требуется для красивого результата. Нууу, если это не игровой проект, конечно, а просто для красивой картинки в портфолио. Чтобы уже в игровых движках делать красивости, но при этом не умереть от количества источников света в сцене, там придется колдовать с шейдерами.

Спустя 9 итераций, получилось вот это:

Он тебя чует

Рендер в Marmoset Toolbag 3.08. Дым сделан просто через бесплатный скачиваемый шейдер "Panner". Для этого я нарисовал текстуру дыма в ФШ с альфа-каналом, но так, чтобы она была тайловая (не имела стыка) в горизонтальной плоскости. Огонь - это Flipbook-шейдер со скачанной из интернета флипбук-текстурой. Ничего особенного. Правда, пришлось анимировать яркость источников света в Мармосете в такт текстуре пламени. И еще разделить разные плашки на отдельные материалы, чтобы они слишком одинаково не крутили анимацию огня.

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

Наконец-то выкинул этот черновик. Не зря же начинал когда-то этот брэйкдаун писать 2 года назад на модельку, которую начинал делать 4 года назад. С ума сойти. Лучше бы в игрушки играл или траву трогал.

Взрослые дяди-3Д-шники вряд ли тут много чего нового подчерпнут, а за дизайн, и вовсе отпинать могут, но, надеюсь, малышам будет полезно, а мимокрокодилам - интересно, сколько работы в одну модельку одного персонажа вкладывается на производстве видеоигр.

Если у кого будут замечания - не стесняйтесь, намачивайте нужные тряпки и смело кидайте. Мне самому интересно, насколько мои мысли касательно задумок и концептов правильны и полезны остальным. Так что и тут был бы рад фидбэку.

9999
8 комментариев

ахуеть круто
только почему он как после ванны чистый и душистый?
ноги так ваще белые отмытые
наверное стоило добавить гнойники и грязь

2
Ответить

Очень круто!

1
Ответить

Добавил в закладки, позже почитаю. Крут ты чел.

Ответить

Красиво
Я бы за такого поиграл или почитал бы фентези

Ответить

Одна из лучших статей за последнее время на Пикабу

Ответить

Отличная работа, спасибо за пост в котором расписал весь свой пайплайн. Полезно!

Ответить

Ну просто ебейшая работа! Каеф

Ответить