overklig motor | |
---|---|
Sorts | Spelmotor ( lista ) |
Utvecklaren | episka spel |
Nyckelprogrammerare _ | Tim Sweeney |
Utgivningsdatum | 1996 |
Hårdvaruplattform |
PC Xbox Xbox 360 Xbox One Xbox Series X/S GameCube Wii Wii U Nintendo Switch Dreamcast PlayStation 2 PlayStation 3 PlayStation 4 PlayStation 5 PlayStation Portable PlayStation Vita |
OS som stöds | macOS , Microsoft Windows , Linux , iOS , Android [1] |
Skrivet på språk | C++ [2] |
Licens | en reklamfilm |
senaste versionen | 5.0 / 5 april 2022 |
Första spelet på motorn | Overkligt / 1998 |
Officiell sida | |
Mediafiler på Wikimedia Commons |
Unreal Engine är en spelmotor utvecklad och underhållen av Epic Games . Det första spelet på den här motorn var förstapersonsskjutaren Unreal , som släpptes 1998 . Även om motorn ursprungligen var avsedd för utveckling av first-person shooter-spel , har efterföljande versioner av den framgångsrikt använts i spel av en mängd olika genrer, inklusive stealth-spel , fightingspel och massivt multiplayer-rollspel online . Tidigare distribuerades motorn på månadsabonnemangsbasis; sedan 2015 har Unreal Engine varit gratis, men utvecklare av applikationer som använder den måste överföra 5 % av royalties från globala inkomster med vissa villkor [3] .
Motorn är skriven i C++ och låter dig skapa spel för de flesta operativsystem och plattformar : Microsoft Windows , Linux , Mac OS och Mac OS X ; konsoler Xbox , Xbox 360 , Xbox One , PlayStation 2 , PlayStation 3 , PlayStation 4 , PlayStation 5 , PSP , PS Vita , Wii , Dreamcast , GameCube , etc., samt på olika bärbara enheter, såsom Apple -enheter ( iPad , iPhone ) som hanteras av iOS- systemet och andra. (För första gången presenterades arbete med iOS 2009 [4] , 2010 demonstrerades motorn på en enhet med webOS- systemet [5] ).
För att förenkla porteringen använder motorn ett modulärt system av beroende komponenter; stöder olika renderingssystem ( Direct3D , OpenGL , Pixomatic ; tidiga versioner: Glide , S3 , PowerVR ), ljuduppspelning ( EAX , OpenAL , DirectSound3D ; tidigare: A3D ), text-till-tal, taligenkänning [6] [7] [ 8] , moduler för att arbeta med nätverket och stödja olika inmatningsenheter.
För onlinespel stöds Windows Live , Xbox Live , GameSpy och andra tekniker, inklusive upp till 64 spelare (klienter) samtidigt. Således var motorn också anpassad för användning i MMORPG-spel (ett exempel: Lineage II ).
Alla element i spelmotorn representeras som objekt som har en uppsättning egenskaper och en klass som definierar de tillgängliga egenskaperna. I sin tur är vilken klass som helst en "barn"-klass av objekt . Bland huvudklasserna och objekten kan följande särskiljas:
För att arbeta med enkla och, som regel, fasta element i spelutrymmet (till exempel väggar), används en binär uppdelning av utrymme - hela utrymmet är uppdelat i "fyllt" och "tomt". Alla objekt är placerade i den "tomma" delen av utrymmet, och endast i den kan det finnas en "observationspunkt" när scenen återges. Möjligheten till hel eller partiell placering av objekt i den "fyllda" delen av utrymmet är inte utesluten, men det kan leda till felaktig bearbetning av sådana objekt (till exempel beräkning av fysisk interaktion) eller felaktig återgivning om en "synpunkt ” placeras där (till exempel effekten av ”spegelsalen”) . Alla bönder som faller in i den "fyllda" delen av utrymmet "dör".
Ytan ( ytan ) är huvudelementet i det binära rymdträdet. Dessa element skapas på kanten av skärningspunkten mellan de "fyllda" och "tomma" delarna av utrymmet. En grupp av element i ett binärt rymdträd kallas en nod ( nod , Rus. knot ). Denna term används vanligtvis i samband med nodräkning - antalet noder på skärmen eller i spelutrymmet i allmänhet. Antalet noder som är synliga på skärmen samtidigt påverkar prestandan när scenen renderas. Om någon nod inte träffar skärmen eller är helt täckt av andra noder, beräknas den inte - detta tjänar till att förbättra prestandan, särskilt i slutna utrymmen. Uppdelningen av hela utrymmet i grupper av noder kallas zonindelning [9] .
För detta används ibland portaler [10] - osynliga ytor som tjänar till att manuellt dela en stor nod i två mindre (i Unreal Engine 3-versionen introducerades stöd för additiv geometri, vilket gjorde det möjligt att överge zonindelning). Förutom portaler används antiportaler [11] .
Beskrivningen av "fyllda" och "tomma" delar av rymden utförs med hjälp av en uppsättning slutna tredimensionella objekt som består av icke-korsande ytor - borstar ( borste , rysk borste ). Denna princip att konstruera rymden kallas konstruktiv solid geometri . Geometri kan vara "additiv" (allt utrymme är initialt "tomt") och "subtraktivt" (till en början fyllt med materieutrymme).
Borstar är indelade i tre typer:
Motorn är utrustad med en verktygslåda ( SDK ), inklusive UnrealEd- redigeraren .
1998 var Unreal Engine 1 en av de första spelmotorerna i denna mångsidighet; den kombinerade en grafikmotor , en fysikmotor , artificiell intelligens , fil- och nätverkssystemhantering och en färdig utvecklingsmiljö för spel - UnrealEd . Med tanke på prestandanivån för de flesta datorer på den tiden, förenklade utvecklarna något av vissa delar av motorn: kollisionsdetekteringssystem , nätverkskod, kontrollkod för spelaren [13] .
Vissa av Unreal Engines teknologier var revolutionerande för den tiden, till exempel användningen av en dynamisk scengraf . Denna teknik gjorde det möjligt att lägga till ett antal effekter för överlagring på ytor:
Motorn var en av de första som introducerade en haloeffekt runt ljuskällor som slocknade mjukt och täcktes av väggarnas kanter när spelaren rörde sig ; lava och vissa texturer av vattenpölar som droppar föll i görs dynamiska på grund av användningen av processuella texturer snarare än shaders, som i sena spel; och fotorealistisk animerad himmel.
Motorn släpptes ursprungligen med stöd för två plattformar: Windows och Macintosh . Tack vare motorns modulära system hävdades det att motorn kunde portas till den tidens "nya generationens" konsoler och användes senare framgångsrikt på plattformar som GameCube , PlayStation 2 och Xbox . Det stödde också nätverkskodens oberoende från klientplattformen - Mac OS-användare kunde spela Unreal multiplayer-läge med Windows-användare.
Unreal Engine 1.51999 släpptes en förbättrad version av Unreal-motorn, designad för moderna (på den tiden) datorer och Dreamcast- och PlayStation 2-konsolerna . Betydande tillägg har gjorts, inklusive: stöd för ansiktsanimering för karaktärer; maximal texturupplösning ökad till 1024x1024, expanderbart "partikel"-system, S3TC-teknik . Den andra versionen av UnrealEd- redigeraren har också integrerats .
Den här versionen av motorn används i multiplayer - skjutspelet Unreal Tournament och i äventyrsspelet Harry Potter and the Philosopher's Stone .
Några år senare kontaktade en grupp oberoende utvecklare, UTPG, Epic Games för att få tillgång till källkoderna för Unreal Tournament -körbara filer för att kunna fortsätta stödja spelet. Epic Games accepterade erbjudandet och under en tid släppte utvecklingsteamet inofficiella patchar för spelet [15] .
Den andra versionen av Unreal Engine såg dagens ljus 2002 med tillkomsten av Unreal Tournament 2003 , America's Army: Operations och Unreal Championship . Kärnan och renderingsmotorn skrevs nästan helt om i den, och en ny (tredje) version av UnrealEd- redigeraren integrerades . Dessutom integrerades Karma- fysikundersystemet i det , vilket stödde ragdoll-fysik och andra innovationer, vilket gjorde det möjligt att uppnå mer realistiskt karaktärsbeteende och interaktion med omvärlden. Andra delar av motorn har också förbättrats eller modifierats för att vara mer kompatibla med PlayStation 2 , GameCube och Xbox .
Följande tekniker har dykt upp:
På grund av övergången till 32-bitars grafik och användningen av Karma-teknik har användningen av warp-zoner blivit svår.
Unreal Engine 2.5I den här versionen förbättrades och optimerades grafikmotorn återigen - stöd för Direct3D 9, OpenGL 2 och Pixomatic dök upp (det senare renderingssystemet används för datorer med ett svagt grafikkort, men en kraftfull centralprocessor). Tillagt stöd för 64-bitars Windows NT och GNU/Linux operativsystem . Högsta möjliga texturupplösning höjdes till 4096x4096 pixlar, fullt stöd för Unicode ( 16-bitars ) lades till, vilket gjorde det möjligt att skapa helt lokaliserade spel på asiatiska språk.
Dessutom har själva motorn optimerats avsevärt, vilket möjliggör bättre prestanda med samma systemkrav. Nu kan du spela upp video i DivX- och Bink -format . Senare versioner introducerade systemet för att skapa SpeedTree- träd .
Denna version av motorn användes i datorspel som Unreal Tournament 2004 , Pariah , Killing Floor och många andra.
Unreal Engine 2 RuntimeUnreal Engine 2 Runtime är en specialversion av Unreal Engine 2.0 (baserat på build 2226) med en begränsad licens. Motorn ersattes senare av UDK, en billigare version av Unreal Engine 3.
Användaren kunde ladda ner distributionssatsen för Windows -versionen av motorn från den officiella webbplatsen (för andra operativsystem var det nödvändigt att köpa en licens). Satsen innehöll kartredigeraren UnrealEd , verktyget ucc , samt en testnivå och en liten uppsättning modeller och texturer som visar teknikens kapacitet. Motorn är gratis för icke-kommersiella projekt, såväl som för utbildningsbruk (som att skapa 3D- presentationer).
Kommersiell användning krävde köp av en licens.
Unreal Engine 2XEn specialversion av motorn för Xbox -konsolen , baserad på version 2.0. Förutom kodoptimering har nya visuella effekter introducerats, såsom skärpedjup (skärpedjup), dynamisk gammakorrigering, bloom och olika oskärpa variationer . Texturformatet har ändrats till mer realistiska högupplösta skuggor, lagt till minnesspårning , stöd för röstchatt, Xbox Live och en delad skärmfunktion.
Användes endast i Unreal Championship 2 .
Skärmdumpar av Unreal Engine 3 släpptes i juli 2004, när motorn hade varit under utveckling i över 18 månader [16] . Versionen utvecklades med persondatorer med moderna renderingssystem (DirectX 9/10 och OpenGL 2/3) och nästa generations konsoler ( PlayStation 3 och Xbox 360 ) i åtanke. På grund av den utbredda användningen av multiprocessorsystem använder motorn två parallella huvudtrådar - huvudtråden (ansvarig främst för spelprocessen) och renderingstråden. Utöver de två huvudtrådarna kan sekundära trådar kallas, som utför engångsuppgifter [17] . Det finns stöd för multitrådad dynamisk dataladdning ( streaming ), till exempel att ladda en "plats" direkt när man flyttar runt den för att spara resurser.
Den uppdaterade grafikmotorn stöder de flesta moderna tekniker, inklusive HDR , per-pixel belysning, dynamiska skuggor, shader modell 4, geometri shaders. Själva grafikpipelinen överfördes under kontroll av shaders.
Det fysiska delsystemet Karma övergavs och ersatte det med PhysX från AGEIA . Senare släppte AGEIA en uppsättning ytterligare bibliotek för spelet, så att du kan använda alla funktioner i det fysiska systemet (som effekten av "vätska" eller vävnad).
FaceFX- animationsmotorn utvecklad av OC3 Entertainment ansvarar för animeringen av karaktärernas ansikten . Uppdaterad EAX- version till 5:e. Tillagt stöd för SpeedTree- teknik för att generera träd. Tonvikten lades på additiv geometri, men stödet för subtraktiv geometri övergavs inte. Nackdelen med subtraktiv geometri är i första hand en mycket längre beräkning av belysning [18] .
En ny UnrealEd- redigerare har introducerats , omskriven med wxWidgets .
Ursprungligen stödde Unreal Engine 3 bara Windows, PlayStation 3 och Xbox 360-plattformar, medan iOS (första demo - Epic Citadel) och Android lades till senare under 2010, med de första spelen Infinity Blade på iOS och Dungeon Defenders på Android. Vid Adobe Max-evenemanget i Los Angeles demonstrerades motorn med hjälp av Adobe Flash 11 -plattformen .
De första Unreal Engine 3-spelen var Gears of War för Xbox 360 och RoboBlitz för Windows, som släpptes den 7 november 2006.
Unreal Development Kit (UDK)Medan Unreal Engine 3 var öppen för modding, var möjligheten att sälja UE3-baserade spel begränsad till de som hade en licens för spelmotorn.
Men i november 2009 släppte Epic Games en gratisversion baserad på Unreal Engine 3, kallad Unreal Development Kit (UDK), som blev tillgänglig för alla nybörjare. (Motorn uppdaterades parallellt med utvecklingen av den kommersiella versionen och började så småningom baseras på Unreal Engine 3.5).
Enligt EULA kan spelutvecklare sälja sina spel med en engångsbetalning på $99 till Epic Games. I händelse av att en kommersiell produkt baserad på UDK tjänar totalt $50 000 i vinst, kommer utvecklaren att tvingas betala 25% royalties till Epic Games. I december 2010 släpptes en version av UDK för att stödja skapandet av spel för iOS- plattformen .
Unreal Engine 3.5I den här versionen skedde en annan utveckling av den grafiska komponenten. Så bland annat lades efterbehandlingsfiltret Ambient occlusion till , som förbättrar skuggor och belysning. Antalet bearbetade tecken i ramen har utökats. Den dynamiska vattenyttekniken har designats om till en ny nivå, mjuk kroppsfysik och förstörbara miljöer har också förbättrats avsevärt.
I mars 2010 publicerades tillkännagivandet av nya funktioner i motorn, som presenterades på Game Developers Conference 2010 . En av de stora innovationerna är det nya Unreal Lightmass- belysningssystemet , som använder förlustfria globala belysningsfunktioner som implementerades i äldre belysningssystem. Förbättrat arbete med multiprocessorsystem - fördelning av uppgifter mellan multiprocessorsystem som använder Unreal Swarm , samt snabbare kompilering av C++-kod och bearbetning av Unreal Script på grund av Unreal Build Tool (den senaste ökningen av prestanda kommer bara att påverka utvecklare eller skapare av amatörer ändringar). Lade till sitt eget sätt att distribuera användargenererat innehåll - Unreal Content Browser , dök upp Unreal Master Control Program - en ny masterserver för att uppdatera klienter och underhålla global statistik, som redan används i Gears of War 2 . I samband med innovationerna planerade Epic Games China att demonstrera användningen av motorn för massivt multiplayer onlinespel [19] .
2011 visade Epic Games en video om de senaste uppdateringarna av motorn - Samaritan ("Samaritan") [20] ; pressen och spelare började kalla det "Unreal Engine 3.9" [21] . I nästa uppdatering fick den tredje generationens motor stöd för DirectX 11, såväl som en enorm mängd relaterade teknologier.
Den 18 augusti 2005 rapporterade Epic Games vicepresident Mark Rein att Unreal Engine 4 har varit under utveckling i två år nu och att dess målplattformar är persondatorer och 8:e generationens konsoler , och den enda personen som arbetar med motorn är Tim Sweeney . Sweeney tillkännagav själv vid GDC 2006 att utvecklingen av den fjärde Unreal Engine inte skulle börja förrän 2008, eftersom UE3 skulle vara relevant till åtminstone 2010.
Den 9 oktober 2008 på TGS meddelade Square Enix utvecklingsteam att de "har sett nästa Unreal Engine (Unreal Engine 4)" och "kan inte vänta med att arbeta med den" [22] . Square Enix släppte tidigare The Last Remnant och "hade inga problem med att köra Unreal Engine 3".
Unreal Engine 4 tekniska demopresentation hölls på E3 2012 den 7 juni.
Den 19 mars 2014 började Unreal Engine 4 sin gratisdistribution för alla med en prenumeration på $19 per månad. Källkoderna publiceras också på GitHub- förvaret .
Den 2 mars 2015 tillkännagav Epic Games en förändring i distributionssystemet: motorn blev gratis för alla utvecklare, förutsatt att vinsten från applikationer skapade baserade på motorn inte överstiger 3 000 $ per kvartal [23] .
Tidigare har Epic Games utlyst en tävling som kan ge utvecklare 5 miljoner dollar; detta kräver att du skickar in en fungerande prototyp av ditt spel.
Den 13 maj 2020 tillkännagav Epic Games officiellt Unreal Engine 5 och demonstrerade en demo i QuadHD-upplösning vid 30 FPS på PlayStation 5 -konsolen . Demon visade arbetet med nya tekniker: Lumen och Nanite. Lumen är en ny dynamisk global belysningsteknik. Nanite är en av nyckelteknologierna i hjärtat av Unreal Engine 5-motorn. Den låter dig visa så mycket geometri i bilden som ögat ser, och beror på upplösningen - ju större den är, desto högre detaljer blir [ 24] . Släppningen av den uppdaterade versionen av motorn är planerad till början av 2022. Den 5 april 2022 öppnade Epic Games åtkomst till Unreal Engine 5-spelmotorn för alla utvecklare [25] .
Vissa utvecklingsföretag föredrar att använda Unreal-teknologier som grund för att utveckla sin egen motor.
Till exempel var Unreal Engine 2 speciellt utvecklad för spelen Deus Ex: Invisible War och Thief: Deadly Shadows , internt kallade Flesh . Irrational Games var en av de första som introducerade HDR -teknik i sin Vengeance Engine (baserad på Unreal Engine 2.5) , samt Havok 2.0 -fysikmotorn och andra funktioner som nu används flitigt i spel. Denna motor användes i Tribes: Vengeance och SWAT 4 . Irrationals BioShock använde också Vengeance Engine till en början , men sedan ersatte utvecklarna den delvis med den mer aktuella Unreal Engine 3. Den modifierade versionen blev känd som Vengeance Engine 2 [26] . Ubisoft använder YETI-motorn och LEAD-motorn för sina projekt , skapade på basis av Unreal Engine 2.5
Och även videospelsstudion NetherRealm Studios modifierade Unreal Engine 3-motorn och fortsätter till denna dag att skapa en serie Mortal Kombat -spel baserade på denna motor.
Unreal Engine 1 : I slutet av 1999 släppte Epic Games en del av källkoden för Unreal Tournament körbara filer , och startade OpenUT-projektet för att porta motorn och spelet till Linux . Efter en tid togs arbetet med OpenUT över av Loki Software [27] . Linux-versionen av Unreal Tournament har släppts till försäljning av Loki Games. Den första versionen av motorn är inte längre tillgänglig för licensiering, men källkoden som behövs för att bygga dina egna körbara filer är fritt tillgänglig. De distribueras under en "Unreal Retail"-licens - det vill säga endast för personligt bruk [28] . Dessutom publicerades 2004 källkoden för spelet Rune [29] .
Unreal Engine 2/2.5 : Den andra versionen har varit tillgänglig för licensiering tillsammans med den tredje under lång tid. Epic Games erbjöd det att skapa spel för PC och sjätte generationens konsoler för $350 000 eller mer (beroende på antalet plattformar som stöds).
Unreal Engine 2 Runtime : En version av Unreal Engine 2 Runtime gjordes tillgänglig för icke-kommersiella icke-videospelsprojekt. Utveckling av spel på denna version av motorn är förbjuden (trots att det inte finns någon specifik definition av "spel" i licensen) på grund av det faktum att "Epic Games får huvudintäkterna från att skapa spel, och om du vill gör ditt eget spel, gör det som en modifiering av befintlig produkt. För budgetprojekt var Unreal Engine 2 Runtime- licensering tillgänglig till ett relativt lågt pris (från 8 000 $). Kostnaden för en licens beror på antalet utvecklare (antalet "jobb"). Tillsammans med licensieringen av minst en "arbetsplats" är tillgänglig för att beställa header-filerna för den andra versionen av motorn till ett pris av $5000.
Licenspriser för version 3.0 och högre publiceras inte, men det nämns att det finns ett urval av olika licensalternativ, inklusive för icke-spelprodukter. Den 5 november 2009 släpptes Unreal Development Kit , en gratisversion av Unreal Engine 3.5 för icke-kommersiellt bruk med möjlighet att köpa en billig kommersiell licens [30] . Om det var strängt förbjudet att skriva spel på Unreal Engine 2 Runtime, är det tillåtet att skriva spel med UDK, men det är förbjudet att skapa produkter baserade på det "som kan eller kommer att konkurrera med UDK, såväl som mellanprogram (mellanprogram) eller spelutvecklingsprogramvara (spelutvecklingsprogramvara) från Epic Games."
Den 2 mars 2015 blev Unreal Engine 4 gratis. Samtidigt måste spelutvecklare, liksom tidigare, överföra 5 % av spelets försäljningsintäkter (klausul 5, del 10 i licensavtalet) till Epic Games om kvartalsintäkterna överstiger $3 000.
Den 13 maj 2020 höjde Epic Games intäktströskeln för gratisspel till $1 000 000 [31] .
Spel på Unreal Engine är gjorda i en mängd olika genrer, men de första projekten skapades, som regel, i shooter- eller actiongenren ; teknikens flexibilitet låter dig skapa strategier , uppdrag , olika simulatorer etc. på den.
Dessutom kan motorn användas för att arbeta med grafik på bio, till exempel för att skapa specialeffekter , och för utbildningsändamål .
I sociala nätverk | |
---|---|
I bibliografiska kataloger |
Overklig värld | |
---|---|
Overklig |
|
Overklig turnering |
|
Overkligt mästerskap |
|
Samlingar |
|
Anställda | |
Företag |
|
Teknologi |
|
Relaterad |
|
Spelmotorer | |||||||
---|---|---|---|---|---|---|---|
Grafisk | Fri GLScene Horde3D Irrlicht TROLL OpenSceneGraph Proprietär Outra | ||||||
Fysisk | Fri Box2D Kula Jordekorre newton ODE. Tokamak Proprietär DMM Havok Fysik PhysX | ||||||
generell mening |
| ||||||
Specialiserad |
| ||||||
Lista över spelmotorer |