Efter fem mÄnaders utveckling har den fria spelmotorn Godot 4.2 slÀppts, vilket passar för att skapa 2D- och 3D-spel. Motorn stödjer ett lÀttlÀrt sprÄk för spellogik, en grafisk miljö för spelutveckling, en engÄngsdistribution för spel, omfattande animations- och simulationsmöjligheter, en inbyggd felsökare och ett system för att identifiera prestandaflaskhalsar. Koden för spelmotorn, spelutvecklingsmiljön och tillhörande utvecklingsverktyg (fysikmotor, ljudserver, 2D/3D-renderingsbackends etc.) distribueras under MIT-licensen.
KÀllkoden för motorn öppnades 2014 av studion OKAM, efter tio Är av utveckling av en proprietÀr produkt av professionell nivÄ, som har anvÀnts för att skapa och publicera mÄnga spel för PC, spelkonsoler och mobila enheter. Motorn stödjer alla populÀra stationÀra och mobila plattformar (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), samt utveckling av spel för webben. FÀrdiga körbara binÀrpaket har skapats för Linux, Android, Windows och macOS.
Huvudsakliga förÀndringar:
- För utvecklare av 2D-spel har stöd för tvingad heltals skalning lagts till, vilket gör det möjligt att fÄ en fyrkantig pixelrutnÀt, oavsett det faktiska bildförhÄllandet. Möjligheten att fÄ barycentriska koordinater för normalen frÄn objektets skÀrningspunkter med strÄlen har tillhandahÄllits. Metoderna Rotate_toward och Angle_difference har lagts till för korrekt hantering av rotation och vinklar. Egenskapen «closed» har lagts till i Line2D-noder för att skapa slutna linjer med kontinuerlig fyllning.

- Arbetet med att förbÀttra tillförlitligheten i animationssystemet har genomförts. AnimationPlayer- och AnimationTree-noderna har omarbetats och standardiserats, och gemensamma delar har flyttats till en mellanliggande klass AnimationMixer. En option för deterministisk blandning har lagts till. En kalkmodell (onion skinning) för förhandsvisning av animation har lagts till, vilket inkluderar visning av genomskinliga överlÀgg med tidigare och kommande animationsbilder.

- Möjligheterna för «bakning» av navigationsnÀtverk (baking, konvertering till statisk form) för 2D har nÀrmat sig de möjligheter som tidigare var tillgÀngliga i 3D-navigering, till exempel har stöd för arbete med fysikaliska kroppar, instanser av polygonala nÀt, enkla polygoner och tilemaps implementerats för 2D-nÀt. servrar Stödet för flertrÄdig bakning av mesh har lagts till i 2D- och 3D-navigering.

- Koden för att arbeta med tiles och tile-kartor har omarbetats. Operationerna för gruppering av block och sortering lÀngs Y-axeln har optimerats, vilket har lett till en betydande minskning av tiden för uppdatering av tiles. Arbetet med att förbÀttra skapandet av tile-kartor och deras anvÀndning har genomförts. Ett verktyg för att vÀnda och rotera tiles vid placering har lagts till. Verktygen för att redigera polygoner och tilescener har förbÀttrats.

- I GDScript-skriptredigeraren har det blivit möjligt att skapa namngivna kodomrÄden för att fÀlla ihop block under redigering och förenkla navigeringen. I skriptavkodaren har full stöd för flertrÄdad kod, exekveringsstack och brytpunkter lagts till. För C#/.NET-skript har stöd för Android-plattformar (krÀver .NET 7.0+) och iOS (krÀver .NET 8.0) implementerats. Stödet för statiskt typad kod i GDScript har utökats, med stöd för r-strÀngar (raw strings) och utvidgade funktioner för match-operatören.

- I 3D-vyporten har stöd för transformering i stil med Blender förbÀttrats, med anvÀndning av mus och snabbkommandon. Visningen av utökad visuell information i 3D-vyporten sker nu endast för valda objekt. Ytterligare indikatorer för element som dekaler och volym dimma har lagts till. Arbetet med gizmo har förbÀttrats - varje sida av volymetriska former kan nu expanderas individuellt i visningsfönstret.

- De kontextuella menyn och verktygstipsen i panelerna 'Inspektera' och 'Signaler' har förbÀttrats. I tema-redigeraren har verktygstips med beskrivningar av egenskaper lagts till. I filsystemspanelen har möjligheten att visuellt markera kataloger med olika fÀrger lagts till. AnvÀndargrÀnssnittet för gradientresursredigeraren har omarbetats. I texturens omrÄdesredigerare har arbetet med alla stödja resurser, inklusive stilar och atlaser, förenklats.

- I tillgÄngsbiblioteket har resultatvisningen av sökningen förbÀttrats och möjligheten att vÀlja en annan katalog för att installera ett tillÀgg eller resurs har lagts till.

- I projektledaren har placeringen av de primÀra kontollelementen omarbetats och anvÀndargrÀnssnittet för projektimport uppdaterats.

- Möjligheterna för plugin-utveckling i editorn har utökats. à tkomst till all funktionalitet via klassen EditorInterface har sÀkerstÀllts. BekvÀma metoder för direkt Ätkomst till 2D- och 3D-vyportar har implementerats. En dialog för att varna om osparade Àndringar har lagts till.
- Utvecklingen av det experimentella tillÀggssystemet GDExtension har fortsatt, vilket möjliggör anvÀndning av lÄg-nivÄ sprÄk, som C++, som skriptsprÄk för spel, utan att behöva bygga om motorn eller göra Àndringar i koden. Stöd för GDExtensions vid export till Web har lagts till.
- AnvÀndargrÀnssnittet har fÄtt en förÀndrad fokus-styrning. Det har nu blivit möjligt att överföra fokus till specifika flikar i flikpanelen, Àven vid navigering med tangentbord. En metod för att söka efter nÀsta nÀrstÄende fokuserbart element har lagts till i kontrollknutarna (Control). Graf-noderna (GraphEdit och GraphNode) har genomgÄtt betydande omarbetningar. Möjligheterna för att konfigurera verktygsfÀltet i huvudnoden GraphEdit har utökats.

- Det har blivit möjligt att Àndra typen av import av tillgÄngar i realtid med automatisk uppdatering av scener och resurser utan att behöva starta om editorn. De tillgÀngliga importalternativen har utökats och det har blivit möjligt att justera de fysiska egenskaperna hos importerade objekt samt parametrar för skuggor och synlighet. En förhandsvisning av animationer har lagts till i importdialogrutan. Stödet för import av tillgÄngar frÄn Blender i GLTF-formatet har utökats. Stöd för import av bilder i KTX-format har lagts till.

- Optimeringar har gjorts för att öka renderingsprestanda. För att snabba upp arbetet pÄ mobila enheter har rasterbarriÀrerna delats upp i topp- och fragmentkomponenter. Genereringen av brusiga texturer har pÄskyndats. En förbearbetning för djupberÀkning har lagts till. Tiden för att ladda och kompilera shader har förkortats. Lagringen av polygonala nÀt i minnet har optimerats. Stöd för komprimering av polygonala nÀt har lagts till för att minska bandbredden vid överföring av dessa.
- Det har blivit möjligt att skapa egna texturobjekt (exempel pÄ anvÀndning av berÀkningsshaders för att skapa textur med vattneffekt).
- Ett API för att anropa kod i renderingsströmmen har lagts till, vilket kan behövas nÀr man till exempel behöver synkronisera berÀkningsshadern med renderingen.
- Stöd för version 2.2 av AMD FSR-teknologin (FidelityFX Super Resolution) har lagts till, som anvÀnder algoritmer för rumslig skalförÀndring och detaljÄteruppbyggnad för att minska bildkvalitetsförluster vid uppskalning och omvandling till högre upplösning.
- En ny brusreducerare, JNLM, har föreslagits som anvÀnder ljuskartor (lightmapper) och berÀkningsshaders. JNLM Àr betydligt snabbare Àn det tidigare anvÀnda brusreduceringsbiblioteket OIDN (Open Image Denoise), men i vissa situationer Àr kvaliteten lÀgre.
- Metoderna för Forward+ och Mobile-rendering har fÄtt stöd för 2D-rendering i ett utvidgat dynamiskt ljusstyrkeomrÄde (HDR), vilket möjliggör vissa 3D-effekter som glöd i 2D-spel. Metoden för Compatibility-rendering har fÄtt stöd för tredimensionella skuggor.
- För macOS och Windows har en ny OpenGL-renderingsdrivrutin föreslagits, som anvÀnder laget ANGLE för att översÀtta OpenGL-anrop till API:et Direct3D 11 och Metal.
- Partikelsimuleringssystemet har omarbetats för att förenkla underhÄll och förbÀttra kontrollen över partiklarnas rörelse. Till exempel kan man nu animera och Àrva hastighet vid rörelse samt Àndra antalet emitterade partiklar. Ett verktyg har lagts till för att konvertera partikelgenereringskoden som anvÀnder CPU till motsvarande kod som anvÀnder GPU.
- Stöd för att anvÀnda inbyggda dialogrutor för filval för Linux, macOS och Windows har lagts till, samt möjligheten att kopiera och klistra in bilder via urklippet.
- Arkitekturen för Godot pÄ Android-plattformen har omarbetats för att frigöra sig frÄn Android-komponenten Fragment, vilket har minskat uppstartstiden för applikationer och spel och möjliggjort arbete med flera fönster.
- Den officiella Linux-versionen av Godot-redigeraren för 32- och 64-bitars ARM-plattformar har etablerats.
KĂ€lla: opennet.ru











