PĂ€rast nelja aastat arendust on vĂ€lja antud tasuta mĂ€ngumootor Godot 4.0, mis sobib 2D- ja 3D-mĂ€ngude loomiseks. Mootor toetab Ă”ppimiseks lihtsat mĂ€nguloogika skriptimise keelt, mĂ€ngude projekteerimise graafilist keskkonda, ĂŒhe klikiga mĂ€ngude juurutamise sĂŒsteemi, laialdasi animatsiooni ja fĂŒĂŒsika simulatsiooni vĂ”imalusi, sisse ehitatud silumise tööriista ning jĂ”udluse kitsaskohtade tuvastamise sĂŒsteemi. MĂ€ngumootori kood, mĂ€ngude projekteerimise keskkond ja seotud arendustooted (fĂŒĂŒsikamootor, heliserver, 2D/3D renderdamise backend jne) levitatakse 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.
Godot 4.0 haru sisaldab umbes 12 tuhat muudatust ja 7000 vea parandust. Mootori arenduses ja dokumentatsiooni kirjutamises osales umbes 1500 inimest. Peamised muudatused hÔlmavad jÀrgmist:
- Pakutakse kahte uut renderdamise backend'i (kategoriseeritud ja mobiilne), mis pĂ”hinevad Vulkani graafilisel API-l, asendades OpenGL ES ja OpenGL abil renderdamise tagaklaasid. Vanade ja madala konfiguratsiooniga seadmete jaoks on integreeritud ĂŒhilduvuskeskkond OpenGL-tagaklaasil, mis kasutab uut renderdamise arhitektuuri. Madalama eraldusvĂ”ime dĂŒnaamiliseks renderdamiseks kasutatakse AMD FSR (FidelityFX Super Resolution) super-sammutusmeetodit, mis rakendab ruumilist skaleerimist ja detailide rekonstrueerimise algoritme, et vĂ€hendada pildikvaliteedi kadu suurendamise ja kĂ”rgema eraldusvĂ”ime vormindamise ajal. Rakendatud on Direct3D 12 pĂ”hine renderdamismootor, mis parandab Windows ja Xbox platvormide toetust.

- Lisatud on vĂ”imalus kasutada liidest mitme akna reĆŸiimis (erinevaid paneele ja liidese osi saab lahti kleepida eraldi akendeks).

- Lisatud on uus kasutajaliidese redaktor ja uus visuaalse projekteerimise vidin.

- Lisatud on uus teemade redaktor.

- Koguvalguse ja varju juhtimise sĂŒsteem on tĂ€ielikult ĂŒmber kirjutatud, rakendades reaalajas globaalset valgustuse tehnoloogiat SDFGI (Signed Distance Field Global Illumination). Varjude renderdamise kvaliteet on oluliselt paranenud.

- GIProbe sĂ”lm, mida kasutati stseeni valgustuse tĂ€itmiseks, on asendatud VoxelGI sĂ”lmega, mis on optimeeritud reaalajas valgustuse töötlemiseks vĂ€ikeste vĂ”i keskmise suurusega ruumide stseenides. Madala konfiguratsiooniga seadmete jaoks on sĂ€ilinud valgustuse ja varjude eelrenderdamise vĂ”imalus valgustuse kaartide abil, mille renderdamise kiirusel kasutatakse nĂŒĂŒd GPU-d.

- Rakendatud on uued renderdamise optimeerimise tehnikad. Lisatud on automaatne okklusioon (occlusion culling), mis dĂŒnaamiliselt tuvastab ja eemaldab mudelid, mis on teiste pindade taga, et parandada renderdamise jĂ”udlust ja vĂ€hendada CPU ja GPU koormust.

- Lisatud on SSIL (Screen Space Indirect Lighting) reĆŸiim, mis parandab renderdamise kvaliteeti kĂ”rge jĂ”udlusega seadmetes, parandades tumedate alade ja kaudse valgustuse töötlemist. Samuti on pakutud tĂ€iendavaid seadistusi hajusa kaudse valgustuse simuleerimise jaoks SSAO (Screen Space Ambient Occlusion) tehnika abil, nagu kaudse valguse taseme valik.
- Pakutakse realistlikke valgustuse ĂŒhikuid, mis vĂ”imaldavad kohandada valguse intensiivsust ja kasutada lĂ”ppseene heledusnavigatsiooni juhtimiseks kaamera tavapĂ€raseid seadistusi, nagu ava, sĂ€riaeg ja ISO.
- Lisatud on uusi tööriistu 2D-mĂ€ngude tasemete redigeerimiseks. 2D-mĂ€ngude arendusprotsessis on tehtud radikaalseid muudatusi. Lisatud on uus plaatide kaardi redaktor (tilemap), mis toetab kihte, maastiku automaatset tĂ€itmist, taime, kivide ja teiste objektide juhuslikku paigutamist ning paindlikku objektide valikut. Plaatide kaarditud töötlus ja fraktsioonide komplekti ĂŒhtlustamine on tagatud kaardi (tileset) koostamiseks. Fraktsioonide automaatne laiendamine on tagatud, et vĂ€ltida naabrite fraktsioonide vahelisi tĂŒhimikke. Uus objekti paigutamise funktsioon on lisatud stseeni, mida saab nĂ€iteks kasutada tegelaste lisamiseks plaatide ruudustikku.
- 2D-renderimisel on rakendatud lĂ”uendigruppide kasutamise vĂ”imalus, mis vĂ”imaldab ĂŒksteisega kattuvaid lĂ”uendi elemente segada. NĂ€iteks on vĂ”imalik mitmed spritid koos taustaga ĂŒhendada, nagu oleks tegu ĂŒhe elemendiga. Lisatud on Clip Children omadus, mis vĂ”imaldab kasutada mis tahes 2D-elementi maskina. 2D-mootorisse on lisatud ka valik, mis vĂ”imaldab kasutada MSAA (Multisample Anti-Aliasing) algoritmi, et parandada piltide kvaliteeti ja luua sujuvamaid servi.

- Parandatud on valgustuse ja varjude töötlemist 2D-mÀngudes. Oluliselt on suurenenud jÔudlus, kui kasutatakse mitut valgusallikat. Lisatud on vÔimalus simuleerida kolmemÔÔtmelisust, muutes valgustust normaalkaartidel, ning luua selliseid visuaalseid efekte nagu pikad varjud, aure ja teravad kontuurid.

- Lisatud on ruumilise udu efekt, mis kasutab ajaliselt reprojekteerimise tehnikat realistliku vÀlimuse ja kÔrge jÔudluse saavutamiseks.

- Lisatud on pilveshadereid, mis vĂ”imaldavad dĂŒnaamiliselt genereerida pilvi reaalajas.

- Rakendatud on 'decal' toete, mis on materjali projekteerimise meetod pinnale.
- Lisatud on mÀnguruumi hÔlmavad efektid, mis pÔhinevad osakestel ja kasutavad GPU-d, toetades atraktoreid, kokkupÔrkeid, jÀlgimist ja kiirgajaid.
- Laienatud on visuaalsete shaderite redigeerimise kasutajaliidese vÔimalused.

- Laienetud on shaderite keelt, millel on toimetatud struktuuride, eelprotsessori makrode, shaderite asendamise (include operaator), ĂŒhtsete massiivide ja 'varying' kasutamise tugi, et andmeid edastada fragmentide töötlemisest valgustuse töötlemisse.
- Lisatud on vÔimalus rakendada arvutusseid shadereid, mis kasutavad GPU-d, et kiirendada algoritme.
- GDScript skripti keeles on parandatud staatilise tĂŒĂŒbistamise sĂŒsteem, lisatud uus sĂŒntaks omaduste mÀÀratlemiseks, tutvustatud on vĂ”tmesĂ”nu await ja super, lisatud on map/reduce operatsioonid, rakendatud uus annotatsioonide sĂŒsteem ning saadud on vĂ”imalus kasutada unicode mĂ€rke muutujate ja funktsioonide nimedes. Lisatud on dokumentatsiooni automaatse genereerimise tööriist. Parandatud on GDScript runtime'i jĂ”udlust ja stabiilsust. Arenduskeskkonnas on tagatud mitmete vigade kuvamise vĂ”imalus ning lisatud on uued hoiatused tĂŒĂŒpiliste probleemide jaoks.

- C# keeles mĂ€ngulogika arendamise vĂ”imalusi on laiendatud. Lisatud on tugi .NET 6 platvormile ja C# 10 keelele. Skalaarsed vÀÀrtused kasutavad nĂŒĂŒd 64-bitiseid tĂŒĂŒpe. Paljud API-d on muudetud int ja float tĂŒĂŒpide asemel long ja double tĂŒĂŒpideks. C# sĂŒndmuste kujul saate nĂŒĂŒd mÀÀratleda signaale. Lisatud on GDExtensionsi laienduste arendamise vĂ”imalus C# keeles.
- Lisatud on eksperimentaalne toetus laienduste (GDExtension) jaoks, mida saab kasutada mootori vÔimaluste laiendamiseks ilma selle uuesti kompileerimiseta ja ilma koodis muudatusi tegemata.
- Pakkuda on Godot Physics, uus fĂŒĂŒsika simuleerimise mootor, millel on optimiseeritud funktsionaalsus arvutimĂ€ngude ĂŒlesannete lahendamiseks ning mis on viidud pariteeti enne kasutatud Bullet mootori funktsionaalsusega. NĂ€iteks Godot Physics toetab uusi kokkupĂ”rkevorme, kĂ”rguskaartide tugi ja SoftBody sĂ”lmede kasutamine riiete simuleerimiseks. Parandatud on jĂ”udlust ja suurendatud on mitmeosalise laadimise kasutamist erinevate CPU tuumade vahel fĂŒĂŒsika simulatsiooni ĂŒmbersihil 2D ja 3D keskkondades. Lahendatud on mitu simulatsiooni probleemi.
- Pakkuda on uus tekstiringi sĂŒsteem, mis annab rohkem kontrolli teksti lĂ”ikamise ja murdmise ĂŒle ning tagab kĂ”rge selguse igasugustes ekraanisuurustes.
- Paigutustooted on laiendatud ja tÔlke tööriistu on parendatud.
- Lisatud on eraldi dialoog 2D ja 3D ressursside importimiseks, mis toetab eelvaate ja imporditava stseeni, materjalide ja fĂŒĂŒsikaliste omaduste seadete muutmist.

- Toimetus on lisatud uusi vidinaid, nÀiteks muudatuste tagasi vÔtmiseks paneel ja uus vÀrvi valimise dialoog, mis uuendab paletti.

- Uuendatud on inspektsiooniliidese juhtpaneel stseeni ja skripti redaktorit. Parandatud on sĂŒntaksi esiletĂ”stmine, lisatud on mitu kursorite kuvamise vĂ”imalust ning pakutud on vahendeid JSON ja YAML formaadi redigeerimiseks.
- Animatsiooni redigeerimise vĂ”imalused on laienenud, nĂŒĂŒd toetatakse kujude segamist ja parandatud on Bezier-kĂ”vera aluseid protsesse. 3D-animatsiooni kood on ĂŒmber kirjutatud, et rakendada kompressioonitoetust mĂ€lu tarbimise vĂ€hendamiseks. Animatsiooni segamise ja ĂŒlemineku efektide loomise sĂŒsteem on ĂŒmber kirjutatud. Kompleksete animatsioonide loomise vĂ”imalused on laienenud. Loodud animatsioonide salvestamiseks ja korduvkasutamiseks on pakkuda animatsioonide teegid.

- Filmi loomise reĆŸiim, mis viib lĂ€bi stseenide kaadrikaupa renderdamise maksimaalse kvaliteediga, et luua sissejuhatusi ja salvestada video, on lisatud.
- 3D-prillide ja virtuaalreaalsuse platvormide tugi on laienenud. TuumaĂŒhendisse on integreeritud OpenXR standard, mis mÀÀratleb universaalse API virtuaal- ja liitreaalsuse rakenduste arendamiseks. Windowsis ja Linuxis on tagatud tugi kĂ”igile tuntud 3D-prillidele, sealhulgas SteamVR, Oculus ja Monado prillidele.
- VĂ”rgumĂ€ngu korraldamise alamsĂŒsteemi stabiilsust on parandatud ja mitme mĂ€ngijaga mĂ€ngude arendamise protsess on lihtsustatud.
- HelisĂŒsteemi vĂ”imalusi on laienenud, polifooniatugi on lisatud, samuti on loodud API kĂ”ne sĂŒnteesimiseks ja helide tsĂŒkliliseks esitamiseks.
- Godot liidese kĂ€itamine Android-tahvelarvutites ja veebibrauseris on nĂŒĂŒd vĂ”imalik.

- Uus mĂ€ngude ehitamise sĂŒsteem erinevatele CPU arhitektuuridele on lisatud. NĂ€iteks on nĂŒĂŒd vĂ”imalik luua tegevusi Raspberry Pi, Microsoft Volterra, Surface Pro X, Pine Phone, VisionFive, ARM Chromebook ja Asahi Linuxi jaoks.
- API-s on tehtud muudatusi, mis rikuvad ĂŒhilduvust. Ăleminekult Godot 3.x-le Godot 4.0-le on vajalik rakenduste ĂŒmbertöötamine, kuid Godot 3.x haru jaoks on tagatud pikaaegne toe tsĂŒkkel, mille kestus sĂ”ltub vanade API kasutajate nĂ”udlusest.

Allikas: opennet.ru

















