Öt hónapnyi fejlesztés után megjelent a Godot 4.2, egy ingyenes játékmotor, amely alkalmas 2D és 3D játékok létrehozására. A motor egy könnyen tanulható játékmenet-logika nyelvet, játékkészítő grafikai környezetet, egy kattintásos játékkiadási rendszert, széleskörű animációs és fizikai szimulációs lehetőségeket, beépített hibakeresőt és teljesítményproblémák azonosítási rendszert támogat. A játékmotor, a játékkészítő környezet és a kísérő fejlesztőeszközök (fizikai motor, hangkiszolgáló, 2D/3D renderelési hátterek stb.) MIT licenc alatt terjesztették.
A motor forráskódjait 2014-ben az OKAM stúdió nyitotta meg, tíz évnyi professzionális, saját termék fejlődése után, amelyet számos PC, játékkonzol és mobil eszköz játékának létrehozására és kiadására használtak. A motor támogatja az összes népszerű álló és mobil platformot (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), valamint lehetővé teszi a játékok webes fejlesztését. A futtatásra kész bináris csomagok Linuxra, Androidra, Windowsra és macOS-ra készültek.
Főbb változások:
- A 2D játékfejlesztők számára hozzáadták a kényszerített egész számú skálázás támogatását, amely lehetővé teszi a négyzetes pixelrács elérését, függetlenül a tényleges képaránytól. Lehetőséget biztosít a barycentrikus koordináták normáljának lekérésére az objektum és a sugár metszéspontjaiból. Hozzáadták a Rotate_toward és Angle_difference metódusokat a forgatás és szög megfelelő kezelésére. A Line2D csomópontokhoz hozzáadták a „closed” tulajdonságot, hogy zárt vonalakat hozzanak létre folyamatos kitöltéssel.

- Növelték az animációs rendszer megbízhatóságát. Az AnimationPlayer és AnimationTree csomópontokat újragondolták és egységesítették, amelynek közös részei egy köztes AnimationMixer osztályba kerültek. Hozzáadták a determinisztikus keverés lehetőségét. Az animáció előnézetéhez hozzáadták a hagyományos (onion skinning) üzemmódot, amely lehetővé teszi a félig átlátszó átfedések megjelenítését az animáció előző és következő kereteivel.

- A navigációs rács „sütésének” (baking, statikus formába alakítás) lehetőségei a 2D-ben közelítettek a 3D navigáción elérhető lehetőségekhez, például a 2D rácsokhoz fizikai testek, polygonális rácsok példányai, egyszerű sokszögek és csempe térképek (tilemap) kezelésére lett támogatás. szerverek A 2D és 3D navigációhoz hozzáadták a több szálon történő mesh sütés támogatását.

- A kód refaktorálása megtörtént a csempe és csempe térképek kezelésére. Optimalizálták a blokk csoportosítási és Y tengely szerinti rendezési műveleteket, ami jelentősen lerövidítette a csempék frissítési idejét. A csempe térképek létrehozásának és használatának kényelmét is növelték. Új eszköz került bevezetésre a csempék elforgatására és megfordítására a térrendezés során. Fejlesztették a sokszögek és csempe jelenetek szerkesztési eszközeit.

- A GDScript szkript szerkesztőben lehetőség nyílt nevzett kódszakaszok létrehozására a blokkok összehajtogatásához szerkesztés közben és a navigáció egyszerűsítéséhez. A szkript hibakeresőben teljes támogatás került bevezetésre a több szálú kód, végrehajtási verem és töréspontok terén. A C#/.NET alapú szkriptekben bevezették az Android (.NET 7.0+) és iOS (NET 8.0) platformok támogatását. A GDScript szkriptekben kibővítették a statikusan típusos kód támogatását, bevezették a r-string (nyers szöveg) sztringliterálokat, és szélesebb körű funkcionalitás került a match operátorhoz.

- A 3D nézetportban javították a Blender-stílusú transzformációkezelést egérrel és gyorsbillentyűkkel. A kibővített vizuális információk megjelenítése mostantól csak a kijelölt objektumok számára történik a 3D nézetportban. További jelzők kerültek bevezetésre olyan elemekhez, mint a decálok és a köd térfogat. Fejlesztették a gizmo kezelést - bármelyik oldal külön-külön nyújtható a 3D nézetablakban.

- Javították a jobbra kattintós menüket és a felugró tippeket az 'Inspektálás' és 'Jelzések' panelekben. A témaszerkesztőben bevezetésre kerültek a tulajdonságok leírását tartalmazó tippek. A fájlrendszerrel foglalkozó panelen lehetőség nyílt a mappák színkódokkal történő könnyű kiemelésére. Újraalkották a gradient erőforrások szerkesztőjének felületét. A textúra területekkel foglalkozó szerkesztőben egységesítették az összes támogatott erőforrással, beleértve a stílusokat és atlaszokat.

- Az asset könyvtárban javították a keresési eredmények megjelenítését, valamint lehetőséget adtak más mappa kiválasztására a kiegészítő vagy erőforrás telepítésekor.

- A projektmenedzser átalakította a fő vezérlőelemek elhelyezését és modernizálta a projektimport interfészét.

- Bővült a bővítmények fejlesztésének lehetősége az editorhoz. Hozzáférés biztosított az editor összes funkcionalitásához az EditorInterface osztályon keresztül. Kényelmes metódusok kerültek megvalósításra a 2D- és 3D-vízelő renderelőkhöz való közvetlen hozzáféréshez. Lehetővé vált a nem mentett változások figyelmeztető párbeszédablakának megjelenítése.
- Folyatódik a kísérleti GDExtension bővítményrendszer fejlesztése, amely alacsony szintű nyelvek, például C++, használatát teszi lehetővé játékok szkriptjeinek írására, a motor újraépítése és a kód módosítása nélkül. A GDExtensions használatának lehetősége is tartalmazza a Webre való exportálást.
- A felhasználói felületen módosult a fókuszkezelés. Lehetővé vált a fókusz átadása az egyes fülpanel-változókra, beleértve a billentyűzettel való navigációt is. A kezelőelemekhez (Control) hozzáadott egy metódust a következő szomszédos fókuszálható elem keresésére. Jelentősen át dolgozták a gráfépítő csomópontokat (GraphEdit és GraphNode). A GraphEdit főcsomópont eszköztárának testreszabási lehetőségei is bővültek.

- Lehetővé vált az eszközök importálásának típusának valós idejű megváltoztatása, automatikus jelenet- és forrásszintű frissítéssel, amely nem igényel editor újraindítást. Bővítették az importálási lehetőségeket, és lehetőséget adtak a behozott objektumok fizikai tulajdonságainak, valamint az árnyék- és láthatósági beállítások megváltoztatására. Lehetővé vált az animáció előnézete az import párbeszédablakában. Bővült a GLTF formátumú Blender eszközök importálásának támogatása. Támogatja a KTX formátumú képek importálását is.

- Optimalizációkat hajtottak végre, amelyek célja a renderelési teljesítmény növelése. A mobil eszközök teljesítményének fokozása érdekében a raszteres akadályok csúcs- és fragmentkomponensekre való felosztásra került sor. Felgyorsították a zajos textúrák generálását. Hozzáadtak egy előfeldolgozási lépést a mélység kiszámítására. Csökkent az árnyékolók betöltési és fordítási ideje. Optimalizálták a poligonháló memóriában történő tárolását. Támogatja a poligonhálók tömörítését az átviteli sávszélesség csökkentése érdekében.
- Lehetővé vált saját textúraobjektumok létrehozása (példa, a számítási árnyékolók használata vízhatás létrehozására szánt textúra előállításához).
- API-t adtak hozzá a renderelési szálban a kód meghívásához, ami szükséges lehet például a számítási shader szinkronizálásához a rendereléssel.
- Hozzáadták a 2.2-es verziójú AMD FSR (FidelityFX Super Resolution) supersampling technológia támogatását, amely térbeli skálázás és részletrekonstrukciós algoritmusokat használ a képminőség csökkentése érdekében a nagyobb felbontásra történő átkonvertálás során.
- Új zajcsökkentőt (JNLM) javasoltak, amely világítástervező (lightmapper) és számítási shaderek használatával dolgozik. A JNLM jelentősen gyorsabb, mint a korábban használt OIDN (Open Image Denoise) zajeltávolító könyvtár, de bizonyos helyzetekben minőségben alulmaradhat.
- A Forward+ és Mobile renderelési módszerekhez hozzáadták a 2D-hyperbolikus megjelenítést a kibővített dinamikus fényerő (HDR) tartományban, lehetővé téve 2D-játékokban bizonyos 3D-hatások, például fények megvalósítását. A Compatibility renderelési módszerhez háromdimenziós árnyékok támogatását adták hozzá.
- Új OpenGL renderelő drivert javasoltak macOS és Windows számára, amely ANGLE réteget használ, ami az OpenGL hívásokat a Direct3D 11 és Metal API-ba transzlálja.
- A részecskemodellező rendszert átdolgozták, hogy egyszerűbben lehessen karbantartani és bővíteni a részecskék mozgását. Például mostantól animálható és örökölhető a mozgási sebesség, és változtatható a kibocsátott részecskék száma. Hozzáadtak egy eszközt, amely a CPU által használt részecskegeneráló kódot GPU-val kompatibilis kódra alakítja.
- Hozzáadták a Linux, macOS és Windows natív fájlválasztó párbeszédablakainak használatát, valamint a képek vágólapon való másolásának és beillesztésének lehetőségét.
- A Godot architektúráját az Android platformra átdolgozták, megszüntetve az Android Fragment komponenshez való kötődést, ami csökkentette az alkalmazások és játékok indítási idejét, és lehetővé tette a többablakos működést.
- Megkezdődött a hivatalos Linux verziók előállítása a Godot szerkesztőhöz 32- és 64-bites ARM platformokra.
Forrás: opennet.ru











