{ "author_name": "Артём Слободчиков", "author_type": "self", "tags": ["\u0433\u0440\u0430\u0444\u0438\u043a\u0430","\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430","\u043f\u0430\u0440\u0442\u043d\u0435\u0440\u0441\u043a\u0438\u0439","advertising","\u0437\u043e\u043b\u043e\u0442\u043e\u0439\u0444\u043e\u043d\u0434"], "comments": 40, "likes": 0, "favorites": 48, "is_advertisement": true, "section_name": "default", "id": "11026", "is_wide": "1" }
16 471

Ближайшее будущее игровой графики

Технологии, которые «обкатываются» прямо сейчас.

Поделиться

В избранное

В избранном

Материал подготовлен при поддержке LG Ultrawide ®

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

В этом материале мы собрали некоторые достижения в области графики, которые уже так или иначе «засветились» в игровой среде. Рассказываем, чего стоит ждать в ближайшие годы.

Графика из облака

Настоящей звездой Crackdown 3, выходящей весной 2018 года, будет Azure. Это не имя одного из персонажей игры, а «облачная» платформа Microsoft. Crackdown 3 станет первой полномасштабной демонстрацией её возможностей в играх — до этого Azure занималась расчётами для мультиплеера Titanfall.

Azure — это система из серверов, которая генерирует визуальную информацию вместо компьютера (или консоли) игрока. По информации Ars Technica, происходит это так: игра с помощью мощностей компьютера делает все вычисления физики, а затем отправляет их Azure, которая за миллисекунды всё рендерит и отправляет обратно визуальный ряд. При этом система адаптируется к нагрузке — если в игре нужно взорвать этаж небоскреба, подключится только один облачный сервер, а если всё здание, то сразу пять или шесть.

Потенциал у этой технологии огромный: Azure выводит разрушаемость в играх на новый уровень, если судить по роликам с альфа-версиями Crackdown 3. Можно сравнять с землёй целые кварталы — DICE с их Frostbite уже наверняка готовят пропорциональный ответ.

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

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

Бесконечная детализация

В 2011 году австралийская компания Euclideon, за год до этого получившая двухмиллионный грант от правительства страны, внезапно опубликовала на YouTube демонстрацию работы их движка Unlimited Detail, заявив, что он перевернёт компьютерную графику.

Если вкратце, то сейчас все 3D-объекты в видеоиграх состоят из полигонов: плоских фигур, на которые затем «натягиваются» текстуры. Чем больше полигонов, тем выше детализация моделей. Euclideon предложили альтернативу: на их движке модели формируются из частиц под названием «атомы», для каждой из которых отдельно задаются параметры вроде цвета, степени поглощения света и так далее.

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

Революция? Пока только на словах. Технологию раскритиковали: Джон Кармак заявил, что игры на ней получится делать очень не скоро, а создатель Minecraft Маркус «Notch» Перссон посвятил Unlimited Detail несколько постов, объяснив, что Euclideon обманывает людей, предлагая им старую и очень «сырую» технологию под видом новой.

Проблема Unlimited Details в том, что для хранения информации об атомах нужно очень много места: остров из ролика занял бы 170 тысяч трёхтерабайтных жёстких дисков, если на один атом приходилось бы по одному байту данных. Причём это ещё оптимистичный прогноз, поскольку, скорее всего, для атома нужно было бы 24 байта информации, то есть остров «весил» бы ещё больше. С такими объёмами данных не справится ни один ПК.

При этом сама по себе технология работает — подобный метод создания графики использовался в No Man’s Sky. И, возможно, когда-нибудь мы действительно будем играть в игры с бесконечной детализацией.

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

Зато фотограмметрия — это вполне реальная технология, которую сейчас используют всё чаще: её вход в мейнстрим начался с Vanishing of Ethan Carter, а сейчас она уже прочно укоренилась в индустрии. С помощью фотограмметрии создавались локации для Star Wars: Battlefront и Battlefront 2, а разработчики Hellblade таким образом создавали мех, одежду, грязь и другие части образа героини игры.

Vanishing of Ethan Carter

По сути, фотограмметрия работает просто: объект, который нужно перенести в игру, фотографируется со всех сторон, а затем снимки прогоняются через специальную программу (например, Agisoft). На выходе получается облако точек с информацией, или попросту меш (mesh), на основе которого можно делать графику.

Проблема у этой техники одна, но серьёзная: на съёмку нужно тратить очень много времени, даже если сканирование происходит в студии и на специальном оборудовании. Команда первого Battlefront ездила снимать объекты на реальных локациях и столкнулась с проблемами, обычно не свойственными игровой разработке. Например, как согреться, сканируя снег для игровой версии планеты Хот.

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

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

Реалистичная кожа

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

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

В индустрии эту проблему, в основном, решают совершенствованием мимики, и тут прогресс очевиден — Нейтан Дрейк во время диалоговых кат-сцен Uncharted 4 действительно напоминает живого человека. Однако какой бы ни была мимика, если лицо героя обтянуто чем-то вроде желтовато-розового пластика, он всё равно будет восприниматься как очень качественная пластиковая кукла. Одной детализации тут недостаточно: на кожу можно потратить много полигонов, но она должна и «вести себя» реалистично.

Нюансов тут очень много. Например, наш цвет лица, помимо химического состава кожи, зависит от того, насколько близко к поверхности находятся кровеносные сосуды. К тому же, свет частично проникает через кожу, влияя на её оттенок. Это симулируется с помощью технологии subsurface scattering, но она пока далека от совершенства.

А что делать с морщинами и прочими изменениями фактуры кожи, которые происходят, когда человек хмурится, надувает щёки, щурится? Тут на помощь приходит динамическая микрогеометрия кожи.

Технологию из ролика представили на конференции SIGGRAPH 2015 года. Она основана на методе фотограмметрии: «образцы» кожи были взяты у реальных людей. Разработчики вычислили, насколько изменяется внешнее состояние кожи, когда человек демонстрирует эмоции, после чего симулировали изменения структуры виртуальной кожи — одни фрагменты виртуального лица становятся более чёткими, а другие — размытыми, из-за чего кажется, что кожа растягивается.

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

Самой совершенной системой захвата лица в игровой индустрии сейчас вполне можно считать ту, которую использовали разработчики Hellblade: Senua’s Sacrifice. Игра, помимо остальных своих достоинств, была своего рода техническим демо целого комплекса программ, созданных 3Lateral и Cubic Motion вместе с Ninja Theory и Epic Games.

3Lateral отсканировали более ста выражений лица Мелины Юргенс (Melina Juergens), актрисы, сыгравшей Сенуа. В итоге они собрали её цифрового двойника, способного изображать базовые эмоции и мимические рисунки.

Cubic Motion создали собственную программу для мгновенного переноса выражения лица на модель персонажа в реальном времени, а Epic Games помогали с адаптацией Unreal Engine 4, движка игры. Выглядит это очень эффектно — ролики, где Сенуа морщится, повторяя за Мелиной, широко использовались в маркетинге игры.

Технология из Hellblade получила приз SIGGRAPH 2016 за лучшую графику в реальном времени

Лучи добра

Создание фотореалистичной сцены не ограничивается детализированными моделями — освещение не менее важно. Самая «горячая» тема здесь — трассировка лучей или рейтрейсинг (ray tracing).

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

Трассировка лучей — совсем другое дело. Проще всего разобрать это на примере одного объекта (более детальное объяснение можно найти здесь).

Итак, у нас есть 3D-объект и камера — точка зрения игрока (белая точка).

Между ними находится так называемый Image Plane — это то, что «видит» камера. Image Plane (изображение части объекта), разбит на пиксели.

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

Фиолетовым на сетке отмечен пиксель, через который проходит луч

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

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

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

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

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

И тут на сцену снова выходит Euclideon с их технологией Solid Scan, основанной на трассировке лучей. Она сделана для переноса в цифровое пространство реальных локаций и выглядит, мягко говоря, впечатляюще. Как очень продвинутая фотограмметрия.

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

Знаете о крутой технологии, которой не хватает в этом материале? Расскажите о ней в комментариях — лучше всего с картинками, гифками и видео.

Будущее уже здесь

Среди мониторов новейшая технология — формат UltraWide с разрешением QHD (3440 x 1440) и высокочёткой изогнутой матрицей IPS. В них используется «киношное» соотношение сторон 21:9 — края экрана загибаются в сторону игрока, формируя иллюзию того, что картинка немного выпуклая, что усиливает погружение.

Мониторы LG UltraWide поддерживают новые технологии от производителей видеокарт, которые устраняют падение частоты кадров в играх. Похожий формат экрана используется в Dolby Digital Atmos — одной из новых технологий для кинозалов.

Узнать больше

#графика #аналитика #партнерский #золотойфонд

{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Узнавайте первым важные новости

Подписаться
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-549065259", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&puid32=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } } ]