Весь видеоигровой мир ждал этого момента несколько лет — гений всех времен и народов Хидео Кодзима наконец-то показал много относительно внятного геймплея из своего грядущего блокбастера Death Stranding с участием многих суперзвезд кинематографа. Сразу после выхода трейлера 3D-художник из Insomniac Games по имени Хавьер опубликовал в Твиттере подробный разбор с профессиональной точки зрения, а мы перевели и скомпилировали для вас этот тред в лонгрид. Приятного чтения!
[Внимание, этот разбор трейлера только для супер-фанатов геймдева] (на самом деле нет, интересно будет всем, хотя полезнее всего — игровым разработчикам)
Паттерн на макушке младенца в самом начале трейлера слишком грубый, у них кожа куда более гладкая. Скорее всего, арт-директор захотел добавить большей четкости, так как «реалистичная» выглядела бы слишком странно для обывателя.
Вот тут немного заметны артефакты (в смысле «несовершенства» — прим. ред.) теней, если вы знаете, куда приглядеться. Особенно на зрачках, около края века, должно быть больше рассеянного затенения (ambient occlusion), а этот темно-красноватый оттенок местами получается из-за того, что шейдер кожи не доведен до идеала.
Ощущение, что язык и губы «слиплись» — еще один артефакт шейдера кожи; такое происходит, когда размытие экранного пространства (screen-space blurring) цвета кожи сделано недостаточно аккуратно.
А вот этот кадр просто фантастический. Масса очень правильно наложенных пост-эффектов, а также отличная проработка затенения кожи модели Мадса. Также хочется похвалить художника, который работал над этим распахнутым воротником; не секрет, что над такими штуками в 3D работать нелегко.
У краев кадра отчетливо выделяются несколько эффектов: HDR освещение, свечение (bloom), неравномерно распределенное размытие (non-uniform blur), хроматическая аберрация (chromatic aberration) и глубина резкости (depth of field). Особенно приятно выглядит аберрация, хотя достигается эффект довольно просто — путем смещения одного из цветных каналов.
Еще кое-что на заметку: волосы Мадса двигаются независимо от головы, немного покачиваясь. В зависимости от технических ограничений, работа над этим может вызывать лютую боль с точки зрения и настройки, и анимации. Респект отделу, который этим занимался.
А теперь для самых внимательных: на подбородке можно разглядеть щетинку, скорее всего реализованную в виде множества маленьких «прямоугольников», воткнутых в поверхность (с разной степенью прозрачности — прим. ред.). Выглядит это неплохо, потому как сверху накладывается куча пост-эффектов, в других кадрах трейлера щетина будет выглядеть не так реалистично.
Две ремарки об этом кадре: СУПЕР приятное затенение кожи, особенно на большом пальце и ногте, а вот костяшки как будто отсканировали с артефактами, что удивляет, когда сам работал с этой технологией, хотя это и не бросается в глаза.
Кто-то визуализирует внутриигровые фотографии как нарисованные портреты, а кто-то фотошопит изображения реальных людей. Тут же, кажется, были использованы полноценные 3D-модели. Ради одного кадра одной картинки трудилось сразу несколько художников!
В этом кадре просто КУЧА крутых штук, если знаешь, куда смотреть. Особенно хочется отметить скотч на передней части мотоцикла. Он немного отсвечивает, как металл, и обладает крайне интересной текстурой, очень круто сделано. А вот эта болтающаяся его часть была чьей-то головной болью несколько месяцев.
Поясню: «висячая» часть скотча скорее всего отдельно запрограммирована и отсимулирована, и настройки этой симуляции скорее всего нужно менять каждый раз, когда им захочется что-то в кадре поменять. Еще один респект команде!
Вот этот сверток на багажнике выглядит так, будто сделан в программе Marvelous Designer, а затем ретопологизирован (процесс преображения мешей 3D-модели в более низком разрешении — прим. ред.). Такие вот скрученные штуки всегда доставляют проблемы, потому что там куча «залезающих» друг на друга поверхностей. Оцените работу, вложенную в это, по достоинству!
Большой камень на переднем плане — тоже чье-то авторское творение, а скорее — целый отряд над ним работал, чтобы этот мох выглядел реалистично. Вообще мох и траву такого плана очень трудно реализовать, чтобы на рендер в реальном времени не тратилось слишком много ресурсов. Вся окружающая среда выглядит просто потрясающе.
Как и прошлый камень, это — чей-то «ребеночек», над которым трудились очень долго, чтобы он так круто выглядел. Все это травяное безумие сделано вручную; автоматизацией такого приятного эффекта не добиться.
В этом кадре можно заметить много крутых технических деталей, а также примеры блестящего художественного руководства, которое закрывает глаза на некоторые шороховатости во имя искусства.
Вот эта дымчатая область — объёмный свет (volumetric light). Также можно увидеть HDR свечение и еще кучу всего, типа парящих пылинок. Все супер гладкое и высокой четкости, очевидно, что в это освещение была вложена УЙМА работы.
Предположу, что рассеянное затенение под кроватью сделано заранее, а не на экранном пространстве. Хотя если это реальное преграждение окружающего света в экранном пространстве (SSAO), вроде capsule-based AO, то выглядит фантастически.
А это моя любимая часть кадра. Тут видны встроенные блики невысокого разрешения, но это неважно, потому что в этот момент идет повествование и никто туда смотреть не будет... если вы не сумасшедший, вроде меня. Заметка: свет проходит прямо через занавески.
Этот кадр просто невероятный и я не имею ни малейшего понятия, как им это удалось. Возможно, при помощи объемного приведения лучей (raymarched volumetrics). Никогда не видел ничего подобного в игре, только за этот кадр отдел спецэффектов должен получить какую-нибудь награду!
Над этим кадром поработало как минимум человек пять, а скорее всего даже больше, причем на протяжении месяцев. И ворона, и каждое отдельное перо смоделированы вручную, а отделам эффектов и шейдеров, скорее всего, это все снилось в кошмарах. Этот кадр — произведение искусства.
Кстати, тут еще и эффект таймлапса присутствует, так что отделы программирования тоже постарались.
Еще один пример оптимизации ресурсов при помощи отвлечения внимания зрителя. Паттерны на подушке и на головном платке выглядят немного низкокачественными, но этого никто не заметит. Очень грамотная расстановка приоритетов, ведь лицевая анимация, напротив, замечательная.
А тут уже во мне поет душа художника. Просто посмотрите на это. Кто-то реально смоделировал и затекстурил эти маленькие крючочек и пуговку. Вот, взяли и заморочились. Пять с плюсом!
Обратите также внимание на то, как подушка немного сминается, когда бабуля на нее облокачивается. Отличная координация между моделером, программистами и аниматорами. Опять-таки крайне незаметная, но очень атмосферная деталь.
Тут отчетливо видно, что ребята не стали переключать модельку на cutscene-only (более качественная модель, используемая только в кат-сценах — прим. ред.). Зато оптимизировать проще. Кстати, тут еще лучше видно, что для растительности на лице используются те самые «прямоугольники». Странно, что под ними нет базового слоя волос прям на текстуре — обычно это делают для пущей густоты. Но все равно выглядит хорошо!
На этом кадре брызги кажутся полностью трехмерными, готов спорить, что сделаны они при помощи vertex cached animations (спецы, помогайте с правильным переводом! я в тупике — прим. ред.) в каком-нибудь формате типа Alembic. Скорее всего, им пришлось прогнать множество симуляций в чем-то типа Houdini, а потом все это отрендерить. Очередной пример гениального художественного руководства: использовать довольно простой черный маслянистый материал в виде жидкости, чтобы получились крутые объёмные эффекты.
Немного придирчиво, но стоит отметить, если вас интересует эта тема: на дальнем бицепсе можно увидеть небольшую потерю объёма, вызванную скорее всего крайне нетипичной позой. Можно было бы пофиксить при помощи форм смешивания (blend shapes), но скорее всего это не стоило того. Лучше похвалим художников персонажей за то, что не забыли добавить подмышечные волосы. С этой частью модели всегда тяжело работать, поэтому такой результат, особенно в такой позе, достоин уважения.
КАК МНЕ НРАВЯТСЯ ЭТИ ПЕРЧАТКИ. Очень качественно сделаны, особенно впечатляет их многослойность. Видно, что это отдельный внутриигровой айтем, поэтому он должен выглядеть идеально. Кстати, также как и браслет — это видно по количеству мелких деталей. Думаю, что даже шейдер там отдельный есть, особенно для вот этих светящихся частей. Кайф.
Приветик, ботиночки, вы клевые.
Растительность во всем трейлере обалденная, особенно на подобных планах. Тут применяется вертексная анимация (vertex animation), чтобы травинки раскачивались, как живые, что выглядит просто потрясно. Респект программистам графики и техническим художникам!
Не знаю, сколько понадобилось попыток, но кто-то реально сидел часами и редактировал вот эту область, чтобы нога корректно контактировала с этим камешком. На это ушли ЧАСЫ. Безупречная работа.
Про этот кадр мне сказать нечего. Просто очень хочется скорее в это поиграть.
Мы уже установили, что проработка окружения — на запредельном уровне, и подобные кадры — тому доказательство. Эти булыжники, скорее всего, отсканированы, а затем к ним применили слои шейдеров. Очень интересно было бы подробней узнать об их технологиях.
На этом кадре опять видны небольшие артефакты шейдеров кожи, но что более интересно — сравнительное отсутствие разброса цветов на текстуре кожи. Интересно, это у актрисы такая прекрасная кожа, или так задумано художником?
Вот тут у нас одновременно и анимированный шейдер дождя, и спецэффект брызг. Просто загляденье. У Кодзимы абсолютно сумасшедшая команда, с удовольствием послушал бы их лекции.
Сделать корректное размытие на светящихся партиклах — задача нетривиальная, ведь они часто не попадают в буфер «глубины» таким же образом, как обычные объекты. А в сочетании с реалистичной пасмурной погодой... Просто расцеловать их готов!
На этом кадре видно, что тут края подсвеченной области определяются при помощи того же буфера «глубины». Эффект простой, но супер эффективный.
Снова пример оптимизации ресурсов — на модельках NPC нет симуляции тряпичного материала в реальном времени. Правльное решение — эта технология всегда доставляет страдания программистам, а разница как правило не видна, если речь не идет о крупных планах.
Еще один грамотный прием — чуваки в масках. Выглядит круто и экономит время всей команды, потому что меньше лицевой анимации, меньше сканов, меньше затрат, а выглядит все равно круто. Всем хорошо!
А это еще один пример того, что вряд ли кто-то из игроков заметит — одна часть руки «влезает» в другую (clipping). Мне нравится, что они не заморачиваются над такими мелочами.
Это просто очень крутой кадр и потрясающее техническое достижение.
Вот этот кадр, скорее всего, доставил отделу спецэффектов самые большие проблемы. Множественные эффекты экранного пространства, вокруг этот крутой шейдер мха, да еще и партиклы везде. Столько тут всего!
Обратите внимание на этот голубой эффект на мхе: нет артефактов, буфер глубины работает корректно, а это значит, что на мох можно накладывать пост-эффекты, он может самозатеняться, к нему можно применять преграждение окружающего света в экранном пространстве и многое другое. Не знаю, как они это сделали, но это очень круто.
Похоже, им удалось заставить работать GPU партиклы на железе PS4. Еще раз: отдел спецэффектов — боженьки.
Мой мозг начинает по-тихоньку кровоточить.
Восхищен этой фантастической детализацией, особенно насечками на шляпках гвоздей.
Не буду особо выпендриваться, но мне кажется, что модели персонажей были сделаны на несколько разных этапах разработки проекта. Это ни в коем случае не минус, просто наблюдение. Игра теней на центральной фигуре мне нравится больше всего.
Еще один сложнейший кадр, учитывая сколько тут волос и контакта между моделями. Кстати, предыдущие проблемы с кожей тут незаметны. Возможно, используются модели разного уровня отполированности, и это нормально! Посмотрите, как чудесно выглядят руки. Не терпится увидеть это все в реальном времени.
Тут опять видна блестящая работа дизайнеров, причем очень эффективная. Такая плотная обертка модели невероятно сложна, интересно как они добиваются этого эффекта.
Можно играться с капсулой для младенца? Я бы хотел с ней поиграться.
На этом кадре можно еще раз полюбоваться на лицевую растительность, а также на невероятное затенение глаз. Невероятно реалистичный результат работы художников персонажей. Обратите внимание на ресницы, складку нижнего века и окклюзию белков.
Ах, эта слезинка! Она реально преломляет то, что видно за ней. Этого НЕВЕРОЯТНО трудно добиться, и очень трудно отрендерить. Мелочь, выполненная на высшем уровне.
Смотрите, Мадс Миккельсен. И все тут.
А вот и эти превосходные слезы опять... *пойду перекурю*
Видите эту немного мыльную область вокруг линз очков? Такой эффект получается, когда прозрачность, некорректно прописанная в буфере глубины, заползает в глубину резкости. Это особенность технического ограничения отсроченного рендера (deferred renderers), и с ней очень трудно бороться.
То, о чем я говорил ранее — если присмотреться, можно увидеть, что часть волос не трехмерна, а вшита в текстуру. Это не косяк, а прием, позволяющий добавить густоты. Думаю, это одна из первых моделей, отсканированных для игры.
Восхищаюсь этим кадром. Глаза невероятно выразительны, а кропотливая работа над шейдерами добавляет глубину. Еще и освещение выставлено очень хорошо.
Посмотрите на эти глаза. Просто невероятно.
Вот эти пупырышки на ее куртке — полностью трехмерные, что видно по силуэту. Как правило, они просто были бы частью текстуры, но посмотрите, какого потрясающего результата добиваются художники здесь.
Подозреваю, что для жидкости тут опять применяются Alembic cached animations. Выглядит просто офигительно. Да и шейдер кожи с этими «тесными» тенями работает отлично, что совсем непросто. Просто кайф.
Смотрите, это снова Мадс Миккельсен!
Обязательно пересмотрите вот этот момент. Когда его палец касается носа, кончик едва заметно дергается. Где-то сидит и тихонько гладит себя по голове один аниматор. О да, он это абсолютно заслуживает.
Ладно, хватит, а то работа у меня совсем встала. Death Stranding — совершенно сумасшедшая игра. Команда разработчиков невероятно крута. Надеюсь, у нас всех найдется время в нее поиграть, когда она выйдет.
Если разбор вам понравился, не забудьте подписаться на автора — @XCK3D