Pull to refresh
0
Plarium
Разработчик мобильных и браузерных игр

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

Reading time 7 min
Views 20K
Original author: Silvia Rasheva
Всем привет! Мы обещали опубликовать ассеты, уникальные инструменты и шейдеры из проекта The Blacksmith. Сказано – сделано.




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

Для вашего удобства мы разделили все ассеты, инструменты и шейдеры на два пакета: 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 можно здесь.

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

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



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



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

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

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

Карты морщин

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

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

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

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

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

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

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

ПАКЕТ THE BLACKSMITH – ENVIRONMENTS

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

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

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

Кузница

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


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

Окружение

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



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


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

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

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

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

Инструмент PaintJob

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

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

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

Шейдер MaskyMix

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

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

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

Tonemapping

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

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

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

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

Знакомство с командой Unity Demo Team и FAQ по проекту The Blacksmith.
Тени персонажей в ролике The Blacksmith.
Создание The Blacksmith: подготовка сцен, шейдинг и освещение.
Карты морщин в ролике The Blacksmith.
Атмосферное рассеяние в ролике The Blacksmith.
Создание The Blacksmith: анимация, эффекты камеры, аудио/видео.
Создание The Blacksmith: концепт и художественное оформление.
Tags:
Hubs:
+10
Comments 8
Comments Comments 8

Articles

Information

Website
company.plarium.com
Registered
Founded
2009
Employees
1,001–5,000 employees
Location
Израиль