Какие технологии внутри The Last Of Us? Разбор

Сегодня мы расскажем, какие технологии скрываются внутри игры The Last Of Us и почему она считается одной из лучших в мире. Дело не только в сюжете…
aka_opex 16 января 2023 в 03:28

Наверное, многие из вас слышали про такую игру как The Last Of Us. Это одна из самых высокооцененных игр в мире, она считается легендарной! Куча переизданий, уже две части.  Легенда. А сейчас выходит сериал от HBO по мотивам игры. И считается, что успех этого проекта Naughty Dog основан на пронзительном сюжете. Что верно… Но только ли на нем?

Но на самом деле, как и в любой хорошей игре, тут важен не столько сюжет, с которым тут все более чем в порядке, сколько технологии, которые лежали в основе. Например, для The Last Of Us разработчики переизобрели систему зрения у NPC! Сегодня мы узнаем причём тут грибы и муравьи, почему ИИ важен для погружения в игру, зачем в студию приперли лошадь, а также как на стыке технологий и повествования Naughty Dog сделали одну из лучших игр века!

Глава 1. Нил Дракманн и Naughty Dog

Давайте посмотрим на небольшую предысторию, как вообще создавалась концепция The Last Of Us.

Молодой студент по имени Нил Дракманн учился в Университете Карнеги — Меллона и изучал криминологию. В универе часто проводили семинары, на которых студентам предлагалось заниматься креативом. На один из таких брейнштормов университет пригласил легендарного режиссёра зомби-хорроров — Джорджа Ромеро.

Ромеро предложил ученикам придумать концепцию игры в жанре зомби-постапокалипсис. Почему игру, а не фильм, история умалчивает.

У Дракманна родился интересный концепт. Пожилой полицейский, у которого проблемы с сердцем, помогал девочке выжить в мире полном зомби. Ромеро не оценил предложенную идею, но Дракманн загорелся и мысль про игру, где главными персонажами были взрослый мужчина и девочка не покидали его. Прошло несколько лет, Нил бросил свою специальность и решил стать геймдизайнером, что в итоге привело его на работу в студию Naughty Dog.

А у компании дела шли прекрасно. Игра Uncharted, по сути очередной Индиана Джонс для PlayStation, просто разрывал чарты продаж, на тот момент вышло уже две части. Naughty Dog вполне заслуженно называли одной из самых сильных игровых студий в мире. Дракманн пришёл с концепцией The Last of Us и так впечатлил боссов, что ему дали зелёный свет на игру.

Глава 2. Зомби-муравьи

Замысел был стар как жизнь, рассказать историю “отцов и детей” и их путешествия в постапокалиптическом мире. Считается, что ключевая составляющая игры — именно сюжет, который рассказывает нам о приключении Элли и Джоэла, но на самом деле в игре есть много скрытых техно-механик, которые оживляли мир игры.

Но об этом чуть позже. Дракманн не хотел “типичного” зомби апокалипсиса с “живыми” мертвецами. Команда сценаристов искала необычный концепт эпидемии, который бы воспринимался игроками свежо и не дал бы возможности предугадать события в игре. Более того, зараза должна была выглядеть реалистично, для того чтобы игроки могли поверить в такое развитие событий.

Придумать новую эпидемию помогли грибы…

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

Жутко? А теперь представьте, что кордицепс мутировал, и теперь может делать тоже самое, но с людьми? Тут разрабы попали в самую точку.

Всего в игре было четыре вида заражённых.

Первая стадия — Бегун. Зомби почти не отличается от человека, гиперагрессивный.

Вторая стадия — Сталкер. Жертва начинает покрываться грибными наростами и уже источает ядовитые споры.

Третья стадия — Щелкун. Так как инфекция распространяется в черепной коробке, со временем носитель теряет способность видеть из за наростов на голове. Поэтому у врага появляется примитивная эхолокация. Как ясно из названия противника, он щёлкает, чтобы понять, что находится вокруг него. И когда вы слышите этот звук, значит дела ваши плохи ребята.

Четвертая и последняя стадия — Топляк. Уже практически не похожий на человека, сгусток наростов. Обладает недюжинной силой.

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

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

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

А сейчас давайте попробуем вывести формулу “идеальной постапокалиптической игры”.

У нас есть:

  • Сильный сценарий, построенный на концепции “отцов и детей”
  • Путешествие как в фильме “Дорога”,
  • Необычная пандемия, которая выглядит очень свежо с жуткими монстрами.

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

Глава 3. Технологии и геймплей

Naughty Dog использует для своих игр свой внутренний движок — Naughty Dog Game Engine. У него есть две особенности, которые выделяют его.

Первая особенность: продвинутая система ИИ у NPC.

Тут нужно немного опять поговорить про сеттинг. Джоэл и Элли сражаются с обычными людьми. Дракманн не хотел, чтобы убийства в игре воспринимались игроком как что-то обыденное, а главные герои как кровожадные убийцы, для которых нету разницы сколько и как убить. К тому же, в игре должно было быть очень много стелса, это должно было нагнетать атмосферу и чтобы игрок постоянно чувствовал себя в опасности. Если враги в игре будут глупы, это нарушит эффект присутствия. Чтобы избежать такого развития событий, разработчики максимально прокачали мозги местных NPC.

Каким образом выражалась эта прокачка?

Например, конус зрения. В то время очень немногие разработчики заморачивались над этим и по сути, враги в играх видели только то, что находится перед ними. Практически отсутствовало периферийное зрение.

Naughty Dog добавили периферийное зрение врагам. Если совсем упрощать, то у NPC было сразу несколько конусов зрения. Зелёный конус смотрел прямо и им вас замечали мгновенно, а красные конусы помогали смотреть в разные стороны и замечали вас не сразу, а через какое-то время. Даже был специальный конус, который смотрел за спину и если вы слишком долго простоите за спиной врага, вас тоже заметят.

Прятки стали очень разнообразными, а атмосфера не рушилась, так как теперь нельзя было прятаться в сантиметре от врага.

Кстати, была небольшая проблема с напарниками. Во время стелса все выглядело натуралистично, враги видели вас с разных сторон и не так легко было спрятаться от врага. Но вот ваши напарники, обладали иммунитетом к “зрению” противника. Они могли пробежать прямо у них под носом незамеченными. Это связано с ограничением железа. Просто не хватало мощностей чтобы просчитывать каждый ход вашего товарища. Этот момент существенно поправили в ремейке, о котором мы поговорим чуть позже.

Но натуралистичного зрения было недостаточно для создания реализма. Разрабы хотели, чтобы враги вели себя непредсказуемо и если дело доходило до открытого столкновения, могли обходить вас с фланга, прятаться и всячески удивлять игрока.

За поведение врагов отвечало две системы. Первая Post Selector, она подсказывала NPC 20-30 самых эффективных ближайших укрытий. Какие-то были заняты, за какими-то можно было спрятаться.

А вот вторая система Post Ranker помогала выбрать это самое укрытие. Для этого каждой точки присваивался ранг, где была информация о том, легко ли тут попасть в NPC, будет ли удобно отстреливаться из этой точки, сможет ли игрок докинуть туда гранату. То есть полная картина окружающей обстановки.

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

Вторая особенность движка Naughty Dog Game Engine, это работа с Motion Capture и анимациями.

Да, сейчас никого не удивишь технологией Motion Capture, для игр это используется повсеместно. Но Naughty Dog были одни из первых, кто использовал эту технологию для своих игр. Как она работает? Если вкратце, то в специальном помещении к актёрам подключаются датчики, которые считывают каждое их движение и мимику в том числе. Потом футадж переносится в виртуальную среду и докручивается разработчиками до финального продукта. Эта технология конечно используется и в кино для создания 3D-тварин. Достаточно вспомнить Энди Серкиса, который воплотил в жизнь образ Горлума.

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

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

Во время геймплея нужно было вручную прописывать анимации для персонажей в игре. И тут, как говорится, вопрос только бюджета и упорства разработчиков. Naughty Dog постарались и подготовили очень много анимаций для разных действий. Создание анимаций, это тема на которую можно потратить целый ролик, но если вкратце, то берётся “скелет” персонажа в игре. У него есть суставы и набор заданных характеристик. И потом вручную модельку крутят и вертят, запоминая результат. Это похоже на то, как создают мульты из пластилина: аниматор вручную делает каждое движение. Разные удары и добивания. Каждое оружие имеет свою отдачу и меняет поведение персонажа. Точное количество заготовок найти мы не смогли, но даже чисто визуально их много.

Но зачем это было нужно? Чтобы персонализировать каждую стычку с врагом, чтобы глаз не привыкал и постоянно что-то новое мелькало на экране. Тут конечно каждый судит сам, но если спросите меня, то у команды получилось.

А теперь, давайте вернёмся к нашей формуле “идеальной постапокалиптической игры”. Теперь у нас есть полный комплект. Страшная пандемия, интересные главные персонажи, технологии и геймплей, которые не дают вам заскучать. Но осталась ещё одна часть — сюжетное наполнение. Но, я повторюсь, мы не про это. Поэтому просто советую познакомиться самостоятельно.

Получается круг замкнулся, каждый аспект игры как технологический, так и повествовательный был продуман так, чтобы вызвать эмоцию у игрока. The Last of Us вышел на PS3 в 2013 году и поставил очень красивую и эпичную точку в том поколении консолей.

Глава 4. The Last of Us Part 2

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

Если в первой части, всё действие происходило в замкнутых пространствах из-за ограничений железа PS3, то теперь уровни были в два раза больше и очень часто под открытым небом.

Или например сражения с NPC. Я уже говорил на какие хитрости шли разрабы, чтобы каждая стычка казалась уникальной и напряжённой. Ух, вспоминаю сколько раз меня обходили со спины, это действительно было страшно.

Но Дракманн хотел не только сделать врагов умными, но и максимально очеловечить их, чтобы каждое убийство давалось с трудом. Например, если вы убьёте NPC, то другой враг по соседству, может вскрикнуть его имя или прокричать что-то в духе “Ты убила моего друга!”

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

Кстати, очень сильно прокачали анимации. Да их также допиливали в ручную, но теперь Motion Capture использовался повсеместно, а не только для катсцен. Это очень сильно повлияло на восприятие мира. Каждое движение, лицевая мимика, даже было заметно как под ногами персонажа менялась почва, персонаж двигался очень натуралистично. Они даже живую лошадь на съёмку привели!

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

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

На самом деле про вторую часть хочется поговорить в разрезе сюжета. Он вышел очень спорным. Если у первой части главной мотивацией персонажей была любовь, то во второй части это была ненависть. Дракманн хотел по-настоящему удивить игрока и выдавал сюжетные взрывы мозга уже на первых десяти минутах игры. Но всё-таки, по мнению многих, он перегнул палку и ненависть уже стала мотиватором игроков, а не персонажей. В случае с The Last of Us Part 2, каждый должен решить для себя сам, что он думает про сюжет. Если первую часть я могу рекомендовать железобетоно, то со второй я просто хочу предупредить, что в некоторых моментах, будет морально тяжело.

Интересно, что самая последния вресия игры — это не вторая часть, а ремейк первой. Недавно вышел ремейк уже для PlayStation, в котором подтянули графику, улучшили искусственный интеллект. Кстати, в марте он выходит и на ПК.

Помните как я говорил о проблеме напарников в оригинале? Вот яркий пример, как это подтянули для современной версии. Теперь ваш товарищ тоже обладает повышенным искусственным интеллектом и может просчитывать ходы противника. Например, Элли понимает что её сейчас обнаружат, поэтому быстренько меняет свою позицию.

Вывод

И так, чем же легендарна эта серия? По моему мнению, The Last of Us стала всеобщей любимицей, потому что действительно хотела увлечь игрока на всех эмоциональных уровнях. Такое чувствуется, когда ради тебя стараются и создают разные степени конусов зрения, то значит игра действительно сделана с душой.

Netflix создает собственную игровую студию в Финляндии

Вслед за кино и сериалами, Netflix все же решил развивать игровое направление и создает для этого собственную студию в Хельсинки.
aka_opex 27 сентября 2022 в 05:47

Вслед за новостями о приобретении сиднейской анимационной студии Animal Logic, которая создала такие блокбастеры, как Happy Feet, The Lego Movie и Peter Rabbit, Netflix объявила о создании собственной игровой студии в Хельсинки, Финляндия. Планируется создавать оригинальные игры для подписчиков без каких-либо микротранзакций в приложениях, а директором новой студии станет Марко Ластикка из Zynga.

«Это еще один шаг в реализации нашего видения создания игровой студии мирового класса, которая будет создавать разнообразные и глубоко увлекательные оригинальные игры — без рекламы и покупок в приложениях — для сотен миллионов наших пользователей по всему миру», — пишет Амир Рахими, вице-президент Netflix Game Studios.

По сообщениям, Финляндия была выбрана в качестве места расположения из-за большого количества талантливых людей. В начале года Netflix приобрела расположенную в Хельсинки студию Next Games, а ранее купила студии Night School Studio и Boss Fight Entertainment. Четыре студии сосредоточатся на своих различных областях знаний, чтобы разрабатывать разнообразные игры.

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

Недавний отчет показал, что только 1,7 миллиона человек ежедневно взаимодействуют с играми Netflix, что составляет около 1 процента от 221 миллиона подписчиков. Имея широкие возможности для роста, Netflix продолжает продвигаться в индустрии видеоигр, рассчитывая к концу года увеличить свой портфель с 24 до 50 игр.

Это крышесносно!!! Хидео Кодзима подготовил коллаборацию с NASA и Anicorn Watches

В рамках тройной коллаборации появились крутые часы, маска Ludens, а также футболки и технологичная сумка. Хочется купить все!
aka_opex 22 сентября 2022 в 11:43

Компания Anicorn Watches оказалась в центре трехстороннего сотрудничества с NASA и легендой игровой индустрии Хидео Кодзимой из Kojima Productions.

Названная в честь талисмана студии — цифрового астронавта Спейса Люденса, небольшая коллекция включает в себя часы, вдохновленные творческим костюмом Люденса для внетелесной активности (EVA), создание которого курировал оригинальный дизайнер Люденса Йоджи Шинкава, и на циферблате которого выбит логотип NASA.

Часы выполнены в стиле «космической брони меча» с текстом инструкций на корпусе и браслете из нержавеющей стали 316, а на безеле выбит девиз Kojima Productions «From Sapiens to Ludens».

Anicorn поставляет часы с браслетом из нержавеющей стали и кожаным ремешком с узором «углеродное волокно», а задняя крышка из сапфирового стекла открывает вид на автоматический механизм Miyota 8215.

Редкая серия часов, цена которой составляет 1 540 долларов США, ограничена 100 экземплярами и предлагается в комплекте с носимой маской черепа Люденса в масштабе 1:1 из углеродного волокна, созданной по «стандарту кинореквизита», а еще 500 часов будут выпущены ограниченной серией с индивидуально пронумерованной металлической пластиной, цена которой составляет 940 долларов США.

Коллекцию Space Ludens дополняют сумка Ludens Sacoche стоимостью 125 долларов США, созданный компанией Syzygy, специализирующейся на снаряжении для активного отдыха, и вдохновленный носителем Ludens, и футболка Space Ludens NASA Tee стоимостью 68 долларов США.

Коллекция Space Ludens от Kojima Productions x NASA x Anicorn Watches поступит в продажу в Anicorn Watches 27 сентября в 8 утра.

Переведено с помощью www.DeepL.com/Translator (бесплатная версия)

Marvel и EA готовят игру про Железного Человека

Разработкой игры о Железном Человеке занимается Motive Studios, которые также занимаются ремейком Dead Space.
aka_opex 21 сентября 2022 в 10:13

Поклонники Marvel могут ждать выхода новой однопользовательской игры про Железного человека. EA Motive сотрудничает с Marvel, чтобы воплотить игру в жизнь. Компания также является автором предстоящего ремейка Dead Space.

EA Motive объявила об этом в Twitter, сообщив, что сотрудничество с Marvel Games позволит создать «совершенно новую однопользовательскую приключенческую игру про Железного человека». Проект находится на ранней стадии разработки и пока не имеет рабочего названия. Marvel Games расширяет свое портфолио однопользовательских экшен-адвенчур, которое также является ее самым успешным подразделением в AAA-играх. Поклонники игр по MCU говорят, что неравнодушны к проектам «Человек-паук» и «Стражи Галактики».

В настоящее время не сообщается, когда выйдет игра. Игра о Железном человеке находится на ранних стадиях разработки, но это новое сотрудничество между Marvel и EA.

Геймплей Grand Theft Auto 6 утек в Интернет

На днях произогла одна из самых масштабных утечек в истории видеоигры, ведь речь идет о Grand Theft Auto IV…
aka_opex 19 сентября 2022 в 03:26

В минувшие выходные в Интернет попала крупная утечка информации о Grand Theft Auto VI, которая позволила впервые взглянуть на игровой процесс предстоящей игры. Первые кадры следующей части серии Grand Theft Auto от Rockstar Games появились благодаря «teapotuberhacker», который выложил на GTAForums 90 видеороликов, взятых из тестовой сборки GTA VI.

https://youtu.be/uP5P508KLYE

В видеороликах показаны два главных героя, женщина по имени Люсия и мужчина, едущие в метро Vice City. Появление метро Vice City свидетельствует о возвращении в Vice City, вымышленную версию Майами.

Джейсон Шрайер из Bloomberg написал в Твиттере: «Не то чтобы были большие сомнения, но мои источники в Rockstar подтвердили, что масштабная утечка Grand Theft Auto VI, произошедшая в эти выходные, действительно реальна. Разумеется, это ранние и незаконченные кадры». Добавив: «Это одна из крупнейших утечек в истории видеоигр и кошмар для Rockstar Games».

Интересно также отметить, что teapotuberhacker утверждает, что они стояли за недавним взломом Uber и получили тестовую сборку после получения доступа к Slack-аккаунту сотрудника Rockstar. Отмечая, что они могут выложить дополнительные утечки, включая исходный код и активы для GTA V и GTA VI, а также саму тестовую сборку.

Новость получила продолжение, когда оказалось, что source-код GTA 5 был куплен за сумму в 100 тысяч долларов. Последнее может означать, что хакеры попытаются взломать онлайн-игры GTA Online.

В общем, Rockstar надо бы придумать, что с этим делать…

POGA LUX: Идеальный кейс для вашей «портативной» PlayStation 5

Компания POGA представила кейс для фанатов консольных игр. В него вмещается PlayStation 5 и пара контроллеров. Но главное — он оснащен дисплеем.

Компания POGA выпустила люкс-версию своего портативного игрового кейса. Созданный для тех, кому необходимо проводить часы за любимыми играми, даже находясь в отпуске, POGA LUX подходит для PS5 и двух контроллеров, а все необходимое для игры находится внутри алюминиевого корпуса.

Выполненная в виде чемодана, система имеет верхнюю крышку, под которой спрятан безрамочный 24-дюймовый дисплей фирмы AOC (время отклика 1 мс, частота обновления 144 Гц). Другие детали комплекта включают концентратор ICY BOX USB 3.0, FreeSync Premium, фильтр низкого уровня синего света и встроенные динамики. Корпус немецкого производства весит всего 9,9 кг и имеет сертификат IP52.

Для использования после транспортировки достаточно разложить POGO и подключить адаптер питания к задней стенке корпуса.

Более подробную информацию о портативной игровой системе POGA по цене от 899 евро (около 54 тысяч рублей) можно найти на сайте компании. Отметим, что это без приставки, версия с PlayStaiton 5 и двумя контроллерами стоит уже от 1449 евро.

Почему графика состоит из треугольников? Разбор

В этом материале разбираемся, как устроен 3D рендер, почему игры состоят из треугольников, что такое полигон.
aka_opex 16 сентября 2022 в 08:25

Все объекты в реальном мире состоят из частиц — молекул и атомов. А в виртуальном 3D-мире из треугольников, то есть полигонов.

Так статуя, созданная на движке Unreal Engine 5, состоит из 33 миллионов полигонов. Выглядит невероятно реалистично и на глаз отличить от реального мира невозможно.

Но. Почему треугольники? Хотя на самом деле не только они. Сегодня разберемся, как устроен 3D-рендер, каким образом единички и нолики превращаются в потрясающие миры, объемная объекты отображаются на плоском экране? Тут куча всего интеренсного.

Хранение

И начнем с чайника. Это один из эталонных объектов в компьютерной графике. Благодаря своей форме он хорошо подходит для тестов разных поверхностей. Чайник — это что-то вроде программы Hello World! среди программистов. Давайте сперва давайте поймем, как трехмерный мир видит компьютер?

В 3D-мире всё состоит из точек. Отличие этих точек от тех, что в 2D, наличие дополнительной координаты Z. То есть чтобы создать точку в 3D мире нужно 3 числа, X, Y и Z, длина, высота и ширина.

К примеру посмотрите на эту картинку. Таблица хранит координаты каждой точки, из которой состоит куб. Каждая строка в таблице хранит одну точку. А вот так выглядит файл с 3D точками. То есть текстовый файл с кучей координат.

Но, чтобы создать объект, одних точек не достаточно, поэтому давайте проведем линию из точки A в точку B. Но одной линии тоже не хватает, давайте создадим третью точку и соединим её линиями с точками A и B. Теперь у нас есть треугольная поверхность из которой можно строить 3D фигуры. На первый взгляд может показаться, что фигура слишком простая, как из неё можно хоть что-то сделать. На самом деле всё.

Посмотрите на детализацию этой статуи, а теперь на то, из чего она состоит… да, треугольники. Эти детали называются полигонами и из них строится всё, что вы видите в 3D играх. Треугольник — это минимальное количество точек, используемых для создания полигона, который может загрузить видеокарта.

Взглянем на ту же картинку, но с новой таблицей. Правая таблица хранит информацию о треугольниках. Вся суть в том, что чтобы нарисовать треугольник, нам всего лишь нужно указать ссылки на 3 точки. Интересно, что треугольники не хранят сами точки, а именно ссылки на местонахождение этих точек в памяти. Это очень важно знать, дабы избежать создания лишних копий. А вот так выглядит хранение треугольников в текстовом файле. Один треугольник = 3 ссылки на точки.

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

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

Только треугольники?

Но чем они так хороши? На самом деле используются не только они. Некоторые из вас, кто занимается 3D-дизайном могут возразить и сказать, что на самом деле всё состоит из прямоугольников. Тут важно отметить, что в 3D-графике ещё есть такое понятие как прямоугольный полигон, или же квад. Квады практически всегда используют при создании 3D-объектов. Причиной этому служит тот факт, что квады гораздо легче делить. При делении треугольников, могут возникнуть искажения на кривых поверхностях, как на этом снимке. Поэтому при в моделинге 3D-текстур, треугольники стараются избегать.

Но, когда 3D-модель (или ассет) создан, все квады превращаются в треугольники, так как точек меньше и математика с ними гораздо проще.

Смотрите, плоские полигоны гораздо проще рендерить, по этому они более предпочтительны. Если мы возьмем квадратный плоский полигон и изменим расположение одной точки, он перестанет быть плоским и выйдет из так называемой полигонной сетки. Из-за этой фичи, нужно проводить дополнительные вычисления, чтобы проверить плоский ли полигон или нет. Треугольники от этого не страдают, так как какую точку не перемести, треугольный полигон останется плоским. Профит.

Нюансы хранения

Также важно упомянуть Level of Detail, или же LOD. Удалённые объекты занимают очень малую часть экрана и их детали рассмотреть невозможно. Философия проста, зачем дальним объектам много полигонов, если их не видно. В кратце LOD сокращает количество полигонов на всём, что находится далеко от камеры и плохо видно.

Рендеринг

Есть одна важная вещь, о которой немногие догадываются: 3д игры на самом деле не трехмерные. Мы смотрим на них через дисплей, который плоский. И имеет только две координаты.

С хранением 3D-штук разобрались, теперь о том как превратить их в 2D изображение, которое мы видим на экране. И делать это желательно 60 раз в секунду.

Перспективная проекция

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

То есть, нам надо трехмерный мир спроецировать в плоскую картинку. Как это делается? Чтобы добиться этой иллюзии, используется техника перспективной проекции.

Эта техника создает плоское изображение 3D объектов, которое отображается на экране так, что результат кажется трехмерным.

Подход простой: удаленные объекты кажутся меньше, близкие больше. Работает это так, нам нужно спроецировать каждую точку объекта на экран в перспективе. Далее начинается школьная геометрия. мы видим такой треугольник, а точнее 2. Есть высота дерева в 3д мире — это У. Нам нужно найти значение Ys, что является высотой объекта на экране. Из уроков математики мы знаем, что боковые стороны подобных треугольников пропорциональны друг другу. Из этого мы делаем вывод, что боковая сторона первого треугольника, деленная на расстояние до экрана равна боковой стороне второго треугольника, деленного на расстояние до объекта. После перестановки, мы видим, что финальное значение равно расстоянию до экрана, деленного на расстояние до объекта, умноженного на его высоту. С иксом тоже самое, просто нужно заменить y на x.

Но на этом не всё. Чтобы объект попал на экран нам нужно совершить ещё 2 действия. Для начала перевести полученные координаты в орфографическое пространство, чтобы соответствовать плоскости наших мониторов. После чего их нужно централизовать, переведя в Vulkan’s Canonical view volume. Это уже то, что мы видим на экране.

Обрезка

Если просто забросать 3D-сцену треугольниками, может возникнуть проблема, игра начнет лагать. Благо есть читерские методы, которые позволяют легко ускорить рендер.

Например можно рендерить только те объекты, которые находятся в направлении, куда смотрит игрок. Этот способ называется frustum culling.

Слово Фрустум — это конусовидная призма, форма, которую принимает область видимости камеры.

У этого способа есть старший брат, называется occlusion culling, который работает хитрее: удаляет те объекты, которые перекрывают другие!  То есть те объекты, на которые вы не смотрите — реально не существуют.

Например, можно посмотреть как это реализовано на движке анриал: в специальном режиме видно, что все объект вне зоны видимости просто пропали из сцены.

Ещё одна важная техника в 3D-рендеринге называется clipping или обрезка по нашему. Как следует из названия, всё, что не попало в угол обзора, срезается для лучшей производительности. Clipping отличается тем, что она может обрезать часть объектов.

Кстати, разница clipping’a и ранее упомянутого culling’a в том, что первый метод удаляет полигоны, которые не попали в кадр, в то время как culling удаляет сами объекты на программном уровне.

После этого, значения нужно перемножить снова, но уже на сетку окна приложения. Это нужно например если вы играете в оконном режиме.

Растеризция

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

GPU

За рендер 3D-объектов отвечает GPU. Да, тот самый графический чип, который позволяет нам играть в игры 4K 120 FPS. В этом ему помогает огромное количество ядер, гораздо больше, чем у центрального процессора. К примеру у RTX 3090 10496 ядер, в то время как у ryzen 7 5800x всего 8.

И тут вы можете спросить, а что нам мешает использовать графический процессор вместо центрального, ведь в нём так много ядер, а значит он мощнее. На самом деле нет. Ядра GPU отличаются от CPU тем, что они гораздо глупее и предназначены для простых, монотонных работ с графикой. CPU же в свою очередь имеет очень умные ядра, которые способны работать над очень сложными задачами быстро и независимо друг от друга. Другими словами если ядра в графическом процессоре это муравьи, которые строят домик, их много, но работа не требует много интеллекта. То ядра в центральном процессоре это учёные, создающие вакцину от коронавируса.

Скорость современных видюх просто поражает. Например вот видео где парень рендерит 312 миллиардов полигонов на RTX 3090 в реальном времени.

Итог

На этом всё. Есть ещё много того, что мы не разобрали, к примеру трассировка лучей или Ray Tracing, Shading и Anti-Aliasing. В общем, это еще несколько интересных тем, которые можно разобрать в будущем…

Сервис Flickr сделал новый раздел, посвященный фотографиям из игр

В последние годы в игровых проектах появился отдельный фоторежим, для создания эффектных снимков из игр. Во Flickr поддержали виртуальную фотографию.
aka_opex 15 сентября 2022 в 10:16

Сервис Flickr вводит новую категорию «Virtual Photography» для тех, кто делает снимки в видеоиграх. В настоящее время платформа предлагает три отдельные категории: фотографии, иллюстрации и скриншоты, но сервис говорит, что, по его мнению, снимки из специальных фоторежимов в видеоиграх не очень хорошо вписываются в последнюю категорию, поэтому он решил открыть новый сегмент для такого типа контента.

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

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

ВОЛК ЛОВИТ ЯЙЦА: Советское NINTENDO. Разбор

У нас на очереди ретро-обзор приставки Электроника ИМ-02, более известной как «Волк Ловит Яйца». Как она работает и откуда взялась идея?
aka_opex 5 сентября 2022 в 01:40

Сегодня в нашем Ретро обзоре, будет легендарная приставка Электроника. Среди детей советов, её называли проще “Ну, погоди!”, а вот среди студентов МФТИ, её шутливо называли “Советская буржуазная заразка”. Кажется, что это примитивный гаджет для вызова ностальгии.

Вам может показаться, что это просто артефакт прошлого, но это не так! Корни этой приставки растут от самой Nintendo! А появление такой штуки перевернуло гейминг и зародило портативные консоли.. Посмотрим, как эта штука устроена, а еще выясним чем отличается микроконтроллер от микропроцессора.

История. Первая портативная консоль.

Чтобы рассказать историю советской приставки, нам как ни странно, нужно перенестись в Токио. На дворе 1977 год. По легенде, инженер Nintendo Ганпей Ёкой ехал на поезде на работу в Токио. И тут, молодой человек заметил бизнесмена по соседству. Мужчина, с явно скучающим видом, тыкал в свой карманный калькулятор. Он всё продолжал и продолжал. Ёкой понял, что в дороге людям часто бывает скучно и надо как-то убивать время. Тут и пришла идея, создания портативной консоли, которую можно взять в дорогу и скрасить часы ожидания.

Стоит отметить, что тайминг этой идеи был практически идеальным. Геймдев развивался стремительными темпами. Та же Nintendo переключилась с карточных и настольных игр, на игровые автоматы. LCD-экран, ну или жидкокристаллический, был дешёвой и распространённой технологией. Всё благодаря тем-же карманным калькуляторам, они переживали настоящий бум, а в них как раз устанавливали вот такой экранчик. Ёкой пришёл в Nintendo со своей задумкой и вот спустя 3 года, миру была представлена карманная приставка — Nintendo Game and Watch.

Философия приставки была проста. Она должна была быть дешёвой, доступной любому возрасту, а самое главное компактной! Ёкой-сан хотел захватить как можно больше потенциальных покупателей. Отсюда и название. Game – это игра, а Watch – это часы. То есть, когда приставка вам не нужна, она могла выполнять функцию часов и будильника. Я могу представить картину, как японские дети уговаривали своих родителей на покупку, аргументируя “НУ ТАМ ЖЕ И ЧАСЫ ЕСТЬ!”

Посмотрим, как эта штука была устроена!

Сама игра была проста как валенок, называлась не хуже – Ball. У вас на экране был некий гуманоид, который ловил мячики. Было решено отказаться от классического джойстика, так как он занимал очень много места, нужно было решение поменьше. Тут на помощь пришли кнопочки, у первой версии их было две. Направо и налево. Именно так и происходила ловля мячей.

С батареей тоже неплохо выкрутились. Для питания вам было нужно всего лишь две маленькие “таблетки”. Ровно такие-же покупались и для пресловутых калькуляторов. То есть они были и дешёвые и доступные. А самое главное – почти не занимали места.

Но почему была только одна игра? Проблема была не столько в памяти, как может показаться. Она заключалась в LCD-экране. То есть в экран “запекались” куски изображения, которые появлялись в нужный момент, создавая иллюзию анимации.

Как известно LCD-экран называют ещё жидкокристаллическим. В матрице такого экрана находятся те самые жидкие кристаллы. На матрицу подаётся ток и в зависимости от напряжения по заранее заданным точкам, кристалл перестаёт пропускать свет. Так мы и видим чёрную точку, которую можно считать за пиксель. Но на таких приставках это было ещё сильнее упрощенно. Когда подаётся ток, на определённый сегмент матрицы, появляется сразу заготовленный рисунок, те самые куски, которые “запечены” в экран.

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

Под такие экранчики даже процессоры были специальные. Конкретно в первом варианте стоял микропроцессор или ещё их называют микроконтроллер Sharp SM5. Это можно сказать мини-компьютер. Построенный на 4-битной архитектуре, обладал памятью на 1,7 килобайта и оперативкой на 0,065 килобайт. И всё это дело находилось в самом чипе. Игра была записана в основную память, а в оперативке хранятся данные, которые появляются в ходе вычислений процессором. Ну а что, с задачей справлялся, а это главное! Кстати, в советских версиях стояла аналогичная копия этого микроконтроллера.

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

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

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

Со временем увеличивали сложность геймплея, добавляли больше возможностей. Выходили версии даже с двумя экранами! Вышло очень много игр под этой маркой. Например, версия с Микки Маусом, о ней чуть позже. Конечно же огромная куча игр про Марио, Зельда, ну и Блэк Джэк! Игры серии Game and Watch продали 48 миллионов штук по всему миру!

Конечно, позднее приставка эволюционировала. Появились отличные ЖК-дисплеи, чуть позже даже цветные. Кстати, в 2020 году вышло переиздание этой приставки с кучей игр на борту.

В СССР быстро прочухали популярность приставки от Nintendo. Производить такую электронику было просто, поэтому, спустя 3 года после выхода оригинала, началось производство, нашей, «скрепной» приставки.

Да как началось! Аж на одиннадцати заводах! Выпускалось всё это дело под маркой “Электроника”. Это популярный бренд СССР, который выпускал различную технику. Выпускали почти весь спектр: от магнитофонов и до компьютеров. помните у нас выходил даже обзор на их КПК! И конечно, главный хит этого концерна “Ветерок”!

Первые версии были полностью скопированы с Game & Watch с Микки Маусом. Там мышонок ловил яички, которые ему бросала его подружка Мини. Технически же, она ничем не отличались от детища Nintendo. Как я упоминал ранее, даже процессор был полной калькой. А вот кстати, версии нашего производства отличались между собой. Где-то была решётка под динамик, где-то нет. Где-то была написана цена, а где-то нет. Кстати, о цене. Стоила наша игрушка 25 рублей, при средней зарплате в 150.

Ну а затем “Буржуазная заразка”, как это часто у нас бывает, должна была стать советской. Поэтому идеологически неверного Мики Мауса и Мини заменили на правильного Волка и Зайца. Назвали всё это дело “Электроника ИМ-02” Где ИМ означало “Игра микропроцессорная”, а 02 был порядковым номером. Кстати, термин “заразка” так прочно укрепился за игрой, что в 1987 году на многих ценниках писали именно такое название!

Обзор Волка

Ну и давайте наконец посмотрим этого красавца. Этот дружок был сделан больше 30 лет назад. Ну тут тоже предельно всё понятно. Это у нас кнопки движения, яйца можно было ловить в четырёх местах. Игра 1 и 2, это уровни сложности.

Ну знаете ли, играть не так-то просто. Но увлекает, это правда.

У нас осталось время, можно настроить приставку и даже установить будильник. От заморских разработчиков тут остались индикаторы ДП, ПП — до и после полудня. Вместо PM и AM. Кстати, Волк будет самостоятельно ловить яйца, во время режима ожидания. Какая же классная приблуда! Есть в таких вещах магия.

Но не всё закончилось волком, были и другие версии. Как правило, они полностью копировали, Nintendo-игры. Но была и оригинальная игрушка, которую уже придумали в СССР, называлась она Автослалом. Это была гоночная игра.

А что там с мультиком? Если вы не знали, рассказываю. У советских детей была легенда, что когда ты наберёшь 1000 очков, то тебе покажут серию из “Ну погоди!”. Естественно это было невозможно, мы уже объясняли как работают эти экраны. Но бонус всё таки был! По достижению результата, очки обнулялись, но игра была на 30 процентов быстрее. Хоть что-то!

Unreal Engine 5: Все о главном игровом движке!

Сегодня подробно разберемся с технологиями, которые находятся внутри Unreal Engine 5: Nanite и Lumen. И почему — почему он так крут!
aka_opex 12 августа 2022 в 05:05

Вы можете посмотреть в начале ролика видео из отпуска, а можете увидеть то, как с помощью Unreal Engine 5 создали почти такую же картинку.

Дальше перед вами окажется мило спящая на кровати собачка, разработчика игр Гэри Фримена. На этом демо 10 миллионов полигонов. Чем больше полигонов, тем качественнее, реалистичнее и красивее выглядит модель предмета или персонажа в игре.

И у этой собаки действительно много полигонов! Например, модель Кратоса из новой God of War состоит из 80 тысяч полигонов! Это в 125 раз меньше!

Ну а если клонировать эту собачку скажем, 1000 раз? Мы получим 10 миллиардов полигонов, это уже неплохо. Получаем в 125 000 раз больше полигонов, чем у “бога войны”. Прости.

А если вся обработка будет происходить в реальном времени, а само клонирование происходит за секунды? Это возможно на вполне стандартном железе вашей PS5 или даже ПК? Всё благодаря Unreal Engine 5!

Впечатляющее количество полигонов отрендеренное в реальном времени, это мелочи по сравнению с тем, что может нам продемонстрировать Unreal пятой итерации. Вы наверняка фидели фанатский ремейк SkСкайрим! Не впечатляет? Вот фанатский ремейк ГТА Сан Андреас! И я уж не говорю про очаровательное лицо Киану в «Матрице».

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

Что такое игровой движок?

Но для начала, что вообще такое игровой движок? Если простым языком, это набор инструментов для создания игровых миров. Причем самых разных. Например, для вашей игры требуется реалистичное освещение как в Red Dead Redemption 2, или разрушаемость объектов как в Battlefield. Все эти возможности предоставляет движок. Например, легендарная разрушаемость зданий в Battlefield стала возможной благодаря функционалу движка Frostbite. Ближайший конкурент Call Of Duty, который создан на другом движке, так не умел.

Да, как разработчик, вы можете написать с нуля эти функции. Но не всё так просто.

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

Но прежде, чем порезать ингредиенты, вам нужно: вскопать овощную грядку, открыть собственную ферму, 9 месяцев выдерживать пармезан. А еще руками собрать газовую плиту, чтобы поджарить креветочки.

То же самое и в геймдеве. Есть студии, которые пишут движки с нуля, но это либо очень богатые студии такие как RockStar (авторы GTA), либо персонажи с раздутыми амбициями такие как CD Projekt RED. Создатели «Ведьмака» написали свой собственный движок — Red Engine. И если в третьем «Ведьмаке» это выглядело неплохо, то вот в случае с Cyberpunk 2077 это привело к катастрофе. Red Engine не потянул амбиции разработчиков, его инструментарий банально устарел.

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

Это старейший игрок на рынке. Написанный в 1996 году Тимом Суини, основателем легендарной студии Epic Games, Unreal и по сей день предоставляет свой инструментарий. С недавнего времени, движок условно-бесплатный для любого желающего. На нём можно создать игру на любой платформе, от iPhone до PlayStation 5. За свою 26-летнюю историю, на Unreal вышло сотни игр. За это время вышло 4 версии. И наконец вниманию общественности представлена 5 версия, что же она умеет?

Первая презентация

Чем же уникальна именно 5 версия?

14 мая 2020 года, разработчики представили новую версию движка. Две ключевые технологии, которые были представлены это Nanite и Lumen. Эти два решения, перевернут наше восприятие компьютерных играх.

NANITE

Начнём с Nanite. Это новый способ взаимодействия с игровыми моделями. До этого попытки предпринимались, например NVIDIA со своим сеточным шейдером. Но повсеместно внедрить эту технологию не получилось.

Да, это выглядит красиво и свежо, но в чём революция?

Чтобы понять какое нововведение привносит Nanite, нам надо понять как раньше обрабатывались модели в играх.

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

Важный этап в этой оптимизации это упрощение моделей в игре.

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

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

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

Мы поняли принцип создания раньше, теперь посмотрим что предлагает нам Nanite сейчас. Все модели в игре теперь создаются единожды, в высокополигональном виде! Nanite сам будет подстраивать качество модели, в зависимости от удаления игрока от предмета. Как это работает?

Когда разработчик импортирует модель в движок, эта моделька анализируется и разбирается на полигональные кластеры. Эти кластеры, могут видоизменяться становясь детализирование если это нужно, либо уменьшая своё качество.

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

Никаких карт нормалей не нужно, Unreal всё делает за вас! Объекты, на которые вы будете смотреть в бинокль, в игре с включённым Nanite, будут всегда в отличном качестве. Технолгия учитывает, что вы смотрите на объект и делает его высокополигональным.

Грубо говоря, Nanite следит за игроком. Куда он смотрит, там и делает красиво. Это сбрасывает нагрузку на ваше устройство, нужно совершать меньше затратных действий.

Но это ещё не всё! Nanite умеет сжимать модели без потерь в качестве.

Дело в том, что в классическом геймдеве, есть ещё один принцип упрощения моделей. Это карта нормалей. Если совсем просто, это псевдо 3D-рисунок, который “запекается” на низкополигональную модель.

Посмотрите на фотографию. Представим что листочек, это наша модель. Мы хотим сделать так, чтобы наша модель воспринималась как трёхмерный объект. Сверху листочка мы рисуем дверь, грамотно расставляя тени. Теперь восприятие уже поменялось, нам кажется, что этот объект трёхмерный и там есть дверь.

Тоже самое в игре. На фотографии низкополигональная стена, на которую сверху прикрутили карту нормалей. Теперь стена ребристая и реалистичная. Хотя по факту, стена осталось такой же плоской. Такой подход используют либо со статичными объектами, либо с теми? которые находятся далеко.

Модель? сделанная классическим способом? включает в себя: полигоны, карту нормалей, лоды. Предположим что в такой модели 1,5 миллиона полигонов, карта нормалей и четыре лода. Модель высокополигональная и она будет весить приблизительно 150 мб.

Nanite же хранит только одну модель, зато в полной детализации. Идентичная модель из первого примера, будет весить примерно 30 мегабайт! Это отличная экономия пространства!

Посмотрим же на первую демоверсию на Unreal Engine 5. Нам показывают статую, подчёркивая, что в ней находится 33 миллиона полигонов — как мы помним, это много. В 500 раз больше, чем у Кратоса из нашего примера.

Потом девушка из демо-игры, продвигается в глубь пещеры, где нам показывают уже 500 таких статуй, а общий объём полигонов достиг 16 миллиардов. (Но мы понимаем, что умный Unreal не просчитывает все их, а распределяет ресурсы. При этом надо держать в голове, что это рендер в реальном времени. И помимо самих статуй, в кадре огромное количество объектов, освещение. А самое главное, это происходит на железе PlayStation 5! То есть вам не нужен ПК за полмиллиона рублей500к чтобы сделать такую графику, достаточно приставки со стандартным железом конца 20 года. Более того, эти функции уже вшиты в движок, разработчику не надо придумывать велосипед.

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

Но не без ложки дёгтя. Nanite пока не справляется с обработкой прозрачных объектов. Стекло и прочие похожие объекты не поддаются рендерингу через Nanite. Epic Games говорят, что вскоре проблему решат, но пока такие объекты рендерят классическим способом. Так же есть проблемы с анимированными или “изменяющимся” объектами, но об этом чуть позже.

Но реалистичные текстуры надо ещё реалистично подать с помощью освещения. И тут нам поможет вторая ключевая технология — Nanite!

LUMEN

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

На примере того же Cyberpunk 2077 можно найти сравнение, как это красиво выглядит! Отражения, правильное освещение, создаёт атмосферу и фотореалистичность любому проекту. Но у рейтрейсинга есть две проблемы.

Первая, что для запуска этой технологии нужны видеокарты RTX от NVIDIA или от AMD c технологией RDNA. Они сейчас дефицитные и дорогие.

Вторая, для расчёта глобального освещения требуется очень много лучей, которые надо рассчитать в реальном времени, даже если вы не видите объекты. Это очень сильно отнимает ресурсы у вашей видеокарты.

Lumen упрощает подход к расчету лучей света. Хотя в сути своей, технология тоже представляет собой рейтрейсинг. Но Lumen позволяет обходить затратные действия, проводя рендер лучей света по упрощённой системе. И для работы не требуется аппаратное ускорение по типу RTX.

Для каждой модели, со всех сторон создаются проекции, которые содержат в себе данные о поверхности. Называется такая проекция SDF — Signed Distance Fields.

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

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

Lumen хватает вот таких карт, где есть очень упрощённые данные о поверхности. Это позволяет кардинально сбросить нагрузку на вычислительные мощности.

Если обобщить, Lumen — это компромисс между очень затратным динамическим освещением и нереалистичным освещением.

Что ещё умеет Lumen? Вот самые интересные возможности.

Растекание света. Очень интересная штука. Свет от объекта, отражается или отскакивает на другие поверхности, оттуда на другие поверхности и так далее. Но всё это происходит в зоне видимости камеры. На видео, оранжевый манекен, отражает свет на колонну. Возможно это покажется не очень важным, но восприятие мира, где свет ведёт себя так естественно, должно усилится в разы!

Мягкие, непрямые тени. Реалистичные и точные тени. Они слегка размытые и это добавляет естественности картинке. Каждый объект, сделанный на движке Unreal, будет отбрасывать такие тени.

Отражения На старых версиях Unreal, да и на других движках, отражение и освещение были двумя разными функциями. Они обрабатывались отдельно. Теперь же они работают, как единая программа. Это позволяет создать реалистичные отражения, так как обмен данными происходит напрямую.

Как итог, мы получим шикарное освещение, но с куда меньшими требованиями к железу. Lumen по умолчанию уже есть в Unreal Engine 5. А это значит, что разработчикам опять становится намного проще. Создал сцену, прикрутил источник света и получил крутой уровень освещения. Для простых игроков, это означает, что все проекты на Unreal Engine 5 будут выглядеть очень красиво и реалистично, без ультра современного железа.

Тут есть один важный момент. Для хорошей и плавной работы как технологии Nanite, так и Lumen, нужно прогнать большие объёмы данных об объектах. Да, происходит экономия за счёт сжатия. Но вот самих данных получается очень много, так как теперь мало ограничений по возможностям и детализации объектов. Их много и они все высокополигональные!
У консолей нет с этим проблем, как и в PS5 так и в Xbox Series, есть ультрасовременные SSD-накопители, которых с избытком хватит для этих целей. ПК-боярам же, нужно иметь это ввиду. Возможно, понадобится апгрейд.

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

Так как же себя показывает движок, в полевых условиях?

Демо The Matrix Awakens

В декабре 2021 года, Epic Games представили миру “Матрицу”. Эта технодемка в версии для PS5 создавалась с целью показать возможности Unreal Engine 5 в полевых условиях. Получилась ли революция? Судите сами: общая площадь города, где происходит всё действо 15 квадратных километров. Для понимания в Skyrim — 30, в GTA 5 — 80. Город был сгенерирован с помощью Houdini, плагина встроенного в движок, который позволяет, процедурно генерировать уникальные объекты. Затем эти здания были добавлены в демку «Матрицы».

  • Почти 7 тысяч зданий.
  • В городе 260 км дорог и 512 км тротуаров.
  • 35 тысяч пешеходов, каждый из которых с уникальной внешностью.
  • 45 тысяч автомобилей, из которых в движении около 17 тысяч.

И вся эта красота рендерится в реальном времени, вся и сразу! На данный момент, нету ни одной игры, которая могла бы повторить этот трюк.

И тут мы подходим к еще одной важной технологии. Модельки персонажей были созданы с помощью MetaHuman. Это ещё один продукт Epic Games, который позволяет создать реалистичных персонажей.
MetaHuman — это редактор персонажа. Как в Skyrim! Серьёзно, вам не нужно обладать навыками программиста, чтобы создать персонажа. Крутите ползунки и настраиваете. Вы даже сами можете сделать своего персонажа, MetaHumna есть в открытом доступе.

Всё это дело будет рендерится в облаке у Epic Games, затем эту модель можно добавить уже в Unreal Engine 5 и делать с ней всё, что угодно. У неё есть даже скелет для motion-capture, что позволит сразу анимировать вашего персонажа с помощью актёра. Ух, я уже предвижу как будут использовать MetaHuman!

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

Демка была написана командой из 100 человек за один год. Не очень впечатляет, но стоит оговориться. Большая часть была занята изучением и написанием кода для игры. Сами разработчики утверждают, что если бы они владели всеми знаниями, которые приобрели при написании демки, то смогли бы управится за 3-4 месяца и командой в два раза меньше.

При разработке технодемки, обнаружилась проблема с технологией Nanite, о которой я упоминал раньше. Оказывается, она не может рендерить деформирующиеся или анимированные объекты. Что это значит? Все машины обрабатываются Nanite, но как только вы как-то повредите автомобиль, то модель будет уже обрабатываться стандартным расчётом физики. Из-за этого происходят подлагивания. Потенциальная проблема, но разрабы утверждают, что это просто вопрос времени. Нужно либо научить Nanite обрабатывать такие объекты, либо сделать переход более плавным.

По итогу, демка вышла отличным примером возможностей движка. Фотореализм, просто зашкаливает и это будущее, которое уже наступило. Но это писали разработчики из Epic Games. А что до остальных студий и разработчиков?

Какие игры выйдут в ближайшее время на движке?

Epic Games утверждают, что графика уровня «Матрицы» станет стандартом уже к окончанию цикла жизни приставок этого поколения. То есть через 3-4 года! Да, крупные проекты на Unreal выходят уже сейчас: Fortnite, Senua’s Saga: Hellblade II. Но о революционной графике как в «Матрице», говорить не приходится. Но технология активно внедряется. Многие проекты переезжают с четвертой версии на пятую.

Перед вами список компаний, которые уже разрабатывают игры на новом движке. От Tencent до Double Fine! И это в расчёт не берутся сотни инди-компаний и разработчиков-одиночек.

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

  • S.T.A.L.K.E.R. 2
  • ARK 2
  • Witcher 4
  • Starfield
  • Halo

Чувствуется масштаб! Погулять по фотореалистичному Чернобылю или по Восторгу, это ли не счастье? Кстати, все показанные нарезки из трейлеров, сделаны в реальном времени на движке игры.

Получается, ещё пару лет и нас ждёт качественно новый уровень гейминга Это нас подводит к ещё одной революции Unreal Engine 5. Ключевой революции. И это уже не про технологии.

Проблема

В последние годы, крупные игровые студии столкнулись с проблемой раздутых бюджетов. На разработку одной ААА-игры, порой уходит столько же денег, а порой даже больше, чем на блокбастеры от Marvel. Например, на Cyberpunk 2077 ушло 320 миллионов долларов, а на первых «Мстителей» — «всего» 220 миллионов! И у разработчиков нету права на ошибку, один прокол и это слитые сотни миллионов долларов и порушенная репутация.

Именно из-за этого в последние 10-15 лет, мы видим так мало смелых идей, новых механик от крупных разработчиков. Ubisoft придумали концепцию Assassin’s Creed и Far Cry и десятилетиями выпускают одну и ту же игру. Не потому что, они ленятся и закостенели. Потому что вложено очень много денег и совет директоров не пойдёт на риск, если им принесут смелую идею для игры. Это относится практически ко всем студиям, которые выпускают ААА-тайтлы. Компании не хотят рисковать.

Unreal Engine 5 теоретически может решить эту проблему. Движок автоматизирует очень много процессов, тот же город из «Матрицы» сгенерирован без участия человека. Добавим к этому возможности Nanite и Lumen, о которых я уже говорил. Это потенциальная экономия десятков, а может и сотен миллионов долларов.

Да и места для творчества прибавится. Смелые концепции для игр, которые могут не окупиться, будут появляться чаще. Так как инвесторы, теперь будут рисковать намного меньше своими деньгами. А представьте себе какой плюс в карму будет у той же Ubisoft, если они наконец покажут свежую идею игровому сообществу? Сложно предположить, как будут вести себя гиганты, но потенциал здесь огромный.

Вывод

Ну вот мы и изучили Unreal Engine 5. Уже сейчас можно сказать, что будущее наступило. Прямо сейчас, пока мы говорим, сотни компаний трудятся над сотнеями проектов, которые изменят наше представление о том, как должны выглядеть игры. Через пару лет, когда эти проекты начнут выходить, игры в которые мы играем сейчас, покажутся нам отсталым прошлым.