- PVSM.RU - https://www.pvsm.ru -

Демо-проект The Blacksmith от Unity

Всем привет! Мы обещали опубликовать ассеты, уникальные инструменты и шейдеры из проекта The Blacksmith [1]. Сказано – сделано.

Демо-проект The Blacksmith от Unity - 1

Во-первых, вы можете скачать демо-проект в exe-файле. [2]

Для вашего удобства мы разделили все ассеты, инструменты и шейдеры на два пакета: The Blacksmith – Characters (Персонажи) и The Blacksmith – Environments (Окружение).

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

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

EXE-ФАЙЛ

Управлять воспроизведением ролика можно с помощью простого интерфейса:

• Для перемотки вперед/назад используйте слайдер.
• Чтобы остановить или возобновить воспроизведение ролика, нажмите кнопку Play/Pause или клацните мышкой за пределами UI.
• Чтобы осмотреться, слегка изменив угол обзора, нажмите на паузу и перемещайте курсор.
• Чтобы выключить аудио, нажмите кнопку Mute.

Вы можете выбрать одну из предустановленных настроек качества:

• Низкое – рекомендуется для слабых устройств.
• Среднее – рекомендуется для высокопроизводительных ноутбуков и настольных ПК среднего класса. На ноутбуке с процессором Quad Core i7 (2,5 ГГц) и видеокартой GeForce GT 750M ролик воспроизводится в разрешении 720p при 30fps.
• Высокое – рекомендуется для большинства настольных ПК. На компьютере с процессором Core i7 4770 и видеокартой GeForce GTX 760 ролик воспроизводится в разрешении 1080p при 30fps.
• Очень высокое – рекомендуется для ПК с видеокартой GTX 760 и выше.

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

ПАКЕТ THE BLACKSMITH – CHARACTERS

В состав этого пакета входят:

• модель кузнеца;
• модель антагониста;
• шейдер волос;
• карты морщин;
• уникальные тени персонажей;
• планарные отражения.

Скачать пакет The Blacksmith – Characters можно здесь. [3]

Кузнец и антагонист

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

Демо-проект The Blacksmith от Unity - 2

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

Демо-проект The Blacksmith от Unity - 3

Несмотря на то, что мы использовали некоторые текстуры в меньшем разрешении (2K), в пакете присутствуют оригинальные полноразмерные 4K-текстуры для обоих персонажей.
Авторы моделей и текстур для персонажей – Йонас Торнквист и Сергей Самуйлов.

Рендеринг волос

Чтобы волосы выглядели реалистично, нам нужно было характерное анизотропное освещение, поэтому для волос мы решили сделать отдельный шейдер. Кроме того, мы добавили в него компонент, рассчитывающий значение ambient occlusion отдельно для волос, и настроили многопроходный рендеринг во избежание ошибок сортировки перекрывающихся прозрачных полигонов.
Шейдер волос и сопутствующий образец сцены можно скачать на Asset Store. [4] Детальная информация о его использовании и настройке содержится в readme-файле.

Карты морщин

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

Отдельный пакет с картами морщин можно скачать на Asset Store [5], а более подробную информацию можно найти здесь. [6]

Уникальные тени персонажей

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

Пакет с тенями персонажей также можно скачать на Asset Store [7], а более подробную информацию можно найти здесь. [8]

Планарные отражения

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

ПАКЕТ THE BLACKSMITH – ENVIRONMENTS

В состав этого пакета входят:

• кузница;
• окружение;
• атмосферное рассеяние;
• инструмент PaintJob (прорисовка растительности на любой поверхности);
• система растительности;
• шейдер MaskyMix;
• модифицированный стандартный шейдер;
• tonemapping.

Для переключения между видом от первого лица и анимированной камерой нажмите клавишу C. Переключаться между режимами освещения можно с помощью клавиши V.
Скачать пакет The Blacksmith – Environments можно здесь [9] (обратите внимание: он довольно большой).

Кузница

Вот так выглядит интерьер кузницы:

Демо-проект The Blacksmith от Unity - 4
Игровой вид кузницы из пакета The Blacksmith – Environments

Окружение

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

Демо-проект The Blacksmith от Unity - 5

Разница в том, что для нашего ролика мы компоновали окружение в зависимости от расположения камер. Если вам интересно, вот так выглядит окружение в окне Scene View оригинального проекта:

Демо-проект The Blacksmith от Unity - 6
Вид сцены в окне Scene View оригинального проекта The Blacksmith

Некоторые ассеты не были использованы в новой версии окружения, но мы все равно добавили их в проект.
Автор сцены окружения и большинства ресурсов, представленных в этом пакете – Пламен Тамнев (Plamen ‘Paco’ Tamnev).

Атмосферное рассеяние

Наше уникальное решение для атмосферного рассеяния можно найти в составе этого проекта или скачать отдельным пакетом на Asset Store. [10] Более подробную информацию можно найти здесь. [11]

Инструмент PaintJob

Данный инструмент позволяет рисовать растительность не только на ландшафтах Unity, но и на любой геометрии. Благодаря ему нам удалось по максимуму использовать встроенные инструменты Unity в соответствии с нашими целями.
Вы можете извлечь его из пакета The Blacksmith – Environments и свободно использовать в ваших проектах.

Система растительности

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

Шейдер MaskyMix

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

Модифицированный стандартный шейдер

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

Tonemapping

В одной из предыдущих статей [12] мы уже рассказывали о цветокоррекции и тональной компрессии в ролике The Blacksmith. А после выпуска короткометражки наша команда разработчиков решила внедрить tonemapping в Unity.

HDR-текстуры неба в этом пакете позаимствованы с сайта NoEmotionHDRs (автор – Питер Санитра [13]) в соответствии с лицензией CC BY-ND 4.0 и использованы без каких-либо модификаций.

На этом все. Мы выполнили свое обещание и теперь отправляемся навстречу новым приключениям.
Нам будет очень интересно узнать о том, как вы используете этот демо-проект. Вы можете оставить отзыв в комментариях или написать нам на почту: demos@unity3d.com. А если у вас появятся интересные идеи или практические решения, обязательно поделитесь ими с сообществом.
До скорого!

Более подробную информацию о каждом аспекте работы над роликом The Blacksmith вы можете найти в наших предыдущих статьях:

Знакомство с командой Unity Demo Team и FAQ по проекту The Blacksmith. [14]
Тени персонажей в ролике The Blacksmith. [8]
Создание The Blacksmith: подготовка сцен, шейдинг и освещение. [12]
Карты морщин в ролике The Blacksmith. [6]
Атмосферное рассеяние в ролике The Blacksmith. [11]
Создание The Blacksmith: анимация, эффекты камеры, аудио/видео. [15]
Создание The Blacksmith: концепт и художественное оформление. [16]

Автор: Plarium

Источник [17]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/3d/106468

Ссылки в тексте:

[1] The Blacksmith: https://www.youtube.com/watch?v=pXWAsayTFTo

[2] демо-проект в exe-файле.: http://democontent.unity3d.com/BlacksmithStandalone_2015-06-24_0-00-06.05 2.7z

[3] можно здесь.: https://www.assetstore.unity3d.com/#!/content/39941

[4] Asset Store.: https://www.assetstore.unity3d.com/#!/content/39945

[5] скачать на Asset Store: https://www.assetstore.unity3d.com/#!/content/39924

[6] можно найти здесь.: http://habrahabr.ru/company/plarium/blog/269187/

[7] скачать на Asset Store: https://www.assetstore.unity3d.com/#!/content/39921

[8] найти здесь.: http://habrahabr.ru/company/plarium/blog/272673/

[9] можно здесь: https://www.assetstore.unity3d.com/#!/content/39948

[10] скачать отдельным пакетом на Asset Store.: https://www.assetstore.unity3d.com/#!/content/39939

[11] можно найти здесь.: http://habrahabr.ru/company/plarium/blog/265545/

[12] предыдущих статей: http://habrahabr.ru/company/plarium/blog/271759/

[13] Питер Санитра: http://www.psanitra.com/

[14] Знакомство с командой Unity Demo Team и FAQ по проекту The Blacksmith.: http://habrahabr.ru/company/plarium/blog/269643/

[15] Создание The Blacksmith: анимация, эффекты камеры, аудио/видео.: http://habrahabr.ru/company/plarium/blog/264291/

[16] Создание The Blacksmith: концепт и художественное оформление.: http://habrahabr.ru/company/plarium/blog/263219/

[17] Источник: http://habrahabr.ru/post/273299/