From Wikipedia, the free encyclopedia
Unreal Engine e игрови двигател, разработен от Epic Games. За пръв път е демонстриран през 1998 година в играта Unreal. Въпреки че е разработен предимно за шутъри от първо лице, той е използван успешно в редица игри от различни жанрове като стелт, MMORPG и RPG. Софтуерният код на Unreal Engine е написан на езика C++, което му осигурява висока степен на портативност. Днес се използва от много разработчици на игри.
Unreal Engine | |
Информация | |
---|---|
Разработчик | Epic Games |
Последна версия | Unreal Engine 4.15, 15 февруари 2017 |
Език на интерфейса | английски, корейски, китайски, японски |
Вид софтуер | игрови двигател |
Уебсайт | unrealengine.com |
Unreal Engine в Общомедия |
Текущата версия е Unreal Engine 4, предназначена за технологията DirectX 11 и 12 на Майкрософт(за Microsoft Windows, Xbox One и Windows RT); OpenGL (за OS X, Linux, PlayStation 4, iOS, Android, Ouya и Windows XP); и JavaScript/WebGL (за уеб браузъри, поддържащи HTML5[1][2]).
Unreal Engine 1 | |
Информация | |
---|---|
Последна версия | Unreal Tournament build 436 / ноември 2000 |
Програмен език | C++, UnrealScript, Assembly |
Платформа | Microsoft Windows, Linux, Mac OS и OS X, Dreamcast, PlayStation 2 |
Unreal Engine в Общомедия |
С дебюта си през 1998 година с играта Unreal, първото поколение Unreal Engine интегрира рендъринг, откриване на сблъсъци, изкуствен интелект, видимост и полезрение, работа в мрежата, скриптиране, и управление на файлова система в един цялостен двигател. Unreal Engine 1 предоставя напреднал софтуерен растеризатор и хардуерно-ускорен рендъринг използвайки Glide API, специално разработен за 3dfx графични процесори. По-късно е добавена поддръжка за OpenGL и Direct3D. Значителни части от играта са имплементирани чрез вградения скриптов език, наречен UnrealScript. Epic използват двигателя за Unreal и Unreal Tournament. С излизането на Unreal Tournament се отбелязва голям напредък в мрежовата производителност и поддръжката на Direct3D и OpenGL.
Двигателят става популярен благодарение на модулната си архитектура и вградения скриптов език, който улеснява модифицирането. Tactical Ops е игра, започнала като мод за Unreal Tournament и превърнала се в самостоятелно заглавие след цялостна модификация.
По време на интервю със списание Maximum PC, създателят на Epic Games – Тим Суийни заявява, че от самото начало двигателят е проектиран така, че да бъде лесно разширяван и подобряван за бъдещи игри.[3]
Unreal Engine 2 | |
Информация | |
---|---|
Последна версия | Unreal Engine 2.5 build 3369 / ноември 2005 |
Програмен език | C++, UnrealScript |
Платформа | Microsoft Windows, Linux, OS X, Xbox, PlayStation 2, GameCube |
Unreal Engine в Общомедия |
Втората версия прави своя дебют през 2002 година в „Армията на Америка“ – безплатна мултиплеър шутър игра, създадена и спонсорирана от американската армия. В тази версия основния код и съответстващия игрови двигател са напълно пренаписани. Освен това тя включва и UnrealEd 2, което присъства и в предишна версия на игровия двигател, скоро след което е последван от UnrealEd 3, заедно с Karma physics EDK. Този физичен двигател осъществява рагдол физиката (процедурна анимация, използвана за пресъздаване на определени статични анимации) в Unreal Tournament 2003 и Unreal Championship. Други елементи на двигателя също са надградени, като например добавянето на съпорт за GameCube и Xbox.
Unreal Engine2.5, ъпдейт на оригиналната версия на UE2, подобрява представянето си и добавя транспортна физика, редактор за частици за UnrealEd, а също така и 64-битов съпорт за Unreal Tournament 2004. Специално издание на UE2.5, наречен UE2X, е използван за Unreal Championship 2: The Liandri Conflict за оригиналната Xbox платформа. То съдържа оптимизации специфични за тази конзола. UE2X e създадена през март 2004 като билд 2227. През март 2011 е обявено, че UE2.5 е съвместима с Nintendo 3DS.[4]
Unreal Engine 3 | |
Информация | |
---|---|
Последна версия | Unreal Engine 3 build 12791.2424394 / февруари 2015 |
Програмен език | C++, C#, UnrealScript, GLSL, Cg, HLSL |
Платформа | Microsoft Windows, Linux, OS X, Xbox 360, Xbox One, PlayStation 3, PlayStation 4, Wii U, Android, iOS, Windows RT, and PlayStation Vita, Adobe Flash Player, HTML5 |
Unreal Engine в Общомедия |
Първи скрийншотове на третата версия са презентирани през 2004 година[5], като към този момент този енджин вече е разработван от 18 месеца[6]. За ралика от втората версия, която все още поддържа пренос с фиксирани функции, третата версия използва пълните възможности на изцяло програмиран шейдър хардуер. Всички изчисления за светлината вече се правят на вертекс, а не на пиксел. От гледна точка на рендъринга, UE3 вече предоставя поддръжка за гама високо-динамичен диапазонов рендърър. В UE3 са отчетени очакванията че съдържанието ще бъде както с висока, така и с ниска резолюция, а също така и присъствието на нормални карти за рънтайм. Основна разлика с предишните поколения двигатели е, че съдържанието на играта е моделирано директно. (Тъй като нормалното картиране е операция „на пиксел“и почти цялото динамично осветяване в UE1 и UE2 се е калкулирало „на вертекс“ посредством шединг техниката на Гуро).
Третото поколение на двигателя е проектирано за DirectX(версии 9 – 11 за Windows, Windows RT и Xbox360) както и за системи използващи OpenGL, включително OS X, iOS Android, Stage3D за Adobe Flash Player 11 и javascript за HTML браузъри[7]. Първоначално, UE3 поддържа само Windows, Xbox и PlayStation, докато поддръжката на Android и iOS е добавена през 2010. OS X съпорт е добавен през 2011. Неговият рендърър поддържа много напреднали технологии като HDRR, осветяване „на пиксел“ и динамични сенки. Също така се надграждат наличните инструменти от предишни версии. През Октомври 2011, двигателят започва да поддържа Adobe Flash Player 11 през Stage3D хардуерно акселерирани API-та. Epic използват тази версия на двигателя за разработването на своите игри. Агресивното лицензиране за тази итерация получава широка подкрепа от много известни лицензанти. Epic обявяват, че UE 3 работи на Windows 8 и Windows RT. Първата конзолна игра, използваща UE 3 е Gears of War, докато първата компютърна игра е RoboBlitz.
Освен в гейминг индустрията, UE3 е припознат и в много проекти от други сфери. Например:
Въпреки че UE3 е доста отворено за разработчици възможността да се публикуват и продават игри, за направата на които е използван UE3, са ограничени само до лицензиантите на двигателя. През ноември 2009 Epic издава безпалтна версия на UE3 SDK, наречена Unreal Development Kit(UDK). Според условията за ползване, разработчиците на игри могат да продават своите игри, плащайки на Epic цената от 99 долара, както и 25 процента от приходи, свързани с UDK (ако приходите надвишават 50 000 долара) за всички базирани на UDK игри или комерсиални апликации[10].
През 2010 УДК добавя поддръжка за създаване iOS игри и апликации. Пакетът на UDK за iOS[11] включва:
От септември 2011 iOS, OS X и Windows поддържат всички игри, създадени с UDK.
През живота на UE3 значителните обновения са:
Unreal Engine 4 | |
Информация | |
---|---|
Последна версия | Unreal Engine 4.10 / 11 ноември 2015 |
Програмен език | C++, C#, GLSL, Cg, HLSL (без UnrealScript) |
Платформа | Microsoft Windows, Linux, OS X, Xbox One, PlayStation 4, HTML5, iOS, Android |
Unreal Engine в Общомедия |
В надпреварата „Направете нещо нереално“ (от англ. „Make Something Unreal“) амбициозни разработчици на игри създават модификации в редица категории, измежду които нива, персонажи, превозни средства, оръжия, типове игра и други. Печалбите са търговски лицензи за Unreal Engine, хардуер и парични награди за над $500 000, което прави общия награден фонд над 1 милион долара. Към 2015 година са проведени четири издания на конкурса (2004, 2008, 2012, 2013). Участниците се оценяват в четири предварителни фази преди финала.
Unreal Engine 3 и 4 печелят множество награди и признания, измежду които:
Epic Games предоставя безплатни лицензи за Unreal Engine. Някои типове лицензи и техни получатели са:
UnrealScript (съкратено UScript) е скриптовият език на Unreal Engine. Използва се за авторизиране на игровия код и на геймплей събитията преди официалното излизане на Unreal Engine 4. Предназначението на езика е да направи програмирането на игри от високо ниво[13] лесно и просто. Интерпретаторът на UnrealScript е създаден от Тим Суийни.
Подобен на Java, UnrealScript е обектно-ориентиран, но без многократно наследяване, т.е. класовете се наследяват от обикновен Object клас и са дефинирани в отделни файлове, именувани като класа, който описват. Интерфейсите са поддържани само в трета генерация на Unreal Engine, но също и в някои от игрите, програмирани на Unreal Engine 2. Освен че улеснява процеса по модифицирането на игри, UnrealScript е спомогнал за разрастването на голямо modding общество сред Unreal сериите.
UnrealScript използва два стила за коментиране на кода. Едноредов коментар (започващ с //
до края на реда) и многоредов коментар (започващ с /*
и завършващ с */
).
// Едноредов коментар
class Foo extends Object;
/* Многоредов
коментар */
var Object Foo;
([a-zA-Z0-9_\- ]*)
UnrealScript използва функции, подобни на тези в C/C++/Java. Функциите се декларират с ключовата дума: function, последвана от незадължителен return тип, от име и от параметри на функцията.
Декларирането на функцията може да изглежда по следния начин:
[modifiers] function [modifiers] datatype] name([parameters]) [const];
точка и запетая (;) е нужна само ако функцията няма тяло.Пример за проста функция в UnrealScript, която събира две числа:
function int Add(int a, int b)
{
return a + b;
}
Това е пример за отпечатването на текста „Hello world“, използвайки синтаксиса на UnrealScript:
class HelloWorld extends GameInfo;
event InitGame(string Options, out string Error)
{
`log("Hello, world!");
}
Когато HelloWorld се инициализира, на конзолата ще се отпечата следният текст:
Hello, world!
Unreal Editor, или UnrealED, е редактор, използван за създаването на нива в игрите от серията Unreal. Използва се и от други игри, разработени чрез Unreal Engine, като Deus Ex и Lineage II. Всички игри от серията Unreal за персонални компютри, а и много други, които използват двигателя, включват редактора без допълнителна такса. Това удължава живота на игрите. Непрофесионални дизайнери на нива могат да създават собствени такива за игрите, като така се създава неограничено допълнително съдържание.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.