Pärast viit kuud arendust on avaldatud tasuta mängumootor Godot 4.2, mis sobib 2D- ja 3D-mängude loomiseks. Mootor toetab õppimiseks lihtsat mängu loogika skriptimiskeelt, mängude disainikeskkonda, ühe klõpsuga mängude juurutamise süsteemi, laialdasi animatsiooni ja füüsikasimulatsiooni võimalusi, integreeritud tõrkeotsimist ja jõudluse kitsaskohtade tuvastamise süsteemi. Mängumootori, mängude disainikeskuse ja seotud arendusvahendite (füüsikamootor, heli server, 2D/3D renderduse taustsüsteem jne) kood on litsentseeritud MIT litsentsi alusel.
Mootori lähtekood avati 2014. aastal stuudio OKAM poolt pärast kümneaastast arendust, mis keskendus professionaalse tasemega patenteeritud tootele, mida on kasutatud paljude PC, mängukonsoolide ja mobiilseadmete mängude loomiseks ja avaldamiseks. Mootor toetab kõiki populaarseid lauaarvuti ja mobiilseid platvorme (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX) ning mängude arendamist Webis. Valmis käivitamiseks binaarsed kogud on loodud Linuxi, Androidi, Windowsi ja macOS-i jaoks.
Peamised muudatused:
- 2D-mängude arendajatele on lisatud sunditud täisarvulise skaleerimise tugi, mis võimaldab omandada ruudukujulise pikslivõrgu, sõltumata tegelikust kuvasuhetest. Pakutakse võimalust saada barysentri koordinaate normaalide jaoks objekti ja kiiri ristumispunktidest. Lisatud on meetodid Rotate_toward ja Angle_difference, et korrektselt töödelda pöörlemist ja nurki. Line2D sõlmedesse on lisatud omadus „closed“ pideva täidisega suletud joonte loomiseks.

- Tehtud töö süsteemi animatsiooni usaldusväärsuse parandamiseks. Ümber töötatud ja standardiseeritud AnimationPlayeri ja AnimationTree'i sõlmed, mille ühised osad eraldati vaheklassiks AnimationMixer. Lisatud valik määratletud segamiseks. Animatsiooni eelvaatesse on lisatud kalki režiim, mis hõlmab poolläbipaistvate kihtide näitamist eelmistest ja järgmistest animatsiooni kaadritest.

- 2D navigatsiooni 'pika’ (baking, staatiliseks vormiks muutmine) võimalused on viidud 3D navigatsiooniga sarnaseks, näiteks on 2D võrkudele rakendatud füüsiliste kehade, polügooniliste võrkude näidiste, lihtsate palju külgedega jooniste ja plaatide kaartide (tilemap) töötamise tugi. serveritesse 2D- ja 3D navigatsiooni on lisatud jõudlusvõimekuse mitme lõimega mähiste toetus.

- Koodi on ümber kujundatud plaatide ja plaadikaartidega töötamiseks. Blokkide grupeerimise ja Y-telje järgi sortimise operatsioonid on optimeeritud, mis on oluliselt vähendanud plaatide uuendamise aega. On tehtud tööd plaatide kaartide loomisekergendamise ja kasutamise parendamiseks. Lisatud on tööriist plaatide pööramiseks ja keeramiseks nende paigutamisel. Parendatud on polügoonide ja plaatide stseenide redigeerimise tööriistu.

- GDScript'i skripti redaktoris on nüüd võimalik luua nimetatud koodipiirkondi, et redigeerimise ajal blokeid kokku voltida ja navigeerimist lihtsustada. Skripti tõrkeotsijasse on lisatud täielik mitme lõime koodi, täitmise virna ja peatuspunktide toe tugi. C#/.NET-põhistes skriptides on rakendatud toe Android (nõutav .NET 7.0+) ja iOS (nõutav .NET 8.0) platvormide jaoks. GDScript'i skriptides on laienenud staatiliselt tüpiseeritud koodi tugi, lisatud on r-string (toore stringi) toetus ja uued võimalused match operaatori jaoks.

- 3D vaates on paranenud transformatsiooni juhtimise tugi Blenderi stiilis, kasutades hiirt ja otseteede klahve. Laiendatud visuaalinformatsiooni kuvamine 3D vaates toimub nüüd ainult valitud objektide jaoks. Lisatud on täiendavad indikaatorid selliste elementide nagu dekandid ja udu maht. Gizmo (gizmo) töö on paranenud — iga tahksete kujundite külge saab nüüd eraldi venitada vaateaknas.

- Parandatud kontekstimenüüd ja hüpikaknad paneelides "Inspekteerimine" ja "Signaalid". Teemade redigeerimisse on lisatud näpunäited omaduste kirjeldusega. Failisüsteemi tööpaneelis on introduseeritud võimalus kaustade visuaalseks esitlemiseks, andes neile erinevaid värve. Gradientide ressursi redigeerimise liides on ümber kujundatud. Tekstuuride alade redaktoris on kõigi toetatud ressurssidega, sealhulgas stiilide ja atlasitega, töö ühtlustatud.

- Assets raamatukogus on paranenud otsingutulemuste kuvamine ja lisatud võimalus valida muud kausta täienduse või ressursi installimiseks.

- Projektijuhtimise halduses on peamised juhtnupud ümber kujundatud ja projekti impordi liides on moderniseeritud.

- Redaktori pluginate arendamisvõimalusi on laiendatud. Redaktori kõigile funktsioonidele on tagatud ligipääs klassi EditorInterface kaudu. On rakendatud mugavad meetodid 2D- ja 3D-videopiltide otseseks juurdepääsuks. Lisatud on võimalus kuvada dialooge, mis hoiatavad salvestamata muudatuste eest.
- Eksperimentaalset laiendussüsteemi GDExtension on edasi arendatud, võimaldades kasutada madalama taseme keeli, nagu C++, mängude skriptide loomise keelena, ilma mootorit ümber ehitamata ja koodi muutmata. Lisatud on võimalus kasutada GDExtensions'e eksportimisel veebi.
- Kasutajaliideses on muudetud fookuse juhtimist. On rakendatud võimalus suunata fookus individuaalsetele sakkidele sakkide paneelis, sealhulgas klaviatuuriga navigeerimisel. Juhtimissegmentidesse (Control) on lisatud meetod järgmise kõrvutis fookustatav element otsimiseks. Graafikute ehituse sõlmed (GraphEdit ja GraphNode) on oluliselt ümber kujundatud. Peamise GraphEdit sõlme tööriistapaneeli kohandamisvõimalusi on laiendatud.

- Lisatud on võimalus muuta ressursi impordi tüüpi reaalajas automaatsete stseenide ja varade värskendamisega, mis ei nõua redaktori taaskäivitamist. Impordi saadaolevaid valikuid on laiendatud ja on antud võimalus muuta imporditud objektide füüsilisi omadusi, samuti varjude ja nähtavuse seadeid. Impordi dialoogiboksis on lisatud võimalus animatsiooni eelvaateks. On laiendatud toetamist varade importimiseks Blenderist GLTF formaadis. Lisatud on toetus piltide importimiseks KTX formaadis.

- Tegu on optimeeritud, et suurendada renderdamise jõudlust. Mobiilse töötlemise kiirus on paranenud, jagades rasterbarjäärid tipp- ja fraktsionaalseteks komponentideks. Müra tekstuuride genereerimine on kiirem. Lisatud on eelnevad läbipääsud sügavuse arvutamiseks. Shaderite laadimise ja kompileerimise aeg on lühenenud. Polügoonvõrkude mälu hoidmine on optimeeritud. Lisa toetas polügoonvõrkude kokkusurumist, et vähendada nende edastamisel vajalikku ribalaiust.
- Lisatud on võimalus luua oma tekstuurseid objekte (näide arvutusšedrite kasutamisest veefekti tekstuuri loomiseks).
- Lisatud on API, et kutsuda koodi renderdamise lõimes, mis võib olla vajalik näiteks siis, kui tuleb sünkroonida arvutusšedrit renderdamisega.
- Lisatud on tugi versioonile 2.2 AMD FSR (FidelityFX Super Resolution) supernäidistetehnoloogiast, mis kasutab ruumilisi skaleerimis- ja detailide rekonstruktsiooni algoritme, et vähendada pildi kvaliteedi kadumist suurendamisel ja kõrgemaks resolutsiooniks konverteerimisel.
- Uus mürasummutussüsteem JNLM, mis kasutab valgustuskaarte (lightmapper) ja arvutuslikke shader'ite tehnoloogiaid, on nüüd saadaval. JNLM on oluliselt kiirem kui eelnevalt kasutatud müravabastamise raamatukogu OIDN (Open Image Denoise), kuigi teatud olukordades võib selle kvaliteet olla madalam.
- Renderdamismeetoditesse Forward+ ja Mobile on lisatud 2D-joonistamise tugi, mis toetab laienenud dünaamilist kirguse ulatust (HDR), võimaldades 2D-mängudes rakendada teatud 3D-efekte, nagu säde. Renderdamismeetodisse Compatibility on lisatud ka kolmemõõtmelised varjud.
- macOS-i ja Windowsi jaoks on loodud uus OpenGL-renderdamise draiver, mis kasutab ANGLE kihti, mis tõlgib OpenGL-kutsed Direct3D 11 ja Metal API-deks.
- Osakesimuleerimise süsteem on täielikult ümber töötatud, et lihtsustada hooldust ja laiendada osakeste liikumise juhtimist. Näiteks on nüüd võimalik animatsiooni ja kiirus pärandada ning muuta välja paiskuvate osakeste arvu. Loodud on tööriist, mis konverteerib CPU-l põhineva osakeste genereerimise koodi vastavaks GPU-d kasutavaks koodiks.
- Lisatud on võimalus kasutada Linuxi, macOS-i ja Windowsi natiivseid failivaliku dialooge, samuti võimalust kopeerida ja kleepida pilte lõikepuhvrisse.
- Godoti arhitektuur Androidi platvormil on ümber töötatud, vabastades sõltuvuse Androidi komponendist Fragment, mis vähendab rakenduste ja mängude käivitamise aega ning loob võimaluse mitme akna kasutamiseks.
- Godoti redaktori ametlike Linuxi versioonide loomine 32- ja 64-bitiste ARM platvormide jaoks on paika pandud.
Allikas: opennet.ru











