12 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Self-Illuminated Normal mapped Specular

Note. Unity 5 introduced the Standard Shader which replaces this shader.

Этот шейдер позволяет определять яркие и тёмные части объекта. Альфа-канал вторичной текстуры определит области объекта, которые “излучают” свет сами по себе, даже если на них не попадает свет от источников света. В альфа-канале чёрное — 0, белое — максимальная сила излучения света. Любые источники света в сцене будут добавлять освещение поверх свечения шейдера. Так что даже если ваш объект сам по себе не излучает свет, он всё ещё будет подсвечиваться источниками света в вашей сцене.

Базовые принципы

Рис. 1. Три стадии разработки.

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

Статья в тему:  Как выглядят стили интерфейса в дота 2

Генерируемая для этой цели текстура называется картой нормалей: она содержит в себе информацию о разнице между низкополигональной моделью и высокополигональной (принято говорить просто «разница», без упоминания между чем и чем). Главная проблема при создании карты нормалей — правильно посчитать эту разницу.

Разница хранится в трех цветовых составляющих изображения (красной, зеленой и голубой). Цвет каждого пикселя кодирует информацию о том, в какую сторону была ориентирована нормаль детальной модели по отношению к нормали вершины низкополигональной модели в данной точке развертки. Красная и зеленая компоненты определяют отклонение нормали вправо/влево и вверх/вниз соответственно. Голубая цветовая составляющая, по сути, является обычной картой рельефа (bump map).

Преобразование текстур

Перед тем, как использовать в Source, текстуры необходимо преобразовать в Valve Texture Format. Для этого Valve предоставляет инструмент VTEX. С этим инструментом можно работать через командную строку, или с помощью сторонних программ, таких как VTFEdit. VTFEdit предпочтительней, поскольку имеет удобный графический интерфейс, позволяет редактировать текстуры без перекомпиляции, поддерживает множество форматов, и не требует отдельных скриптов для создания каждой текстуры.

(Существуют VTF-плагины которые позволяют сохранять текстуры в формат прямо из Photoshop, GIMP и Paint.NET.)

Чтобы импортировать текстуру в VTFEdit, используйте File > Import или нажмите Ctrl+I . Выберите изображение и откроется окно импортирования:

Основные параметры

Следующие параметры наиболее важны. Их три:

Формат нормалей Формат цвета/сжатия, который используется для прозрачной текстуры. Формат Альфа Формат цвета/сжатия, который используется для текстуры с альфа-каналом. Тип текстуры Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов).

Статья в тему:  Когда появляются крипы в лесу дота 2

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

Настройки мип-карт

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

Следующие изображения демонстрируют различные мипмап-фильтры, доступные в VTFEdit:

Привет! Меня зовут Хантер Моретнсон. Я Character Artist с более чем десятилетним стажем работы в игровой индустрии. Я специализируюсь на создании стилизованных или хэнд-пеинт персонажей. Я самоучка, начал изучать 3D в старшей школе при помощи таких форумов как Polycount и давно забытом cgchat.com. Моим последним трудовым опытом была работа в качестве персонажного артиста в Vigil Games над проектом Darksiders. Последние два года я жил за счет магазина ассетов для Доты (Dota 2 workshop) на Steam`е. Сейчас я хочу расширить свою деятельность в качестве фрилансера над какими-нибудь крутыми стилизованными проектами.

В детстве я любил RPG типа Final Fantasy 7, Xenogears и др. Так что, когда я начал изучать 3D, то в основном делал фан-арты различных аниме/манга/RPG персонажей. Создание стилизованных персонажей одно из самых моих любимых занятий. Раньше не использовались карты нормалей или скульпт, только нарисованные от руки старые добрые диффьюз карты. Но до сих пор рисование текстур от руки – моя любимая часть в 3D. Я также много рисую и персонажей нового поколения. Хотя нарисованные от руки текстуры не так распространены сегодня, даже для стилизованных персонажей, я считаю их одной из самых важных составляющих частей в 3D. Качественные текстуры могут сделать так, чтобы плохая модель выглядела хорошо, и наоборот – хорошая модель выглядела отвратительно. Скульпт также чрезвычайно важен с точки зрения получения высококачественной карты нормалей для персонажа.

Статья в тему:  Рошан дота 2 кто это

Лично я люблю добиваться максимально возможной схожести концепта с оригинальным 2D артом того, над чем я работаю. Если что-то в 2D выглядит достаточно крутым, и вы собираетесь получить это в 3D, то зачем менять дизайн? Больше всего меня бесит, когда я вижу, как 3D артист указывает в качестве источника чей-то концепт, а затем меняет кучу деталей.

Поэтому я стараюсь быть дотошным в вопросе переноса чего-либо в 3D (пропорции, силуэт, цвета, поза и др.) Я трачу много времени, чтобы убедиться в соответствии концепту, сопоставляю формы, пропорции. Не оставляю чего-то на уровне «и так сойдет», добиваю, пока не добьюсь того, что есть в оригинале. Но даже в этом случае, оглядываясь на завершенный проект, вы видите пару ошибок или то, что могло бы быть лучше.

Проект “Баррет”: Начало

Мне реально очень нравилась оригинальная иллюстрация Тетсуи Номура (Tetsuya Nomura). Поэтому я был слегка раздосадован, когда увидел насколько Баррет был размытым на скриншотах с FF7 Remake. Поэтому, я хотел по максимуму воссоздать изначальный вид с использованием современной графики, но с добавлением некоторых дополнительных деталей в текстуре одежды и, возможно, швов и стыков.

Моделинг: ZBrush и 3ds Max

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

Статья в тему:  Смурф дота 2 что это

Когда пропорции и ощущение от модели меня устроили, я начал разбивать ее на куски в отдельные сабтулы. Для этого использовал DynaMesh и ZRemesher, так как я не делаю какой-либо ретопологии или бэйсмеша, если в этом нет необходимости. Для некоторых органических частей модели это и был мой финальный скульпт. Однако металлические детали, некоторые сложные части одежды были замоделены в 3ds Max.

Рука-пулемет, браслет и металлический пояс очень просты по сути, но их четкие формы было быстрее получить в 3ds Max. Затем я перекинул их в ZBrush для того, чтобы добавить крупные повреждения и надеть их на персонажа. Потертый вид металлов из оригинального концепта очень специфический и стилизованный. Поэтому пришлось очень постараться чтобы заскульптить те же формы в металле, а высокую детализацию я оставил для текстурирования.

Я также сделал модели других металлических деталей (пояс, кнопки, цепь) в 3Ds Max. Основа куртки тоже была сделана в Max`е , так как у нее была довольно сложная форма с однородной толщиной. Было легче сделать в начале простой бэйсмеш. Закончил я добавлением деталей и сгибов в ZBrush.

Другие органические части модели, кроме куртки, были сделаны в ZBrush. Стиль оригинального концепта очень своеобразен в некоторых аспектах, поэтому пришлось постараться чтобы «попасть» в этот стиль. Я мог и пытался поймать «ощущение» тех частей, которые не мог воспроизвести один в один. Например, анатомия рук в концепте была очень замысловатой. Тут я был свободен, чтобы получить результат, которым был бы доволен. Я пытался уловить чувство и пропорции его рук из концепта, но с сохранением более реалистичной анатомии. Однако, стремился к чему-то более похожем на вид уличного бойца, а не реалистичных рук.

Статья в тему:  Куда сохраняются демки в дота 2

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

Ботинки почти полностью были замоделены в ZBrush. Я начал их делать в 3ds Max, но затем решил, что мне было бы легче накидать их в ZBrush. У меня было больше опыта в ZBrush, чем в сабдив-моделинге. Скульпт ботинков мне показался более легким, чем полигональное моделирование. Также в ZBrush, с помощью альфа кистей, были сделаны швы.

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

Я колебался между обычным скульптом и использованием hair card. Я думал, что второй способ мог бы выглядеть лучше, но в конце обошелся обычным скульптом. Я посчитал, что возможно захочу попробовать 3D принт, и в этом случае было бы хорошо иметь уже готовые волосы. Единственный недостаток – я так и не нашел решения для верхней плоской части прически, которое бы устраивало меня на 100%. Это был сложный участок. Чтобы сделать его с острыми волосками потребовался бы высокий полигонаж, неподходящий для игрового разрешения. А если бы я оставил его совсем плоским, это выглядело бы слишком стилизованно и не сочеталось бы с остальной моделью. В конце концов я сделал небольшую bump текстуру, которая, по-моему, мнению, нормально смотрелась… но могла бы быть улучшена. С другой стороны, лицо оказалось довольно прямым, в результате близкого придерживания концепту. Я пытался интерпретировать формы в 3D настолько логично, насколько я мог. Наложение скульпта поверх концепта в Photoshop для сравнения пропорций помогла решить некоторые проблемы.

Статья в тему:  Хекс дота 2 что это

Работа в Substance Painter

Одной из моих целей в этом проекте было изучение Substance Painter. До недавнего времени я не представлял насколько распространенным было использование Substance и решил, что пора его проверить. Потребовалось немного усилий, чтобы адаптировать его к моему обычному рабочему процессу, некоторые вещи, которые были так просты и понятны в Photoshop, оказались немного запутанными в Substance. В целом, хотя смарт маски и смарт материалы в Substance, наряду со способностью работать над всеми картами одновременно были достаточно классными вещами.

Я начал с базового смарт материала, включенного в Substance (кажется, я еще загрузил смарт материал для металла с сайта Substance). Далее я провел достаточно большое редактирование смарт материалов, удалив то, что мне было не нужно и добавив еще слоев, чтобы достигнуть вида, который я хотел. Я предпочитаю подчеркивать детали от скульптинга, так что для большей части модели применено сильное затемнение в cavity и хайлайты на гранях.

Текстуры одежды

Для одежды я добавил различные текстуры ткани, чтобы улучшить материалы и получить некоторые вариации для различных участков. Одним из участков, который мог бы быть обработан лучше, были штаны. Рисунок ткани применен поверх UV, что означает, что паттерн не будет идеально совпадать с направлением одежды на штанах. Оглядываясь назад, можно сказать, что более прямая разверстка UV для ног помогла бы избежать этой проблемы. Хотя, возможно, был способ подкорректировать это и в Substance… Я попробовал различные материалы для штанов, у которых была бы меньшая направленность рисунка. В конце концов я предпочел горизонтальный паттерн, похожий на вельвет, и даже, несмотря на неточности, решил оставить его.

Статья в тему:  Дота 2 лаунж как сделать сделку

Текстура металла

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

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

Текстура кожи

Работу над текстурой кожи я начал в Substance, но я почувствовал, что у меня нет достаточно контроля над процессом (возможно из отсутствия опыта). Поэтому я быстро перешел в Photoshop, чтобы закончить работу над кожей. Для текстуры или волос я не особо много рисовал, лишь незначительное мягкое цветовая/световая обработка на основных формах лица, мускулатуры, чтобы помочь подчеркнуть их. Для кожи я больше использовал gloss/specular шейдеры, чем metal/roughness, которые использовал для остальных частей модели. По мне, при помощи этого метода было легче контролировать внешний вид, так как он дал мне две карты, а не просто roughness (так как в metalness-карте не было необходимости).

Статья в тему:  Как играть на мипо дота 2 7.00

Заключение

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

Normal Mapping

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

Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве

Дошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.

Статья в тему:  Кто контрит дк дота 2

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

Читать полностью »

Свойства нанесённых карт нормалей (Normal Mapped Properties)

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

Normal mapping симулирует небольшие детали поверхности, используя текстуру, вместо повышения полигональности для выделения деталей. Это не изменяет поверхности объекта, а использует для достижения этого эффекта специальную текстуру Normal Map (карту нормалей). В этой карте значение цвета каждой точки используется как угол нормали к поверхности. На основе чего и вычисляется освещения без использования геометрии объекта. Карта нормалей эффективно заменяет геометрию мешей при вычислении освещенности объекта.

Создание карт нормалей

You can import normal maps created outside of Unity, or you can import a regular grayscale image and convert it to a Normal Map from within Unity. (This page refers to a legacy shader which has been superseded by the Standard Shader, but you can learn more about how to use Normal Maps in the Standard Shader)

Статья в тему:  Кто контрит тимбера дота 2

Технические подробности

Одна из разновидностей карт нормалей · карта нормалей касательного пространства. Касательное, это такое пространство, которое как бы “следует” по поверхности модели. В этом пространстве ось Z всегда направлена в сторону от поверхности. Этот тип карт нормалей немного более ресурсоемок, чем другие, зависящие от “пространства” объекта, но имеет определенные преимущества:

  1. Их использование возможно и на деформируемых моделях — рельефность от карты нормалей сохраняется и на измененной поверхности.
  2. Возможно повторное использование карт нормалей как на разных областях объекта, так и на других моделях.

И самый интересный… Можно не закрывать текущую сессию, тулзы или игру.

Берём наш исходниый PSD-файл и копируем его в следующую директорию:

[DOTA2]contentdota_addonsworkshop_testbedmaterialsmodelsitemscouriersquig

Внутри вы обнаружите vmat-файл, содержащий основные параметры шейдера, tga-файлы для каждого канала шейдера и соответсвующие им txt-файлы со значениями выходных разрешений растра (Если вы уже провернули первый трюк — эти файлы не будут содержать значений).

TGA-файлы являются переименованной копией ваших текстур, а имена формируются компилятором как [session name]_[channel].tga. (Отсюда и появилась рекомендация про имя PSD-файла.)

Директория workshop_testbed является дерикторией модификации, запускаемой Item Tools. И фишка в том, что движок игры регистрирует любое изменения исходных файлов в content и автоматически вносит изменения в уже скомпилированные двоичные ресурсы, используемые игрой, по адресу game :

[DOTA2]gamedota_addonsworkshop_testbedmaterialsmodelsitemscouriersquig

Поэтому, закрываем старый PSD и продолжаем работать в новом. При этом, каждый проход скрипта будет обновлять эти самые исходные файлы, так как имена каналов в шаблоне совпадают с присвоенными компилятором игры. А это означает, что ассет будет обновляться и в самой игре в реальном времени… Ну, через пару секунд =)

Статья в тему:  Кто контрит дк дота 2

Преобразование текстур

Перед тем, как использовать в Source, текстуры необходимо преобразовать в Valve Texture Format. Для этого Valve предоставляет инструмент VTEX. С этим инструментом можно работать через командную строку, или с помощью сторонних программ, таких как VTFEdit. VTFEdit предпочтительней, поскольку имеет удобный графический интерфейс, позволяет редактировать текстуры без перекомпиляции, поддерживает множество форматов, и не требует отдельных скриптов для создания каждой текстуры.

(Существуют VTF-плагины которые позволяют сохранять текстуры в формат прямо из Photoshop, GIMP и Paint.NET.)

Чтобы импортировать текстуру в VTFEdit, используйте File > Import или нажмите Ctrl+I . Выберите изображение и откроется окно импортирования:

Основные параметры

Следующие параметры наиболее важны. Их три:

Формат нормалей Формат цвета/сжатия, который используется для прозрачной текстуры. Формат Альфа Формат цвета/сжатия, который используется для текстуры с альфа-каналом. Тип текстуры Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов).

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

Настройки мип-карт

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

Следующие изображения демонстрируют различные мипмап-фильтры, доступные в VTFEdit:

Статья в тему:  Дота 2 лаунж как сделать сделку

Привет! Меня зовут Хантер Моретнсон. Я Character Artist с более чем десятилетним стажем работы в игровой индустрии. Я специализируюсь на создании стилизованных или хэнд-пеинт персонажей. Я самоучка, начал изучать 3D в старшей школе при помощи таких форумов как Polycount и давно забытом cgchat.com. Моим последним трудовым опытом была работа в качестве персонажного артиста в Vigil Games над проектом Darksiders. Последние два года я жил за счет магазина ассетов для Доты (Dota 2 workshop) на Steam`е. Сейчас я хочу расширить свою деятельность в качестве фрилансера над какими-нибудь крутыми стилизованными проектами.

В детстве я любил RPG типа Final Fantasy 7, Xenogears и др. Так что, когда я начал изучать 3D, то в основном делал фан-арты различных аниме/манга/RPG персонажей. Создание стилизованных персонажей одно из самых моих любимых занятий. Раньше не использовались карты нормалей или скульпт, только нарисованные от руки старые добрые диффьюз карты. Но до сих пор рисование текстур от руки – моя любимая часть в 3D. Я также много рисую и персонажей нового поколения. Хотя нарисованные от руки текстуры не так распространены сегодня, даже для стилизованных персонажей, я считаю их одной из самых важных составляющих частей в 3D. Качественные текстуры могут сделать так, чтобы плохая модель выглядела хорошо, и наоборот – хорошая модель выглядела отвратительно. Скульпт также чрезвычайно важен с точки зрения получения высококачественной карты нормалей для персонажа.

Статья в тему:  Когда появляются крипы в лесу дота 2

Лично я люблю добиваться максимально возможной схожести концепта с оригинальным 2D артом того, над чем я работаю. Если что-то в 2D выглядит достаточно крутым, и вы собираетесь получить это в 3D, то зачем менять дизайн? Больше всего меня бесит, когда я вижу, как 3D артист указывает в качестве источника чей-то концепт, а затем меняет кучу деталей.

Поэтому я стараюсь быть дотошным в вопросе переноса чего-либо в 3D (пропорции, силуэт, цвета, поза и др.) Я трачу много времени, чтобы убедиться в соответствии концепту, сопоставляю формы, пропорции. Не оставляю чего-то на уровне «и так сойдет», добиваю, пока не добьюсь того, что есть в оригинале. Но даже в этом случае, оглядываясь на завершенный проект, вы видите пару ошибок или то, что могло бы быть лучше.

Проект “Баррет”: Начало

Мне реально очень нравилась оригинальная иллюстрация Тетсуи Номура (Tetsuya Nomura). Поэтому я был слегка раздосадован, когда увидел насколько Баррет был размытым на скриншотах с FF7 Remake. Поэтому, я хотел по максимуму воссоздать изначальный вид с использованием современной графики, но с добавлением некоторых дополнительных деталей в текстуре одежды и, возможно, швов и стыков.

Моделинг: ZBrush и 3ds Max

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

Статья в тему:  Хекс дота 2 что это

Когда пропорции и ощущение от модели меня устроили, я начал разбивать ее на куски в отдельные сабтулы. Для этого использовал DynaMesh и ZRemesher, так как я не делаю какой-либо ретопологии или бэйсмеша, если в этом нет необходимости. Для некоторых органических частей модели это и был мой финальный скульпт. Однако металлические детали, некоторые сложные части одежды были замоделены в 3ds Max.

Рука-пулемет, браслет и металлический пояс очень просты по сути, но их четкие формы было быстрее получить в 3ds Max. Затем я перекинул их в ZBrush для того, чтобы добавить крупные повреждения и надеть их на персонажа. Потертый вид металлов из оригинального концепта очень специфический и стилизованный. Поэтому пришлось очень постараться чтобы заскульптить те же формы в металле, а высокую детализацию я оставил для текстурирования.

Я также сделал модели других металлических деталей (пояс, кнопки, цепь) в 3Ds Max. Основа куртки тоже была сделана в Max`е , так как у нее была довольно сложная форма с однородной толщиной. Было легче сделать в начале простой бэйсмеш. Закончил я добавлением деталей и сгибов в ZBrush.

Другие органические части модели, кроме куртки, были сделаны в ZBrush. Стиль оригинального концепта очень своеобразен в некоторых аспектах, поэтому пришлось постараться чтобы «попасть» в этот стиль. Я мог и пытался поймать «ощущение» тех частей, которые не мог воспроизвести один в один. Например, анатомия рук в концепте была очень замысловатой. Тут я был свободен, чтобы получить результат, которым был бы доволен. Я пытался уловить чувство и пропорции его рук из концепта, но с сохранением более реалистичной анатомии. Однако, стремился к чему-то более похожем на вид уличного бойца, а не реалистичных рук.

Статья в тему:  Как выглядят стили интерфейса в дота 2

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

Ботинки почти полностью были замоделены в ZBrush. Я начал их делать в 3ds Max, но затем решил, что мне было бы легче накидать их в ZBrush. У меня было больше опыта в ZBrush, чем в сабдив-моделинге. Скульпт ботинков мне показался более легким, чем полигональное моделирование. Также в ZBrush, с помощью альфа кистей, были сделаны швы.

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

Я колебался между обычным скульптом и использованием hair card. Я думал, что второй способ мог бы выглядеть лучше, но в конце обошелся обычным скульптом. Я посчитал, что возможно захочу попробовать 3D принт, и в этом случае было бы хорошо иметь уже готовые волосы. Единственный недостаток – я так и не нашел решения для верхней плоской части прически, которое бы устраивало меня на 100%. Это был сложный участок. Чтобы сделать его с острыми волосками потребовался бы высокий полигонаж, неподходящий для игрового разрешения. А если бы я оставил его совсем плоским, это выглядело бы слишком стилизованно и не сочеталось бы с остальной моделью. В конце концов я сделал небольшую bump текстуру, которая, по-моему, мнению, нормально смотрелась… но могла бы быть улучшена. С другой стороны, лицо оказалось довольно прямым, в результате близкого придерживания концепту. Я пытался интерпретировать формы в 3D настолько логично, насколько я мог. Наложение скульпта поверх концепта в Photoshop для сравнения пропорций помогла решить некоторые проблемы.

Статья в тему:  Как играть на мипо дота 2 7.00

Работа в Substance Painter

Одной из моих целей в этом проекте было изучение Substance Painter. До недавнего времени я не представлял насколько распространенным было использование Substance и решил, что пора его проверить. Потребовалось немного усилий, чтобы адаптировать его к моему обычному рабочему процессу, некоторые вещи, которые были так просты и понятны в Photoshop, оказались немного запутанными в Substance. В целом, хотя смарт маски и смарт материалы в Substance, наряду со способностью работать над всеми картами одновременно были достаточно классными вещами.

Я начал с базового смарт материала, включенного в Substance (кажется, я еще загрузил смарт материал для металла с сайта Substance). Далее я провел достаточно большое редактирование смарт материалов, удалив то, что мне было не нужно и добавив еще слоев, чтобы достигнуть вида, который я хотел. Я предпочитаю подчеркивать детали от скульптинга, так что для большей части модели применено сильное затемнение в cavity и хайлайты на гранях.

Текстуры одежды

Для одежды я добавил различные текстуры ткани, чтобы улучшить материалы и получить некоторые вариации для различных участков. Одним из участков, который мог бы быть обработан лучше, были штаны. Рисунок ткани применен поверх UV, что означает, что паттерн не будет идеально совпадать с направлением одежды на штанах. Оглядываясь назад, можно сказать, что более прямая разверстка UV для ног помогла бы избежать этой проблемы. Хотя, возможно, был способ подкорректировать это и в Substance… Я попробовал различные материалы для штанов, у которых была бы меньшая направленность рисунка. В конце концов я предпочел горизонтальный паттерн, похожий на вельвет, и даже, несмотря на неточности, решил оставить его.

Статья в тему:  Смурф дота 2 что это

Текстура металла

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

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

Текстура кожи

Работу над текстурой кожи я начал в Substance, но я почувствовал, что у меня нет достаточно контроля над процессом (возможно из отсутствия опыта). Поэтому я быстро перешел в Photoshop, чтобы закончить работу над кожей. Для текстуры или волос я не особо много рисовал, лишь незначительное мягкое цветовая/световая обработка на основных формах лица, мускулатуры, чтобы помочь подчеркнуть их. Для кожи я больше использовал gloss/specular шейдеры, чем metal/roughness, которые использовал для остальных частей модели. По мне, при помощи этого метода было легче контролировать внешний вид, так как он дал мне две карты, а не просто roughness (так как в metalness-карте не было необходимости).

Статья в тему:  Куда сохраняются демки в дота 2

Заключение

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

Свойства нанесённых карт нормалей (Normal Mapped Properties)

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

Normal mapping симулирует небольшие детали поверхности, используя текстуру, вместо повышения полигональности для выделения деталей. Это не изменяет поверхности объекта, а использует для достижения этого эффекта специальную текстуру Normal Map (карту нормалей). В этой карте значение цвета каждой точки используется как угол нормали к поверхности. На основе чего и вычисляется освещения без использования геометрии объекта. Карта нормалей эффективно заменяет геометрию мешей при вычислении освещенности объекта.

Создание карт нормалей

You can import normal maps created outside of Unity, or you can import a regular grayscale image and convert it to a Normal Map from within Unity. (This page refers to a legacy shader which has been superseded by the Standard Shader, but you can learn more about how to use Normal Maps in the Standard Shader)

Статья в тему:  Рошан дота 2 кто это

Технические подробности

Одна из разновидностей карт нормалей · карта нормалей касательного пространства. Касательное, это такое пространство, которое как бы “следует” по поверхности модели. В этом пространстве ось Z всегда направлена в сторону от поверхности. Этот тип карт нормалей немного более ресурсоемок, чем другие, зависящие от “пространства” объекта, но имеет определенные преимущества:

  1. Их использование возможно и на деформируемых моделях — рельефность от карты нормалей сохраняется и на измененной поверхности.
  2. Возможно повторное использование карт нормалей как на разных областях объекта, так и на других моделях.

Normal Mapping

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

Краткий курс компьютерной графики: задание карт нормалей в касательном пространстве

Дошли руки написать очередное дополнение к моему краткому курсу компьютерной графики. Итак, тема для очередного разговора — использование карт нормалей. В чём основное отличие использования карт нормалей от затенения Фонга? Основная разница в плотности задания информации. Для затенения Фонга мы использовали нормальные вектора, заданные к каждой вершине нашей полигональной сетки, интерполируя нормали внутри треугольников. Использование же карт нормалей позволяет задавать нормали для каждой точки нашей поверхности, а не лишь изредка, что просто драматическим образом влияет на детализацию изображений.

Статья в тему:  Кто контрит тимбера дота 2

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

Читать полностью »

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector