Игровая графика поколения NEXT: Unreal Engine 3.0 в подробностях

Нельзя не согласиться, что в современном мире высоких технологий основным двигателем прогресса является игроиндустрия. Гигагерцовые процессоры, высокопроизводительные видеокарты… Неизвестно сколь долго мы бы шли к этому, если бы не игры. Размышлять над этим, конечно, интересно и полезно, но вы, прочитав заглавие статьи, скажете, что заглянули на эту страницу не за этим. Сегодня мы рассмотрим в подробностях новое творение легенды игростроения компании Epic Games, движок Unreal 3.0.

Немного истории

Но давайте все-таки ненадолго отвлечемся от главной темы статьи и вернемся в прошлое, дабы проследить, как все начиналось.

А возникло все это в далеком уже 1996 году, когда богоподобный Джон Кармак и компания id Software являют миру первую по-настоящему трехмерную игру – Quake. Предыдущие игры компании Doom и Doom 2 сразу отходят на второй план. А новое детище id Software обретает широкий круг поклонников и заслуженно становится обладателем звания “Игра года” по версии многих изданий. А потом появляется Quake 2, который, мы надеемся, вы помните.

Почти одновременно с выходом второй части Quake свое шествие по планете начинает Unreal, шутер от конкурентовid Software, компанииEpic Games (тогда она называлась Epic MegaGames). В это время и наступила "холодная война" между id и Epic. Движок Q2 мог похвастаться таким параметром, как масштабируемость, а творение Epic предлагало гораздо более красочную картинку и отменную реализацию огромных открытых пространств (коими в Q2 даже не пахло), но с большими системными требованиями.

Эта конкурентная борьба продолжалась вплоть до выхода Quake 3, который по всем параметрам заткнул за пояс безнадежно устаревший к тому моменту Unreal. Однако доблестная Epic Games и не думала сдаваться – спустя некоторое время выходит Unreal Tournament, который вновь выравнивает счет. На протяжении нескольких лет не умолкали споры о том, чей движок лучше, но, как нам показалось, между UT и Q3 были такие же различия, как между первым Unreal и вторым Quake.

Затем id Software полностью сосредотачивается на разработке Doom 3. Epic в то время стахановскими темпами проводит работы над Unreal Tournament 2003. Игра выходит, а ее создатели выбиваются в лидеры этой сумасшедшей гонки технологий, id продолжает работать над Doom 3, а Epic закрепляет свой успех выпуском Unreal Tournament 2004.

Что было дальше, вы сами прекрасно знаете: выходит Doom 3, который тут же принимается за эталон игровой графики. Но и сейчас Epic не думает сдаваться и ведет активную разработку третьей версии своего движка Unreal, который так и называется Unreal Engine 3.0., и вновь призван заткнуть за пояс последнее творение Джона Кармака. Однако на горизонте маячит Half Life 2 со своим движком Source, но его мы сегодня, так и быть, не тронем.

Все пресс-релизы в первую очередь обращали внимание на то, что сей движитель станет первым, полностью поддерживающим возможности DirectX 9.0 и реализующим Shader Model третьей версии. Однако список возможностей UE3 на этом не заканчивается. В этой статье мы подробно остановимся на каждом элементе нового движка. Итак, поехали!..

Графика

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

Итак, в первую очередь обратим внимание на то, как будут отображаться модели персонажей.

Основные модели персонажей (или модели основных персонажей?..) создаются с использованием сразу двух мешей. Первый меш (основной) состоит из нескольких (от 2 до 7) тысяч полигонов, в то время как второй (детализированный) насчитывает несколько миллионов. Специальное встроенное приложение трассирует лучи на основе второго меша, а затем генерирует карту нормалей ("normal map"), которая накладывается на основной меш при рендеринге. В результате этого модели, состоящие из нескольких тысяч треугольников выглядят так, как составленные из нескольких миллионов полигонов. При этом их обработка не требует сверхъестественных вычислительных мощностей. Для того, чтобы читатели поняли, как работает технология карт нормалей необходимо немного углубиться в технические детали.

Сегодняшние трехмерные объекты состоят из некоторого числа треугольников, на которые "натянуты" 2D текстуры. Реалистичные изображения с множеством деталей и неровностей можно получить весьма просто: нужно всего лишь увеличить количество используемых полигонов. Переходы между границами трехмерного объекта станут более плавными, мелкие детали выделятся и т.д. Все достаточно просто – знай повышай себе количество полигонов да любуйся на все улучающийся трехмерный объект. Но на самом деле, дополнительные полигоны обойдутся при рендеринге графическому процессору неслабой нагрузкой, что неминуемо скажется на скоростных показателях рендеринга сцены, иными словами, значение fps будет явно прихрамывать. Именно для того, чтобы решить вопрос с приданием изображению наилучшего визуального вида с минимально-возможными потерями ресурсов графического процессора и памяти, были разработаны различные технологии имитации рельефности, одной из которых  карты нормалей, по сути, и являются.

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

Что же требуется от разработчиков, чтобы задействовать эту технологию? Как оказалось, не очень много =):

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

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

Для наглядности мы приводим изображения моделей из первой и третьей версий UE. Вот вам реальный пример того, каких высот можно достигнуть при использовании normal maps.

 

Отличительной особенностью движка Unreal, начиная с первой его версии, была великолепная реализация огромных открытых пространств. В процессе разработки третьей версии UE девелоперы обращают на этот компонент гораздо больше внимания, чем раньше. Во время первой демонстрации возможностей UE3 публика стала свидетелем чего-то невероятного. Открытые пространства не только увеличились в размерах, но и стали в разы более детализированными. Каждый элемент ландшафта имеет свою тень… И это одновременно с тем, как плывущие шейдерные облака отбрасывают свои собственные тени. Поражает также количество всевозможных мелких деталей: неровности, небольшие высотные перепады, трава, реально гнущаяся под напором виртуального ветра…

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

Конвейер рендеринга  работать с 64-битным цветом расширенного динамического диапазона (High Dynamic Range). Линейное цветовое пространство с корректным коэффициентом контрастности позволяет достичь идеальной цветовой точности при поддержке широкого спектра пост-процессинговых эффектов вроде цветовых акцентов, световых корон и изменения глубины резкости.

В качестве примера можно привести процесс освещения HDR Lighting, посредством которого реализуется ореол у светящихся объектов. Говоря простым языком, ярко освещенные поверхности блестят так, что вокруг них создается отраженное свечение.

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

Физика и анимация

Теперь перейдем к рассмотрению реализации физики. Это может показаться странным, но в процессе разработки сотрудникам Epic Games пришлось отказаться от своего собственного физического движка Karma, результаты функционирования которого мы могли видеть в UT 2003, UT 2004, Unreal 2: The Awakening, а также в Rainbow Six: Raven Shield. Выбор разработчиков пал на перспективную технологию швейцарской компании Novadex. Сравнивать этот движок с пресловутым Havok-ом, который использовался в Max Payne 2, Painkiller, Far Cry и будет использоваться в Hal Life 2 мы не будем, пока не увидим его в действии.

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

  • Физическая система твердых тел с поддержкой взаимодействия игрока с объектами;
  • Ragdoll-анимация персонажей;
  • Сложные транспортные средства;
  • Разбираемые на части объекты;
  • Расчленяемые модели персонажей.

Кроме того, все отрендеренные объекты имеют целый ряд физических параметров. Например, трение. Физический движок UE3 будет учитывать этот параметр гораздо скрупулезнее Havok-a. Вот вам и первая причина, по которой пришлось отказаться от Karma Engine – ей такое и не снилось.

А как вам такое заявление: "Звук тоже будет подчиняться законам физики?.." Мы пока и сами с трудом представляем, как это будет реализовано. Скорее всего, будет учитываться скорость звука. То есть если на большом расстоянии от игрока раздастся взрыв, то услышать его можно будет лишь спустя некоторое время, после того, как вы его увидите.

Еще один интересный момент – инструмент PhAT. Эта встроенная в редактор Unreal Editor утилита позволит игроку изменять свойства  объектов и в реальном времени проверять результаты изменений. Изменению поддаются абсолютно  все параметры.

 

Что до анимации, то здесь тоже нас ожидает немало приятных сюрпризов:

  • Все движения "сняты" и преобразованы с применением технологии motion capture;
  • Скелетная анимация поддерживает до четырех влияний костей на вершину;
  • Число костей на скелет достигает 200 штук.

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

"Железная" сторона

Теперь пришло время поведать вам о системных требованиях, которые предъявляет UE3. Без преувеличения будет сказано, что на сегодняшний день они монструозные. Минимальной конфигурацией названа P4-3.2 GHz, 1024 Mb RAM и видеокарта уровня X800. Однако разработчики заверяют, что к моменту появления первых проектов на движке UE3 (конец 2005 – начало 2006 года) эта конфигурация будет не hi-end-системой, среднестатистической игровой машиной.

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

Вместо заключения

Очень не хочется в очередной раз повторять затертую фразу "время не стоит на месте", но придется… Не будем ударяться в воспоминания о том, как мы восхищались движком Quake 3, отбросим в сторону восторженные крики после первого взгляда на Unreal Tournament 2003… Все это уже в прошлом. Пока бал правит новоявленный Doom 3 Engine, в стенах Epic Games ваяется то, что сделает контрольный выстрел в старое как мир предубеждение "графика в играх – не главное"… Первый проект на новом творении Epic выйдет на Xbox 2 одновременно с релизом новой игровой консоли. Вслед за ним начнут появляться и первые проекты для РС…

Права на использование новой Unreal-технологии в своих играх, не смотря на большую цену ($800.000), уже приобрели 20 компаний с мировыми именами. Среди них, как мы писали в игровой ленте новостей, такие гранды, как BioWare Corp иUbiSoft. Судьба всех игр на основе UE3 предопределена: это как минимум всемирное признание, умопомрачительные показатели продаж и… высшие оценки и награды в самых авторитетных изданиях.

Полезные ссылки:

  • Ролик с E3
  • Небольшое видео с фрагментами игры
  • Ролик 2
  • Интервью с Тимом Свини
  • Скриншоты

P.S. В этой статье мы не стали заострять внимание на сетевых возможностях движка и на функциональности нового игрового редактора. Да и зачем?.. В настоящий момент это далеко не самые примечательные особенности нового движка. К опущенным моментам мы вернемся, когда начнут появляться первые игры на Unreal Engine 3.0.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Дата публикации:
Автор публикации: