Hat hónapnyi fejlesztés után megjelent a Godot 3.4 szabadon felhasználható játékmotor, amely alkalmas 2D- és 3D-játékok készítésére. A motor egy könnyen tanulható nyelvet támogat a játékmenet logikájának megírására, grafikus felületet a játékok tervezéséhez, egylépéses játéktelepítési rendszert, széleskörű animációs lehetőségeket és fizikai szimulációt, beépített hibakeresőt és teljesítményproblémák azonosító rendszert kínál. A játékmotor, a játéktervező környezet és a kapcsolódó fejlesztőeszközök (fizikai motor, hangkiszolgáló, 2D/3D renderelési backend stb.) az MIT licensz alatt terjesztik.
A motor forráskódját 2014-ben nyitotta meg az OKAM stúdió, miután tíz évig fejlesztették egy professzionális, tulajdonosi terméket, amelyet számos PC, játékkonzol és mobil eszköz játékának elkészítésére és kiadására használtak. A motor támogatja az összes népszerű asztali és mobil platformot (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), valamint webes játékfejlesztést. A futtatásra kész bináris verziók Linux, Windows és macOS rendszerre készültek el.
Egy külön ágon egy új renderelő backend fejlődik a Vulkan grafikus API alapjain, amely a következő Godot 4.0 verzióban lesz elérhető, a jelenlegi OpenGL ES 3.0 és OpenGL 3.3 renderelő backendek helyett (az OpenGL ES és OpenGL támogatása továbbra is biztosítva lesz az OpenGL ES 2.0/OpenGL 2.1 régi backend új Vulkan alapú renderelési architektúrával való működtetésével). A Godot 3.x-ről a Godot 4.0-ra való átállás a felületek API szintű inkompatibilitása miatt a programok átírását igényli, de a Godot 3.x ág számára hosszú távú támogatási ciklus biztosított, amelynek hossza a felhasználók API iránti keresletétől függ.
A Godot 3.4 jelentős újítással bővült:
- A felhasználói felületet átdolgozták a téma szerkesztéséhez, amely vizuális folyamatot valósít meg a csomópont kiválasztására, és lehetőséget ad a formázás módosítására anélkül, hogy elhagyná az előnézeti módot.

- A szerkesztőbe a munka kényelmét növelő fejlesztések kerültek: gyors erőforrásbetöltési lehetőség került a vizsgálati üzemmódba, lehetővé vált a csomópont létrehozása tetszőleges pozícióban, új sablonexportálási felület került bevezetésre, kiegészítő műveletek valósultak meg a gizmo (korlátozó téglatestek rendszere) segítségével, valamint a Bézier-görbék alapú animációs szerkesztő is javítást kapott.

- Bevezetésre került a változtatások visszavonásának módja, amely lehetővé teszi az AnimationPlayer segítségével végzett animációk által okozott összes jelenetváltozás azonnali visszavonását, ahelyett, hogy minden egyes tulajdonság visszavonásával foglalkoznánk.
- A beállításokhoz hozzáadódott egy opció a 2D nézetterület (2D viewport) nagyítási szintjének megváltoztatására, amely, például, a 2D elemek méretének növelésére vagy csökkentésére használható, függetlenül az aktuális nyújtási mód (stretch mode) beállítástól.
- A File API-hoz hozzáadódott a fájlokkal (beleértve a PCK fájlokat) való munka lehetősége, amelyek mérete meghaladja a 2 GB-ot.
- Bevezették a rajzolás simaságának javítására vonatkozó módosításokat, a keretekben bekövetkező változások számításával, anélkül, hogy a rendszeridőzítőhöz lenne kötve, és megoldották a kimenet szinkronizációs problémáit a vsync használata során.
- Az InputEvents bevitelkezelő rendszerébe hozzáadva a gombok fizikai elhelyezkedésére vonatkozó scankódokhoz való hozzárendelés támogatása, függetlenül az aktív elrendezéstől (például a WASD gombok a QWERTY elrendezésben automatikusan a ZQSD gombokkal lesznek hozzárendelve a francia AZERTY elrendezésben).
- Hozzáadva az AESContext és HMACContext interfészek a szkriptekből való hozzáféréshez az AES-ECB, AES-CBC és HMAC titkosítási algoritmusokhoz. Emellett lehetőség nyílt RSA nyilvános kulcsok mentésére és olvasására digitális aláírások előállításához és ellenőrzéséhez.
- A renderelő motorba hozzáadva az objektumok renderelésének leállításának kezdeti támogatása, amelyek a kamera fókuszába kerülnek, de más objektumok miatt nem láthatók (például fal mögött találhatók). A raszteres (egyedi pixeleknél) átfedés levágása csak a Godot 4 ághoz lesz megvalósítva, míg a Godot 3-ban néhány geometriai módszert tartalmaz az átfedő objektumok levágására és portálos átfedés támogatást biztosít.

- Hozzáadva egy új ACES Fitted tónusozási módszer, amely nagyobb realizmust és fizikai pontosságot ér el a világos objektumok kontrasztjának növelésével.

- Hozzáadva a háromdimenziós részecskék kibocsátási formájának támogatása gyűrű vagy üreges henger formájában.
- A fizikai folyamatok szimuláló motorjában jelentősen javult a domború objektumok generálásának teljesítménye hálókból, és átdolgozták a ütközésnyomkövetés módját az ellenőrző interfészben. A 2D fizikai motorban hozzáadva a BVH (Bounding Volume Hierarchy) struktúra támogatása a dinamikus térbeli felosztáshoz. A 3D fizikai motorban megvalósítva a HeightMapShapeSW funkció támogatása és szinkronizáló eszközök hozzáadva a KinematicBody3D-hez.
- Hozzáadva a 3D jelenetek glTF formátumban történő exportálásának lehetősége, például a Godot-ban előkészített hálók Blenderben való megnyitásához.
- Hozzáadva a veszteségmentes WebP képkonverziós mód támogatása, amely most már alapértelmezés szerint alkalmazandó a textúrák tömörítésére a PNG formátum helyett.
- Az Android platformhoz készült portban hozzáadva a Scoped storage API és az új módszer a kiegészítő erőforrások betöltésére (Play Asset Delivery) az AAB (Android App Bundle) formátumú végrehajtható fájlokhoz.
- HTML5 platformon lehetőség van PWA (Progressive Web Apps) alkalmazások formájában történő telepítésre, hozzáadva a JavaScriptObject interfészt, amely lehetővé teszi a Godot és a JavaScript közötti interakciót (például JavaScript metódusokat hívhatunk meg Godot szkriptekből), a több szálú build-ekhez pedig AudioWorklet támogatás került bevezetésre.
- macOS platformhoz hozzáadva az Apple Silicon (M1) chip rendszerek támogatása.
Forrás: opennet.ru




