Godot motor | |
---|---|
Típusú | Játék motor |
Szerző | Juan Liniecki [d] és Ariel Manzur [ d] |
Fejlesztő | Fejlesztői társszerzőség |
Beírva | C++ [2] és C [2] |
Operációs rendszer | GNU/Linux , macOS , Microsoft Windows , BSD , iOS , Android , Univerzális Windows platform , HTML5 , WebAssembly , Xbox és Windows Phone |
Első kiadás | 2014. január 14 |
legújabb verzió |
|
béta verzió | 4.0 béta 3 (2022. október 14.) |
Olvasható fájlformátumok | BMP , DirectDraw Surface , OpenEXR , RGBE képformátum [d] , JPEG [d] , PNG , Truevision TGA , SVG , WebP , WAV , Vorbis , glTF [d] , FBX , COLLADA és Obj fájlcsere formátum |
Állapot | Aktív |
Engedély | MIT licenc |
Weboldal | godoengine.org |
Médiafájlok a Wikimedia Commons oldalon |
A Godot Engine ( fr. gó-doh [3] ) egy nyílt forráskódú platformfüggetlen 2D-s és 3D -s játékmotor MIT licenc alatt , amelyet a Godot Engine Community fejlesztett ki. A nyílt forráskódú nyilvános kiadás előtt a motort belsőleg használták egyes latin-amerikai vállalatok . [4] A fejlesztői környezet Linuxon , macOS -en , Windowson , BSD -n és Haiku -n fut , és játékprojekteket képes exportálni PC -re , konzolra , mobilra és webes platformokra.
A Godot célja, hogy a játékfejlesztés legintegráltabb és legönállóbb környezete legyen . A környezet lehetővé teszi a fejlesztők számára, hogy a semmiből készítsenek játékokat anélkül, hogy bármilyen más eszközt használnának, kivéve azokat, amelyek a játéktartalom (grafika, zeneszámok stb.) létrehozásához szükségesek. A programozási folyamat szintén nem igényel külső eszközöket (bár ha külső szerkesztőt kell használni, akkor ez viszonylag egyszerűen elvégezhető).
A motor általános architektúrája az örökölt „jelenetek” fa koncepciója köré épül. A jelenet ( csomópont ) minden eleme, bármikor, maga is teljes értékű jelenetté válhat. Ezért a fejlesztés során könnyedén teljesen megváltoztathatja a projekt teljes architektúráját, bármely irányba kibővítheti elemeit, és bonyolult jelenetekkel dolgozhat az egyszerű absztrakciók szintjén.
Minden játékerőforrás, a szkriptektől a grafikus eszközökig és a játékjelenetekig, a projekt mappájában tárolódik normál fájlként, és nem része a projekt összetett adatbázisának. Azokat az erőforrásokat, amelyek nem összetett adatok, egyszerű szöveges formátumban tárolják (pl. szkriptek és jelenetek, szemben a modellekkel és textúrákkal). Ezek a megoldások jelentősen megkönnyítik a különböző fejlesztőcsapatok számára a verziókezelő rendszerekkel való munkát . [5]
A játék saját magas szintű , dinamikusan beírt szkript programozási nyelvével , a GDScript-vel készült, amelynek szintaxisa homályosan emlékeztet a Python nyelvre . A különbség a Pythontól mindenekelőtt a változó hatókörének kötelező meghatározása a var kulcsszón keresztül , valamint a nyelv optimalizálása a jelenetrendszer és a motor csomópontjainak igényeihez. A GDNative rendszeren keresztül lehetséges a szkriptek használata C++/D/Rust és más nyelveken. Létezik a Godot-nak egy változata is C# nyelv támogatással (Godot Engine Mono Version), de jelenleg még véglegesítés alatt áll és instabil. A Godot fejlesztői kijelentették, hogy megpróbáltak több külső szkriptnyelvet (nevezetesen a Lua , Python és Squirrel ) integrálni, mielőtt a saját szkriptnyelvük mellett döntöttek. És csak ez tette lehetővé a motor szükséges optimalizálási szintjének elérését és a fejlesztői környezetbe való integrációt. [6]
A Godot saját integrált szkriptszerkesztővel rendelkezik kódkiegészítéssel, automatikus behúzással, szintaktikai kiemeléssel , gyors hozzáféréssel a teljes motor API -hoz és néhány más funkcióhoz, valamint képes megnyitni a szkript forráskódját, szerkeszteni és hibakeresni azt harmadik féltől. IDE -k és kódszerkesztők. A rendszer emellett rugalmas hibakeresővel , profilkészítővel, használt videomemória-monitorral és távoli jelenetszerkesztővel is rendelkezik az elemek valós idejű vezérléséhez.
A 3.0-s verziótól kezdve a Visual Scriptingben a vizuális programozás is támogatott.
Az összes támogatott platform grafikus rendszere az OpenGL ES 3.0-n alapul. A renderelés olyan technológiákat foglal magában, amelyek sorrendfüggetlen átlátszóságot, normál leképezést , spekulációt, teljes képernyős utóhatásokat, például FXAA , virágzást , DOF , HDR , gamma-korrekciót , távolsági ködöt, árnyéktérképeken alapuló dinamikus árnyékokat és egyebeket tartalmaznak.
Az árnyékolók létrehozásához egy egyszerűsített árnyékoló nyelvet használnak, amely a GLSL nyelv közeli részhalmaza . A shader ezután felhasználható anyag-, képernyő-effektusban 2D-s megjelenítéshez. A shader csúcs- és töredékszakaszokra van felosztva. Arra is lehetőség van, hogy a vizuális szerkesztőben teljesen árnyékolókat hozzon létre.
A Godot-nak külön 2D grafikus motorja van, amely a 3D -től függetlenül használható . Példák a 2D-s funkciókra a grafikus felhasználói felület (a Godot-munkaasztal a GUI-funkciók kiváló példája), a sprite -ok , a csempegrafikák (négyzetes, izometrikus és natív formátum), a parallaxis görgetés, a 2D-s megvilágítás és az árnyékok (ponttípus), a részecskerendszer, és néhány egyéb funkció. A fejlesztő könnyedén kombinálhatja és keverheti a 2D-t és a 3D-t mindkét irányban (a Viewport Node segítségével).
A fejlesztői környezet beépített animációs rendszerrel és vezérlőkkel rendelkezik a csontváz animációval , alakanimációval és kivágott jelenetekkel való munkavégzéshez. A motor csomópont-alapú kialakításának köszönhetően pedig az animációs szerkesztőn keresztül általában minden olyan paramétert animálhat, amely a játékban jelen lehet. [7] Lehetőség van arra is, hogy egy animációs sáv gombjával hívja meg bármelyik saját funkcióját, így sokkal egyszerűbb az összetett jelenetek animálása.
A 2D és 3D fizikai motorját a semmiből fejlesztették ki, ami segített elérni a fizikai alrendszer szükséges optimalizálási szintjét. Megvalósított raycasting , ütközésészlelés , merev testdinamika és ezek közötti kapcsolatok. Egyedi kivitelezésű kinematikus karaktervezérlő és 3D járművezérlő is található egyszerűsített felfüggesztési rendszerrel .
A fejlesztés végén a projekt exportálható különböző célplatformokra, amelyek PC-re, mobilra, webre és konzolokra oszthatók. Különböző paramétereket állíthat be a különböző platformokhoz, például az adatok tárolásának (és szükség esetén védelmének) módját, a textúra tömörítését, a felbontást és néhány egyedi beállítást, amelyek egy adott platformra jellemzőek (például felbontások Android esetén ).
A jelenlegi platformtámogatás a következőket tartalmazza: Windows (és UWP OS ), MacOS , X11 ( Linux , BSD ), Android OS , iOS , HTML5 . Más platformokra kézzel is exportálható a célplatform SDK motorjának fordításával . A Godot néhány külső könyvtár használata megkönnyíti ezt a folyamatot.
Juan Linietsky és Ariel Manzur programozók 2007-ben kezdték el a motor fejlesztését, majd egy idő után már zárt szoftvertermékként használták egyes cégeknél. 2014 februárjában a fejlesztők úgy döntöttek, hogy a technológiát nyílt forráskódúvá teszik , és Godot néven közzétették a motor forráskódját az MIT licenc alatt a GitHubon .
2014. december 15-én a motor elérte az 1.0-s verziót, az új termék első stabil verzióját. További shadereket, navimesh-t és lightmappinget adott hozzá. [9]
2015. november 4-én a Godot projekt csatlakozott a Software Freedom Conservancyhoz. [tíz]
2016. február 23-án jelent meg a stabil 2.0-s verzió. Fejlesztése során a fő hangsúlyt a motorban végzett munka kényelmének a munkakörnyezeten keresztül történő jelentős növelésére helyezték. [tizenegy]
2016. június 22-én Godot 20 000 dollárral jutalmazta a Mozilla Open Source Support (MOSS) „Mission Partners”-től, hogy a WebSocket , WebAssembly és WebGL 2.0 támogatást adják hozzá a projekthez. [12]
Juan Lignetski az egyik előadáson elmondta, hogy a "Godot" név közvetlen utalás Samuel Beckett " Godot-ra várva " című drámájára. Jellemzi a szüntelen vágyat, hogy új funkciókkal bővítsék a motort, ami folyamatosan közelebb hozza állapotát az ideális eszközhöz, de ez a folyamat nem fejeződik be. [13]
Néhány, az OKAM Studio által készített játék
Néhány, a közösség által létrehozott játék [14]
![]() | |
---|---|
Fotó, videó és hang | |
Tematikus oldalak |
Játékmotorok | |||||||
---|---|---|---|---|---|---|---|
Grafikus | Ingyenes GLScene Horde3D Irrlict EMBEREVŐ ÓRIÁS OpenSceneGraph Szabadalmazott Outerra | ||||||
Fizikai | Ingyenes Box2D Golyó mókus newton ÓDA. Tokamak Szabadalmazott DMM Havok fizika PhysX | ||||||
Általános rendeltetésű |
| ||||||
Specializált |
| ||||||
A játékmotorok listája |