![Hero background image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fd96875062b3094228aa1883c9c33051df43e94d3-1920x1080.jpg&w=3840&q=100)
Как мы это сделали
В игре The Chase представлен футуристический пейзаж, по которому два героя проносятся на гравитационных мотоциклах. Их отчаянная, головокружительная поездка намекает на более глубокую предысторию конфликта и страсти.
Вот как мы воплотили его в жизнь.
![Chase — кадр с персонажем](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F390a65091efb8ce843b174e09c85f055f53377e2-810x455.jpg&w=3840&q=75)
Персонажи
Чрезвычайная детализация персонажей
Как и во всех историях с персонажами, дьявол кроется в деталях. Именно поэтому мы создали каждого персонажа с огромным количеством вершин - 40 000. Это необычайно высокое количество поликов для персонажей даже по меркам консолей текущего поколения и игр для ПК. Лицо и тело каждого персонажа имеют несколько текстур размером 2048x2048 для цвета кожи, отражения, карт нормалей и т.д.
Реалистичная кожа
Вы обратили внимание на кожу персонажей? Мы добились исключительной реалистичности, внедрив шейдеры для кожи с подповерхностным рассеиванием (SSS), которые размывают входящее освещение в пространстве экрана, этот процесс также известен как диффузия в пространстве экрана. Мы взяли многое из того, что узнали в The Butterfly Effect, и оптимизировали это для мобильных GPU.
При расчете освещения динамических объектов мы учитывали экономию энергии и эффект Френеля, а также использовали распределение Бекмана для спекулярной составляющей как для кожи, так и для металлов.
Чтобы придать блеск металлической краске ховер-байка и другим отражающим поверхностям, мы адаптировали систему кожи для использования с материалами с низким коэффициентом рассеивания.
Вместо того чтобы использовать полноэкранную постобработку для достижения блума, мы применили наш подход к диффузии в пространстве экрана и оценили блум компонентов диффузной кожи непосредственно в шейдере кожи. Это позволило нам добиться желаемого эффекта при минимальных затратах.
![](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fc64d8737c67f44baf8fb4d19529f689e696bcfaa-782x440.jpg&w=3840&q=75)
Освещение
Линейная аппроксимация освещения пространства
Практически все современные игры для консолей и ПК делают гамма-коррекцию, однако многие мобильные GPU до сих пор не поддерживают автоматическое чтение и запись данных с гамма-коррекцией (sRGB). Для эмуляции sRGB мы использовали гамму 2, что позволило нам использовать операции квадрата (умножение на себя) и квадратного корня, которые намного быстрее, чем, например, вычисление мощности 2,2. Мы корректировали только пиксели кожи и третий проход для затенения кожи.
![](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F9b91944d3f9136d7c4b6a10c08f09b2d1be6f569-1920x1200.jpg&w=3840&q=75)
Атмосферное рассеивание
Частью нашей цели в этой демонстрации было показать, насколько впечатляющими могут быть фоны на мобильных платформах. Чтобы добиться этого, мы решили использовать не традиционный туман на расстоянии, а удобную для мобильных устройств систему рассеивания атмосферы. Мы смоделировали рассеяние в воздухе, приняв во внимание угол наклона к солнцу и расстояние до объекта. В результате "Чейз" может обеспечить исключительно большую и открытую зону обзора: самый удаленный от камеры объект находится на расстоянии четырех километров.
![](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F0be5759853800481117691f35f25639547a40ae4-1920x1200.jpg&w=3840&q=75)
Новая система бликов на объективе
Использование слоев бликов позволило нам добиться различных эффектов, таких как:
- Анаморфотные явления: когда блики перемещаются по горизонтальной или вертикальной оси из-за анаморфотной формы объектива.
- Внутреннее затенение: интенсивность блика частично снижается из-за внутреннего затенения крепления головы или неравномерного отражения объектива.
- Утечка света: геометрия блика растягивается по краю экрана, чтобы имитировать очень яркий источник света за пределами кадра.
![Chase — сцена с трассой](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F6488ba90786aa63ea0960342b48627013ed628b2-810x455.jpg&w=3840&q=100)
Действие "Погони" происходит в нереальном и далеком будущем, но техники, использованные для ее создания, доступны здесь и сейчас. Если вы начинаете работать в качестве мобильного разработчика и хотите узнать, как привнести высококлассную графику в свою мобильную игру, наше практическое руководство по оптимизации для мобильных устройств - это то, с чего стоит начать.
![Chase — футуристическая среда](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F8c967d5736fadcce7a528c057c4e3f2e976a023b-810x455.jpg&w=3840&q=100)
Компания Google использовала The Chase во время презентации Nexus7 / OpenGL ES 3.0, а также на демонстрационных роликах многих ведущих участников выставки SIGGRAPH 2013.