• Регистрация
  • Вход
    Забыли пароль?

    Войти через:

Unreal Engine 4 как будущее видеоигр

06.08.2012 | Георгий Тришкин

Тысячи игроков по всему миру ждали презентацию Unreal Engine 4. Эпохальное событие! Epic Games задают планку графики как минимум на ближайшие 5 лет. К несчастью многих, эта "планка" не шибко впечатлила, вот только Epic удалось совершить маленькую революцию.

Секрет популярности

Прежде чем приступать к обсуждению Unreal Engine 4 (далее UE4), необходимо поговорить о его предшественнике. Как бы не любили игроки Unreal Engine 3 из-за некоторых раздражающих эффектов, он стал самым популярным решением для разработки игр в этом поколении.

Весь секрет кроется в простоте. Unreal Development Kit (UDK) позволяет довольно быстро создавать рабочие версии игр со своими уникальными особенностями. Программистам практически не приходится править исходный код, а, благодаря удобному инструментарию, у дизайнеров есть больше времени, чтобы реализовать все свои задумки. Время - очень важный показатель в игровой индустрии, особенно это касается создания мультиплатформенных проектов для консолей и PC. Здесь у UE3 практически нет конкурентов, благодаря фирменным технологиям и хорошей оптимизации, разработчики могут переносить одну и ту же игру на все платформы, даже под мобильные устройства c кривым управлением, без критических изменений. 

  • Unreal Development Kit. На первый взгляд кажется слишком навороченным, однако он позволяет буквально на лету работать с любыми файлами и объектами

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

Переходный период

Как и любой другой игровой движок, UE4 не писался с нуля. Это стандартная практика, поэтому никогда не стоит верить заявлениям разработчиков о "совершенно новом игровом движке". Если у предыдущей версии есть характерные проблемы, то с огромной долей вероятности они перенесутся и в следующую. Чаще всего это касается внутренних движков среди мелких студий или игр от платформодержателей. Но Epic все время обновляют Unreal Engine, добавляя в него фирменные и передовые технологии, оптимизируя код и улучшая редактор. В итоге, раз в несколько лет игроделы получают сильно обновленную технологию, практически лишенную недостатков. А миф о том, что с UE3 могут работать только Epic, кроется в лени разработчиков. Зачем менять то, что уже и так хорошо работает и выглядит? Именно поэтому каждая вторая игра на UE3 была похожа на другую.

Unreal Engine 3 (2004)

Изначально UE3 разрабатывался под консоли 7 поколения (Xbox 360 и PS3) и PC, использующих библиотеки рендеринга DirectX9/10 и OpenGL 2/3. Тогда его основным отличием от предшественников стала работа в двухпоточном режиме, как раз под многоядерные процессоры. Первый поток отвечал непосредственно за игровой процесс и AI (искусственный интеллект), а второй - за рендеринг (обработку). Впоследствии разработчики получили возможность увеличивать количество потоков и выжимать максимум ресурсов из самых сложных систем. Именно благодаря своей гибкости UE3 стал идельным вариантом для разработки игр на PS3 и Xbox 360, где разница в архитектурах порой доставляла массу неудобств, даже крайне опытным программистам.

Unreal Engine 3.5 (2010)

Прогресс не стоит на месте, да и условная конкуренция со стороны Crytek и их CryEngine заставила Epic показать весь их инженерный потенциал. C 2006 года UE3 активно совершенствовался и переписывался. Во-первых, в модель освещения был добавлен Ambient Occlusion, который привнес натуральность теням и свету. Теперь UE3 мог обрабатывать до нескольких сотен персонажей одновременно (кроме Gears of War 2 эта функция нигде больше не использовалась), добавили физическую модель для мягких тел (прим. "мясной куб") и жидкостей, а также систему разрушений для окружения и многое другое.

На протяжении 6 лет Epic оптимизировали UE3 и свой редактор UDK, добавив в него даже поддержку мобильных устройств и новую систему некоммерческого распространения. Все счастливы и довольны.

Unreal Engine 3.9 (2011)

Официально Epic никогда не нарекали свой движок "UE3.9", такую аббревиатуру он получил среди публики после техно-демки Samaritan. В 2011 году Epic показали свое потенциальное виденье будущего игр. Внедрив в движок поддержку DirectX11, а также огромное количество сопутствующих технологий, они продемонстрировали миру самую красивую игровую графику, которая только может обрабатываться на настольном PC. Безусловно, существуют и другие методы обработки картинки, например, математически правильный Ray-Tracing, но в играх он появятся как минимум лет через 10 с приходом соответствующих процессоров. 

Samaritan запускался на PC с i7, 8гб оперативной памяти и 3(!) Geforce GTX 580 при 60 кадрах в секунду, с FXAA сглаживанием и в разрешении 1080p. Вряд ли рядовой пользователь может позволить себе подобный PC, ведь по статистике Steam, самой популярной DirectX11 видеокартой является Geforce GTX 560. 

Благодаря новому API, Epic смогли вписать в движок огромное количество новых технологий, которые и оказались в UE4. Речь о них пойдет дальше.

Unreal Engine 4 (2012)

К несчастью, Закон Мура уже давно не работает, да и к графическим технологиям отнести его сложно. За последние 7 лет среднее количество полигонов в играх увеличивалось на 22% в год. Это довольно скромный показатель, ведь еще в 2005-2006 годах многие игры являлись портами или пережитками былых поколений, а все обещания по поводу сверхдетализированных моделей так и остались пустыми возгласами. Но уже не за горами те дни, когда былые обещания обретут форму в новом исполнении. UE 4 готовится совершить революцию, и вот лишь малый набор его главных козырей.

Tesselation

Tesselation (Тесселяция) - это один из этапов процесса визуализации в графике, с помощью которого возможно увеличить количество многоугольников в полигоне, используя кривые Безье. При этом каждый многоугольник модели разбивается на заданное число связанных многоугольников, которые выстраиваются в соответствии с общим направлением поверхности модели. Таким путём можно сначала создать простую модель, а затем быстро и просто повысить её детализацию. Каждая грань треугольника может быть разбита на 2 или максимум 64 грани.

А если простым языком, то тесселяция позволяет динамически повышать детализацию моделей с приближением к ним без использования LoD'ов, то есть заметных подзагрузок. Это крайне удобно при моделировании сложных объектов, которые и ожидают нас в будущем. Поэтому даже такой элемент человеческого тела, как волосы, станет реальностью. Сейчас во всех играх волосы представляют собой набор из пары сотен полигонов и мутной текстуры, натянутой на них. Отнюдь не впечатляет. В UE4 на одну "пачку" из 5000 волос уходит 16000 полигонов (с разными текстурами), это всего лишь вдвое меньше, чем модель персонажа Дрейка в игре Uncharted 3. А таких пачек на одном персонаже может быть около десятка. И это лишь один из примеров использования тесселяции. Технологию можно применять в построении любой сложной геометрии, будь то модель персонажа или листья на деревьях.

Real-time Dynamic Global Illumination

Real-time Dynamic Global Illumination (Динамическое Глобальное Освещение в Реальном Времени) - это огромный набор алгоритмов, использующихся для имитации света. Вычислительной мощности нынешних домашних PC по-прежнему не хватает для обработки "правильного света" в реальном времени, ну, только, если у вас не завалялся дома кластер из современных серверных процессоров. Поэтому разработчикам приходится искать всевозможные способы имитации реального освещения. И если современные технологии позволяют это делать с точностью в ~90%, то оставшиеся 9,99% (на данный момент человечество не придумало как рассчитывать свет с точностью в 100%, как и другие эффекты, впрочем, тоже) потребуют в 10 раз больше вычислительных ресурсов.

  • Для придания кинематографичности картинке Epic используют вполне себе традиционный эффект прямиком из киноиндустрии -Lens Flare (Засветы от линз) для некоторых источников освещения

Основным отличием Real-time Dynamic Global Illumination от Global Illumination является как раз возможность создавать огромное количество разных источников освещения в реальном времени. Это не только придает картинке определенную реалистичность, но и играет на руку гейм-дизайнерам. Да и динамическая смена времени суток в UE4 теперь на порядок проработаннее. Не важно, сколько в кадре источников освещений - все они будут взаимодействовать друг с другом и окружением, влияя на тени, объекты и отражения.

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

  • Отличный пример Global Illumination - 1 источник света оставляет блики на всех поверхностях, которые в свою очередь оставляют уникальные отражения на всех объектах
Subsurface scattering (SSS)

Subsurface scattering (Подповерхностное рассеивание) - это специальная техника рассеивания света в полупрозрачных поверхностях. На практике это решает главную проблему любых игровых персонажей - мерзкие блики на коже, в основном на лицах. Именно этим недостатком славился старый добрый UE3. Но теперь разработчики смогут разделять все поверхности на 2 фундаментальных типа, предоставляя каждой реалистичные отражения и блики.

  • Пример SSS с использованием полупрозрачной статуи. Степень прозрачности также может варьироваться и изменяться в зависимости от фильтров и поверхности
Emissive materials

Emissive materials (Эмиссионные материалы) - это способность объектов не только принимать свет, но и излучать полученный. В сочетании с Real-time Dynamic Global Illumination и SSS это позволит придавать объектам доселе небывалый уровень естественности. Например, раскаленный добела ствол орудия сможет стать собственным источником света. Неплохая находка, например, для хорроров или будущих мультиплеерных игр.

  • Лава на основе EM может не только быть динамическим объектом, но и стать отдельным источником освещения

Естественно, Emissive materials можно применять и к окружению, одним из примеров стала динамическая лава из техно-демо Elemental, которая не только способна течь, благодаря тесселяции и системе частиц, но и становиться источником света.

Image Based Lighting (IBL)

Image Based Lighting (Освещение на основе изображения) - это специальная техника, которая отражает карту освещения на выбранном объекте. В совокупности с новыми технологиями отображения глобальных теней, света и отражений это дает максимально качественную картинку при нынешнем уровне мощности.

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

Particle System

Particle System (Система Частиц) - это одно из самых популярных решений в современных играх. Различные спецэффекты, дым, искры - все это заслуга системы частиц. Но с момента ее появления в видеоиграх идет бесконечная борьба с оптимизацией. Любой гейм-дизайнер захочет повеситься, если ему предложат работать именно с этим эффектом. Эффекты частиц очень требовательны к производительности железа, поэтому их внедрение в игру - процесс долгий и не самый приятный.

Но Epic удалось сделать практически невозможное. UE4 позволяет отображать свыше миллиона частиц в одном кадре в реальном времени на Geforce GTX 680. Это выдающийся результат, если учесть, что в современных играх этот показатель редко превышает несколько тысяч, а чаще и вовсе пару сотен. Новая система частиц будет плотно интегрирована в уже существующие технологии и позволит создавать действительно уникальные и красивые сцены.

Unreal - в первую очередь редактор

Можно и дальше перечислять бесконечный список технологий и алгоритмов, но сам движок не был бы так известен и популярен, если бы не удобный инструментарий. UDK действительно произвел фурор в игровой индустрии, и если Crytek все еще вынуждены рекламировать свой CryEditor, выпуская многомиллионные игры, то Epic в рекламе не нуждаются.

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

  • UDK 2008 года
  • UDK 2012 года. Сразу видно главное отличие - игровой режим находится в правом окне редактора
И в итоге...

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

UE4 станет основной платформой для разработки игр. И как бы не старались DICE или Crytek рекламировать свои новые движки, они не смогут тягаться по удобству и популярности с детищем Epic. Frostbite 2 так и останется привилегией для внутренних студий Electronic Arts. А у CryEngine 3 уже и так есть своя аудитория... среди дизайнеров и архитекторов, там даже UE3 с ним тяжело тягаться. Luminos Engine от Square Enix вообще может не работать в реальном времени, а Fox Engine от Kojima Productions только готовится к дебюту в следующем году, и то пока на Xbox 360 и PS3.

Даже если консоли будущего поколения не потянут в полной мере все возможности движка, то все наработки можно с легкостью перенести в UE3. Это очень важно при новом переходном периоде, когда большинство игр будут разрабатываться под старые и новые платформы одновременно, в том числе и PC. Epic уже перенесли свой аркадный проект Fortnight с UE3 на UE4, но если эта игра звезд с неба не хватает, то она хотя бы станет первой ласточкой next gen. На данный момент известно, что в кулуарах студии идет работа над двумя новыми проектами. По слухам, один основан на новом IP и может стать началом нового большого франчайза. Пока неизвестно связан ли он как-то с Samaritan или Elemental, или нет. Другой продукт станет продолжением всем известной серии Gears of War или Unreal Tournament.

Массовый выход игр на UE4 подстегнет и производителей железа. Мощностей современных топовых графических процессоров хватает даже для многомониторных систем, не говоря уже о связках SLI и Cross Fire, а актуальность GTX 680 пройдет с выходом первых игр. Epic недаром демонстрируют свои техно-демки на карточках от Nvidia, надо же отрабатывать рекламные вложения. Но через год, о GTX 680 уже можно будет забыть, а новые игры потребуют новых графических решений, чтобы удивлять и поражать.

комментарии(9)
Дмитрий 2961, 01 августа 2012, 14:02 Спасибо, хорошая статья. Георгию Тришкину премию XD
theGгурда, 01 августа 2012, 15:52 здорово. автору печеньку:)
Маратя, 01 августа 2012, 16:24 он у нас за еду только и работает :happy:
Георгий Тришкин, 01 августа 2012, 16:27 сегодня борщ
findless, 01 августа 2012, 19:49 За следующую статью добавим к борщу пельмени :)
Cawok32, 01 августа 2012, 16:39 Хорошо расписал все. Молодец
ugryumyi skitalets, 01 августа 2012, 19:06 Годная статья.
Курс мне нравится.
Куда Сандея дели?
Hidracock, 01 августа 2012, 19:27 Кстати да, Сандрикс пропал. Без вести ли?
Георгий Ядвидчук, 01 августа 2012, 21:52 Сандрикс не работает у нас больше. Такие дела.

добавить комментарий

Войти через

Комментарий

Зарегистрируйтесь или авторизуйтесь, чтобы оставлять комментарии.
Чат
Архив