Unreal Engine 2

Unreal Engine 2
Unreal Engine
Тип Игровой движок
Разработчик Epic Games, Inc.
Написана на C++[1], UnrealScript
ОС Кроссплатформенное программное обеспечение
Версия Build 37xx — февраль 2009
Лицензия Собственническое программное обеспечение
Сайт http://www.unrealtechnology.com/

Unreal Engine — игровой движок, разрабатываемый и поддерживаемые компанией Epic Games.

Первая игра, созданная на этом движке — 1998 году. С тех пор различные версии этого игрового движка были использованы в более чем сотне игр, среди которых Deus Ex, Lineage II, Thief: Deadly Shadows, Postal 2, сериях игр Brothers in Arms, Tom Clancy’s Splinter Cell, Tom Clancy’s Rainbow Six, а также в известных игровых сериях Unreal и Unreal Tournament от самих Epic Games. Будучи приспособленным в первую очередь для шутеров от первого лица, движок использовался и при создании игр других жанров.

Написанный на языке C++, движок позволяет создавать игры для большинства операционных систем и платформ: Microsoft Windows, Mac OS и Mac OS X, консолей Xbox 360, PlayStation 2, PlayStation Portable, PlayStation 3, Dreamcast и Nintendo GameCube.

Для упрощения портирования движок использует модульную систему зависимых компонентов: поддерживает различные системы рендеринга (Direct3D, EAX, DirectSound3D; ранее поддерживались A3D), средства голосового воспроизведения текста, распознование речи (только для Xbox360, PlayStation 3, Nintendo Wii и Microsoft Windows[2][3], также планировалось для Linux и Mac[4]), модули для работы с сетью и поддержка различных устройств ввода.

Для игры по сети поддерживаются технологии Windows Live, Xbox Live, и GameSpy, включая до 64 игроков (клиентов) одновременно.[5] Несмотря на то, что официально средства разработки не включают в себя поддержку большого количества клиентов на одном сервере, движок использовался для создания MMORPG-игр. Один из наиболее известных представителей жанра, Lineage II, использует движок Unreal Engine.

Содержание

Основная терминология движка

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

  • Актор (actor) — родительский класс, содержащий все объекты, которые имеют отношение к игровому процессу и имеют пространственные координаты.
    • Павн, пешка (pawn) — физическая модель игрока или объекта, управляемого искусственным интеллектом. Название происходит от англ. pawn — тот, кем манипулируют (pawn можно перевести также как пешка, поэтому такой объект без какой-либо модели выглядит как пешка). Метод управления описан специальным объектом, такой объект называется контроллером. Контроллер искусственного интеллекта описывает лишь общее поведение пешки во время игрового процесса, а такие параметры как «здоровье» (количество повреждений, после которых пешка перестает функционировать) или, например, расстояние, на котором пешка обращает внимание на звуки. задаются для каждого объекта отдельно.
  • Мир, уровень (world, game level) — объект, характеризующий общие свойства «пространства», в котором располагаются все акторы (например, силу тяжести и туман). Также может содержать в себе параметры игрового процесса, как, например, игровой режим, для которого предназначен уровень.

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

Поверхность (surface) является основным элементом двоичного дерева пространства. Эти элементы создаются на грани пересечения между «заполненной» и «пустой» частями пространства. Группа элементов двоичного дерева пространства называется нодом (node, русск. узел). Этот термин, как правило, употребляется в контексте node count — количество нодов на экране или в игровом пространстве вообще. Количество нодов, одновременно видимых на экране влияет на производительность при прорисовке сцены. Если какой-то нод не попадает на экран или перекрывается целиком другими нодами, он не обсчитываются — это служит для повышения производительности, особенно в закрытых пространствах. Разбиение пространства на ноды называется зонированием.[6] Для этого иногда используются антипорталы[7] — невидимые поверхности, которые служат для того чтобы вручную разделить крупный нод на два меньших.[8][9]

Описание «заполненных» и «пустых» частей пространства выполняется с помощью набора замкнутых трехмерных объектов, составленных из не пересекающихся поверхностей — брашей (brush, русск. кисть). Этот принцип построения пространства называется конструктивной блочной геометрией (Constructive solid geometry (англ.)). Геометрия может быть «аддитивной» (все пространство изначально «пустое») и «вычитательной» (изначально заполненное материей пространство). Браши делятся на три типа:

  • Сплошные (solid) — полноценно участвуют в двоичном разбиении пространства.
    • Аддитивные (additive) — «заполняют» двоичное пространство.
    • Вычитательные (substractive) — «вырезают» объемы в пространстве.
  • Полу-сплошные (semi-solid) — не влияют напрямую на двоичное дерево пространства, однако вляют на ее физическую модель. Могут только «заполнять» пространство. Служат для создания «невидимых» препядствий, а также снижения числа полигонов и нодов.[10]
  • Пустые (non-solid) — только создают поверности, не вляют на двоичное дерево пространства. Используются приемущественно для создания объемов (volume) — часть пространства, которая обладает свойствами, отличными от свойств игрового мира. Объемы имеют приоритет, свойства объема с большим приоритетом применяются к находящимся в нем акторам. Игровой мир всегда имеет минимальный приоритет. При помощи объемов можно изменить гравитацию, вязкость, туман и тому подобное. Объемы, начиная с версии движка Unreal Engine 2, используются для создания воды (но не водной поверхности).

Версии движка

Сравнение качества детализации персонажей в разных версиях движка

Unreal Engine 1

Дебютировав в 1998 году, Unreal Engine 1 совмещал в одном движке графический движок, физический движок, искусственный интеллект, управление файловой и сетевой системами и готовую среду разработки для игр контроллера для игрока.[11]

Некоторые технологии движка Unreal Engine были революционно новыми, например использование Dynamic scene graph (DSG). Эта технология позволяла ряд эффектов для наложения на поверхности:

  • Частично или полностью зеркальные поверхности.
  • Технология варпинга (warp) — возможность при прорисовке заменять изображение одной поверхности проекцией изображения на другую, ей параллельную поверхность. Несмотря на то, что ряд объектов мог беспрепятственно переходить через варп-зоны (например, пущенная игроком ракета), присутствовало большое число ограничений на работу таких зон.[12]
  • Скайбокс (Skybox) — проецирование на поверхности отрисовки с другой точки. (которая обычно помещалась в небольшую «коробку» с наложенной текстурой неба, отсюда и название Skybox). Проще говоря, отображение не лицевой грани полигонов, а обратной, с заранее наложенной текстурой «неба» на объект.

Первоначально движок был выпущен с поддержкой для двух платформ: IBM PC (Windows) и Macintosh. Благодаря модульной системе движка была заявлена возможность портирования движка на приставки «нового поколения» того времени и позже был успешно использован на таких платформах как GameCube, PlayStation 2 и Xbox. Также поддерживалась независимость сетевого кода от платформы клиента — пользователи Mac OS могли играть в многопользовательском режиме Unreal с пользователями Microsoft Windows.

Unreal Engine 1.5

В 2001 году вышла улучшенная версия движка Dreamcast и PlayStation 2. Были внесены значительные дополнения — поддержка лицевой анимации, максимальное разрешение текстур увеличено до 1024x1024, расширяемая система «частиц», технология S3TC. Также была интегрирована вторая версия редактора Unreal Tournament, и в аркаде Гарри Поттер и Философский камень.

Через несколько лет группа независимых разработчиков UTPG обратилась к Epic Games за доступом к исходным кодам исполняемых файлов Unreal Tournament, чтобы продолжить поддержку игры. Epic Games приняли предложение и некоторое время команда разработчиков выпускала неофициальные патчи для игры.[13]

Unreal Engine 2

Вторая версия Unreal Engine увидела свет в 2002 году с появлением Unreal Tournament 2003. В ней были практически полностью переписаны ядро и механизм рендеринга, а также интегрирована новая версия редактора Karma[14]. Другие части движка были также улучшены или изменены для лучшей совместимости с PlayStation 2, GameCube и

В связи с переходом на 16-битную графику и использование технологии Karma, использование варп-зон стало затруднено.

Unreal Engine 2.5

В этой версии был в очередной раз улучшен и оптимизирован графический движок — появилась поддержка Direct3D 9, OpenGL 2 и Pixomatic (последняя система рендеринга служит для компьютеров со слабой видеокартой, но мощным центральным процессором). Добавлена поддержка 64-битных операционных систем Windows NT и GNU/Linux. Наиболее возможное разрешение текстур поднято до 4096x4096 пикселов, добавлена полноценная поддержка юникода (DivX и Bink. Кроме того, сам движок был значительно оптимизирован, что позволило добиться большей производительности при тех же системных требованиях.

Эта версия движка была применена в компьютерной игре Unreal Tournament 2004.

Unreal Engine 2X

Специальная версия движка для консоли depth of field (с англ. — глубина зрения), динамическая гамма-коррекция, Xbox Live а также функция разделения экрана.[16]

Был использован в Unreal Championship и Unreal Championship 2.

Новые специальные эффекты в Unreal Championship (Unreal Engine 2X).

Unreal Engine 2 Runtime

Unreal Engine 2 Runtime является специальной версией движка Unreal Engine 2.0 с ограниченной лицензией. Пользователь может загрузить дистрибутив Windows-версии движка с официального сайта (для других операционных систем необходимо приобрести лицензию). В комплекте поставляется редактор карт ucc, а также тестовый уровень и небольшой набор моделей и текстур, демонстрирующие возможности технологии «Unreal». Движок бесплатен для некоммерческих проектов а также для использования в образовательных целей (таких как создание 3D-презентаций). Для использования в коммерческих целях требуется приобрести лицензию.[17][18] Загрузить бесплатную версию, именуемую на официальном сайте как «демо» можно здесь.

Unreal Engine 3

UE3 был разработан с учетом персональных компьютеров, использующих современные системы рендеринга (DirectX 9/10 и OpenGL 2/3), и консолей следующего поколения (PlayStation 3 и Xbox 360). В связи с широким распространением многопроцессорных систем в движок использует два параллельных главных потока — основной поток (отвечающий преимущественно за игровой процесс) и поток рендеринга. Кроме двух главных потоков могут быть вызваны второстепенные, которые выполняют разовые задачи.[19] Появилась поддержка многопоточной динамической загрузки данных (streaming), например, загрузка «локации» непосредственно при перемещении по ней в целях экономии ресурсов.

Обновленный графический движок поддерживает большинство современных технологий, включая HDR, попиксельное освещение, динамические тени, shader model 4, геометрические шейдеры. Сам графический конвейер был переведён под управление шейдеров. От физической подсистемы Karma отказались в пользу оной под названием PhysX от компании AGEIA. Позже AGEIA выпустила набор дополнительных библиотек к игре, позволяющих задействовать все возможности физической системы (такие как эффект «жидкости» или ткани). За анимацию лиц персонажей отвечает механизм FaceFX. Обновлена версия EAX до 5-ой.[20] Добавлена поддержка SpeedTree для генерации деревьев. Упор был сделан на additive-геометрию, однако от поддержки вычитательной геометрии не отказались. Недостатком вычитательной геометрии в первую очередь является гораздо более длительный расчет освещения[21]. Представлен новый редактор wxWidgets.

Unreal Engine 3.5

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

В марте 2009 года был опубликован анонс новых возможностей движка, которые будут представлены на Game Developers Conference 2009. Одним из основных нововведений является новая система расчёта освещения Unreal Lightmass, использующая глобальное освещение без потерь функций, которые были реализованы в более старых системах освещения. Улучшена работа с многопроцессорными системами — распределение задач между многопроцессорными системами с помощью Unreal Swarm, а также ускорение компиляции кода C++ и обработка Unreal Script за счёт Unreal Build Tool (последнее увеличение производительности коснётся только разработчиков или создателей любительских модификаций). Добавлено собственное средство распространения пользовательского контента — Unreal Content Browser. Будет подробнее рассказано о Unreal Master Control Program — новом мастер-сервере, для обновления клиентов и ведения глобальной статистики, который уже используется в Gears Of War 2. В связи с нововведениями Epic Games China планирует продемонстрировать использование движка для массовых многопользовательских онлайн игр.[22]

Unreal Engine 4

18 августа 2005 года вице-президент Epic Games Марк Рейн сообщил, что Unreal Engine 4 уже два года как находится в разработке и его целевыми платформами являются персональные компьютеры и консоли 4-го поколения, а единственным человеком, работавшим над движком, является Тим Свини. Сам же Свини на GDC 2006 объявил, что разработка четвёртого Unreal Engine не начнётся раньше 2008 года, поскольку UE3 будет актуален вплоть до 2010 года.

9 октября 2008 года на TGS группа разработчиков Square Enix сообщила, что они «видели следующий Unreal Engine (Unreal Engine 4)» и «не могут дождаться возможности поработать с ним»[23]. Ранее Square Enix выпустила The Last Remant и «не встречалась с проблемами при работе с Unreal Engine 3».

Гаррет, главный герой игры Thief: Deadly Shadows. Движок Flesh Engine, на основе Unreal Engine 2.

Модифицированные Unreal Engine

Некоторые компании-разработчики предпочитают использовать технологии «Unreal» в качестве основы для разработки собственного движка. Например, Unreal Engine 2 был специально доработан для игры Thief: Deadly Shadows и получил внутреннее имя «Flesh Engine».

Известная компания-разработчик Irrational Games одной из первых внедрила в свой Vengeance Engine (основан на Unreal Engine 2.5) технологию реалистичного освещения HDR, а также физический движок и другие функции, которые ныне широко используются в игровых технологиях. Этот движок был использован в Tribes: Vengeance и SWAT 4.

Игра Vengeance Engine, но затем разработчики частично заменили его на более актуальный Unreal Engine 3. Модифицированная версия стала называться Vengeance Engine 2.[24]

YETI engine и LEAD engine. Примечательно, что обе технологии основаны на Unreal Engine 2.5 и применяются компанией в играх нового поколения, а также используются на консолях Xbox 360 и PlayStation 3.

Лицензирование и исходный код

В конце 1999 года Epic Games опубликовала часть исходных кодов исполняемых файлов Unreal Tournament, что послужило началу работы проекта OpenUT по портированию движка и игры на [25] Linux-версия Unreal Tournament была выпущена в продажу Loki Games.

В данный момент первая версия движка больше не доступна для лицензирования, однако исходный код, необходимый для сборки собственных исполняемых файлов, существует в свободном доступе. Стоит отметить, что они распространяются по «Unreal Retail» лицензии — то есть только для персонального использования.[26] Кроме того, в 2004 году был опубикован исходный код игры [27]

Вторая версия по прежнему доступна для лицензирования. Epic Games предлагают её для создания игр на «действующие» персональные компьютеры или приставок шестого поколения за сумму $ 350 000 и больше (зависит от количества поддерживаемых платформ).[28]

Для некоммерческих проектов, не относящихся к видеоиграм, доступна «закрытая» версия Unreal Engine 2 Runtime. Разработка игр на этой версии движка строго запрещена (несмотря на то что конкретного определения «игр» в лицензии нет) по причине того что «основной доход Epic Games получает от создания игр, и если вы хотите сделать свою игру — сделайте её в качестве модификации к существующему продукту»[29]

Для бюджетных проектов доступно также лицензирование Unreal Engine 2 Runtime по сравнительно низкой цене (от $ 8000). Стоимость лицензии зависит от количества разработчиков (числа «рабочих мест»). Вместе с лицензированием хотя бы одного «рабочего места» доступен заказ заголовочных файлов второй версии движка по цене $ 5000.[30]

Цена лицензирования версий 3.0 и старше не публикуется, однако упоминается что имеется выбор из различных вариантов лицензий, в том числе и для не игровых продуктов.[28]

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

Игры, использующие движки Unreal Engine

Большинство игр на Unreal Engine выполнены в жанре 3D-шутер или аркады, ролевые игры, файтинги и различные симуляторы. Кроме того, движок адаптируется для обработки трёхмерной графики в кинематографе и образовательных целях.

Примечания

  1. Unreal Engine Core — BeyondUnreal Wiki(англ.)
  2. Fonix Speech joins the Unreal Engine 3 (англ.). Fonix Speech. Проверено 24 января 2009.
  3. Fonix VoiceIn Game Edition (англ.). Fonix Speech. Проверено 24 января 2009.
  4. [GD-Linux text to speech and speech recognition libraries] (англ.). Daniel, Epic Games Inc. (Ноябрь 2003). Проверено 24 января 2009.
  5. Unreal Technology Overview — Unreal Engine 3(англ.)
  6. Зонирование — Unreal Wiki (англ.)
  7. Оптимизация уровней с помощью антипорталов — Unreal Developer Network (англ.)
  8. Не следует путать ноды Unreal Engine с ключевыми точками (power nodes) из игровых режимов Onslaught и Warfare в играх серии Unreal Tournament
  9. В версии движка Unreal Engine 3 ввели поддержку аддитивной геометрии, что позволило отказаться от зонирования
  10. Semisolid — Unreal Wiki (англ.)
  11. Unreal Technology Features (англ.). Тим Свини. Проверено 3 декабря 2008.
  12. WarpZoneInfo — BeyondUnreal Wiki(англ.)
  13. UTPG — Working to keep Unreal Tournament Alive!(англ.)
  14. Unreal Technology — Past Versions — Unreal Engine 2(англ.)
  15. Описание игры Unreal Tournament 2003 на сайте GameSpy(англ.)
  16. 1 2 Unreal Engine 2 — Past versions (официальный сайт)(англ.)
  17. Unreal Engine 2 Runtime (официальный сайт)(англ.)
  18. Unreal Engine 2 Runtime (Unreal Wiki)(англ.)
  19. Xfest 2006: Epic and the Unreal Engine – Graphics Technologies and Rendering Techniques (англ.). Dr. Michael V. Capps. Проверено 24 января 2009.
  20. Новая MMORPG NOW на движке Unreal Engine 3
  21. UT3 Level Design: Additive vs Subtractive(англ.)
  22. 'Unreal' Engine Technology 2009 Features Trailer: What Can Epic Games Do For You?. G4.com (25 марта 2009). Проверено 29 марта 2009.
  23. Last Remnant Team So Cannot Wait For Unreal Engine 4 (англ.). kotaku.com (9 октября 2008 год). Проверено 10 октября 2008.
  24. Bioshock, или Unreal Engine 3 идет в массы (рус.). techlabs.by. Проверено 4 декабря 2008.
  25. OpenUT (англ.). SourceForge.net. Проверено 22 октября 2008.
  26. Filefront (англ.). Проверено 24 января 2009.
  27. Shacknews (англ.) (30 сентября 2004). Проверено 24 января 2009.
  28. 1 2 Unreal Engine Licensing Terms
  29. Unreal Engine 2 Runtime EULA
  30. Unreal Engine 2 Runtime Ordering

Ссылки

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Unreal Engine 2" в других словарях:

  • Unreal Engine — Игровой движок (Список) Логотип игрового движка Разработчик Epic Games, Inc. Аппаратная платформа ПК Xbox …   Википедия

  • Unreal-Engine — Entwickler: Epic Games Aktuelle Version: Build 37xx (März 2008) Betriebssystem: Plattformübergreifend, darunter: PC (Microsoft Win …   Deutsch Wikipedia

  • Unreal Engine — Entwickler Epic Games Aktuelle Version Februar 2011 Beta[1] (14. Februar 2011) Betriebssystem Plattformübergreifend, darunter …   Deutsch Wikipedia

  • Unreal Engine 3.0 — Unreal Engine Entwickler: Epic Games Aktuelle Version: Build 37xx (März 2008) Betriebssystem: Plattformübergreifend, darunter: PC (Microsoft Win …   Deutsch Wikipedia

  • Unreal Engine 2.0 — Unreal Engine Тип Игровой движок Разработчик Epic Games, Inc. Написана на C++[1], UnrealScript ОС …   Википедия

  • Unreal Engine 3 — Unreal Engine Тип Игровой движок Разработчик Epic Games, Inc. Написана на C++[1], UnrealScript ОС …   Википедия

  • Unreal Engine 2.5 — Unreal Engine Тип Игровой движок Разработчик Epic Games, Inc. Написана на C++[1], UnrealScript ОС …   Википедия

  • Unreal engine — Тип Игровой движок Разработчик Epic Games, Inc. Написана на C++[1], UnrealScript ОС …   Википедия

  • Unreal Engine — Desarrollador Epic Games www.unrealtechnology.com Información general Lanzamiento 1998 …   Wikipedia Español

  • Unreal Engine — infobox software name = Unreal Engine developer = Epic Games operating system = Cross platform genre = Game engine language = North American English latest release version = Build 37xx latest release date = March, 2008 frequently updated = Yes… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»