TĂĂTAJATE PALVE! VĂ”etud OpenNetist.
PĂ€rast 10 kuu arendust on avaldatud tasuta mĂ€ngumootori vĂ€ljaanne Godot 3.2, mis sobib 2D- ja 3D-mĂ€ngude loomiseks. Mootor toetab lihtsalt Ă”pitavat mĂ€nguloodud keelt, mĂ€ngude projekteerimise graafilist keskkonda, ĂŒhe nupuvajutusega mĂ€ngude juurutamis sĂŒsteemi, laialdasi animatsiooni ja fĂŒĂŒsika simuleerimise vĂ”imalusi, integreeritud silumist ja jĂ”udluse kitsaskohtade tuvastussĂŒsteemi. MĂ€ngumootori kood, mĂ€ngude projekteerimise keskkond ja seotud arendustööriistad (fĂŒĂŒsikamootor, heliserver, 2D/3D renderdused jne) levitatakse MITi litsentsi alusel.
Mootori lĂ€htekoodid avati 2014. aastal OKAMi stuudio poolt, pĂ€rast kĂŒmneaastast arendust professionaalse taseme patenditud tootena, mida on kasutatud paljude mĂ€ngude loomiseks ja avaldamiseks PC, mĂ€ngukonsoolide ja mobiilseadmete jaoks. Mootor toetab kĂ”iki populaarseid lauaarvuti ja mobiilplatvorme (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), samuti mĂ€ngude arendamist veebis. Valmis kĂ€ivitamiseks mĂ”eldud binaarsed kogumikud on loodud Linuxi, Windowsi ja macOSi jaoks.
Eraldi haru arendab uut renderdamise taustaloogikat Vulcani graafik API pĂ”hjal, mis pakutakse jĂ€rgmises Godot 4.0 vĂ€ljaandes, asendades praegu pakutavad OpenGL ES 3.0 ja OpenGL 3.3 renderdamise taustad (OpenGL ES ja OpenGLi tugi sĂ€ilib, tagades vana OpenGL ES 2.0/OpenGL 2.1 tausta toimimise uue Vulcani renderdamise arhitektuuri peal). Ăleminekult Godot 3.2-lt Godot 4.0-le on vajalik rakenduste kohandamine API taseme ĂŒhilduvuse rikkumise tĂ”ttu, kuid Godot 3.2 haru jaoks tagatakse pikaajaline toekseskus, mille kestus sĂ”ltub kasutajate nĂ”udlusest. TĂ€iendavates 3.2.x vĂ€ljaannetes ei vĂ€listata ka stabiilsust mĂ”jutavate uuenduste ĂŒleviimist 4.x harust, nagu AOT-kompileerimise, ARCore, DTLS ja iOS platvormide tugi C# projektidele.
Godot 3.2 peamised uuendused:
- Lisatud tugi Oculus Quest virtuaalreaalsuse peadele, mis on rakendatud Androidi platvormi pistiku kaudu. TĂ€iendatud on iOS-i tĂ€iustatud reaalsuse sĂŒsteemide arendamise jaoks ARKit raamistikku. Androidi jaoks arendatakse ARCore raamistikku, kuid see pole veel valmis ja lisatakse ĂŒhes vaheversioonis 3.3.x;
- Visuaalse shaderi redaktori liidest on ĂŒmber kujundatud. Uued sĂ”lmed on lisatud edasijĂ”udnute shaderite loomiseks. Klassikaliste skriptidega rakendatud shaderitele on lisatud tugi konstanditele, massiividele ja 'varying' modifikaatoritele. Paljud OpenGL ES 3.0 tagapĂ”hja spetsiifilised shaderid on portitud OpenGL ES 2-le;
- FĂŒĂŒsiliselt korrektse materjalide renderdamise (PBR) tugi on sĂŒnkroniseeritud uute PBR-renderdreerimise mootorite, nagu Blender Eevee ja Substance Designer, vĂ”imalustega, et tagada sarnane stseeni kuvamine Godotis ja kasutatavates 3D-modelleerimise pakettides;
- Mitmesuguste renderdamise seadistuste optimeerimine on lÀbi viidud, et tÔsta jÔudlust ja parandada pildi kvaliteeti. GLES3 tagapÔhja on viidud paljusid GLES3 omadusi, sealhulgas MSAA (Multisample anti-aliasing) silumise meetodi ja erinevate postprotsessimise efektide (helendamine, DOF-uudistus ja BCS);
- TĂ€ielik tugi glTF 2.0 (GL Transmission Format) 3D-stseenide ja mudelite importimiseks on lisatud ning algne tugi FBX formaadi importimiseks, mis vĂ”imaldab importida animatsiooni sisaldavaid stseene Blenderist, kuid pole veel ĂŒhilduv Maya ja 3ds Max programmidega. Lisatud on tugi sugu raamide importimiseks glTF 2.0 ja FBX kaudu, mis vĂ”imaldab kasutada ĂŒhte raamistikku mitmes vĂ”rgus. Kogu töö glTF 2.0 toe parandamisel ja stabiliseerimisel on tehtud koostöös Blenderi arendajate kogukonnaga, kus parandatud glTF 2.0 tugi pakkuda vĂ€lja versioonis 2.83;
- Mootori vĂ”rguvĂ”imalusi on laiendatud WebRTC ja WebSocket protokollide toe ning UDP kasutamise vĂ”imalusega multicasting reĆŸiimis. Lisatud on API krĂŒptograafiliste rikutud ja sertifikaatidega töötamiseks. Lisatud on graafiline liides vĂ”rguaktiivsuse profileerimiseks. Alustatud on Godoti pordi loomist WebAssembly/HTML5 jaoks, mis vĂ”imaldab redaktori kĂ€ivitamist brauseris lĂ€bi Web;
- Android platvormi pistikprogramm ja eksportimissĂŒsteem on uuendatud. NĂŒĂŒd pakutakse Androidi pakettide koostamiseks kahte erinevat eksportimissĂŒsteemi: ĂŒhte, kus on eelnevalt kokku pandud mootor, ja teist, mis vĂ”imaldab luua kohandatud koguseid kohandatud mootori variantide pĂ”hjal. Kohandatud koguseid saab seadistada Androidi pistikprogrammi tasandil, ilma et oleks vaja kĂ€sitsi muuda algset malli;
- Toimetajasse on lisatud toeks valikulist eraldamist teatud funktsioonidest, nÀiteks saate eemaldada nupud 3D-toimetaja, skripti toimetaja, ressursside raamatukogu, sÔlmed, paneelid, omadused ja muud arendajale mittevajalikud elemendid (liigsete varjamisega saab liideset mÀrkimisvÀÀrselt lihtsustada);
- Algne tugi allika koodi haldamise sĂŒsteemide integreerimisele on lisatud ning editorisse on rakendatud Git-i tugi;
- MĂ€ngu jaoks kĂ€ivitatud kaamera ĂŒlekirjutamise vĂ”imalus toimetaja aknas, mis vĂ”imaldab erinevate mĂ€ngureĆŸiimide hindamist (vaba vaade, sĂ”lmede inspektsioon jne);
- GDScript'i keele LSP (Language Server Protocol) serveri rakendamine, mis vÔimaldab edastada teavet GDScript'i semantika ja automaatse kodeerimise reeglite kohta vÀlistesse toimetajatesse, nagu VS Code plugin ja Atom;
- Mitmeid tĂ€iustusi on tehtud GDScript'i sisseehitatud skripti toimetajas: kodu asukoha mĂ€rkmete seadmine, minimapi paneeli rakendamine (kogu koodi kiireks ĂŒlevaatamiseks), edasustatud automaatne tĂ€iendamine, laiendatud visuaalsete skriptide projektimise reĆŸiimi vĂ”imalusi;
- Psevdosiooniga mĂ€ngude loomise reĆŸiim, mis vĂ”imaldab kasutada sĂŒgavuse efekti kahemÔÔtmelistes mĂ€ngudes, mÀÀratledes mitu kihti, mis loovad vale perspektiivi;
- 2D-toimetajasse on taastatud tekstuuride atlasetugi;
- GUI-s on moderniseeritud ankru ja piirkondlike piiride paigutamise protsess;
- Tekstiliste andmete jaoks on lisatud vÔimalus silmade peal jÀlgida efekti parameetrite muutusi, tagatakse BBCode'i siltide tugi ja vÔimalus mÀÀrata enda efekte;
- Lisatud on helivoogude generaator, mis vĂ”imaldab luua helilaineid ĂŒksikute kaadrite ja spektraalanalĂŒsaatori alusel.
- V-HACD teegi abil on vÔimalik kumerate mesh'ide lahutamine tÀpseteks ja lihtsustatud kumerateks osadeks. See vÔimalus lihtsustab oluliselt kokkupÔrkevormide genereerimist olemasolevate 3D-mesh'ide jaoks;
- Olenemata on rakendatud mĂ€ngu loogika arendamise vĂ”imalus C# keeles Mono kasutades Androidi ja WebAssembly platvormide jaoks (varasemalt C# toetas Linuxi, Windowsi ja macOS'i). Mono 6.6 baasil on rakendatud C# 8.0 tugi. C# on teinud esialgse toetuse ettevaatava kompileerimise (AOT, ahead-of-time), mis on lisatud koodibaasi, kuid pole veel aktiveeritud (WebAssembly jaoks kasutatakse praegu tĂ”lgendajat). C# koodi redigeerimise jaoks on vĂ”imalik ĂŒhendada vĂ€liseid redaktoreid, nagu MonoDevelop, Visual Studio for Mac ja Jetbrains Rider;
- Dokumentatsiooni on mÀrkimisvÀÀrselt laiendatud ja parendatud. Avaldatud on osaline tÔlge dokumentatsioonist vene keelde (tÔlgitud on sissejuhatav juhend alustamiseks).
Allikas: linux.org.ru

