Выпуск адкрытага гульнявога рухавічка Godot 3.2

Пасля 10 месяцаў распрацоўкі апублікаваны выпуск вольнага гульнявога рухавічка Гадо 3.2, Прыдатнага для стварэння 2D- і 3D-гульняў. Рухавічок падтрымлівае простую для вывучэння мову задання гульнявой логікі, графічнае асяроддзе для праектавання гульняў, сістэму разгортвання гульняў у адзін клік, шырокія магчымасці анімацыі і сімуляцыі фізічных працэсаў, убудаваны адладчык і сістэму выяўлення вузкіх месцаў у прадукцыйнасці. Код гульнявога рухавічка, асяроддзі праектавання гульняў і спадарожных сродкаў распрацоўкі (фізічны рухавічок, гукавы сервер, бэкенды 2D/3D рэндэрынгу і да т.п.) распаўсюджваюцца пад ліцэнзіяй MIT.

Зыходныя тэксты рухавічка былі адкрыты у 2014 годзе студыяй OKAM, пасля дзесяці гадоў развіцця прапрыетарнага прадукта прафесійнага ўзроўню, які выкарыстоўваўся для стварэння і публікацыі многіх гульняў для PC, гульнявых кансоляў і мабільных прылад. Рухавічком падтрымліваюцца ўсе папулярныя стацыянарныя і мабільныя платформы (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), а таксама распрацоўка гульняў для Web. Гатовыя для запуску бінарныя зборкі сфарміраваны для Linux, Windows і macOS.

В асобнай галінцы развіваецца новы бэкенд рэндэрынгу на базе графічнага API Vulkan, які будзе прапанаваны ў наступным выпуску Godot 4.0, замест прапанаваных цяпер бэкэндаў рэндэрынгу праз OpenGL ES 3.0 і OpenGL 3.3 (падтрымка OpenGL ES і OpenGL будзе захавана праз забеспячэнне працы старога бэкенда новае архітэктуры OpenGL ES 2.0/OpenGL. рэндэрынгу на базе Vulkan). Пераход з Godot 2.1 на Godot 3.2 запатрабуе перапрацоўкі прыкладанняў з-за парушэнні сумяшчальнасці на ўзроўні API, але для галінкі Godot 4.0 будзе забяспечаны працяглы цыкл падтрымкі, тэрмін якога будзе залежаць ад запатрабаванасці дадзенай галінкі карыстальнікамі. У прамежкавыя выпускі 3.2.x таксама не выключаецца партаванне якія не ўплываюць на стабільнасць навін з галінкі 3.2.x, такіх як падтрымка. AOT-кампіляцыі, ARCORE, DTLS і платформы iOS для праектаў на C#.

Асноўныя навіны Godot 3.2:

  • Дададзена падтрымка шлемаў віртуальнай рэальнасці Oculus Quest, рэалізаваная на базе плагіна для платформы Android. Для распрацоўкі сістэм дапоўненай рэальнасці для iOS дададзена падтрымка фрэймворка Аркыт. Для Android развіваецца падтрымка фрэймворка ARCORE, але яна пакуль не гатова і будзе ўключана ў адным з прамежкавых выпускаў 3.3.x;

  • Перапрацаваны інтэрфейс візуальнага рэдактара шэйдараў. Дададзены новыя вузлы для стварэння больш прасунутых шэйдараў. Для шэйдараў, якія рэалізуюцца класічнымі скрыптамі, дададзеная падтрымка канстант, масіваў і мадыфікатараў "varying". Многія шэйдары, спецыфічныя для бэкенда OpenGL ES 3.0, партаваны для OpenGL ES 2;

    Выпуск адкрытага гульнявога рухавічка Godot 3.2

  • Падтрымка фізічна карэктнага рэндэрынгу матэрыялаў (PBR) сінхранізаваная з магчымасцямі новых рухавічкоў PBR-рэндэрынгу, такіх як Blender Eevee і Substance Designer, для забеспячэння падобнага адлюстравання сцэны ў Godot і выкарыстоўваных пакетах 3D-мадэлявання;
  • Праведзена аптымізацыя розных настроек рэндэрынгу для павышэння прадукцыйнасці і павелічэння якасці карцінкі. У бэкенд GLES3 перанесены шматлікія магчымасці з GLES3, уключаючы падтрымку метаду згладжвання MSAA (Multisample anti-aliasing) і розныя эфекты постпрацэсінгу (свячэнне, DOF-размыццё і BCS);
  • Дададзена поўная падтрымка імпарту 3D-сцэн і мадэляў у фармаце glTF 2.0 (GL Transmission Format) і дададзеная пачатковая падтрымка фармта FBX, якая дазваляе імпартаваць сцэны з анімацыяй з Blender, але пакуль несумяшчальная з Maya і 3ds Max. Дададзена падтрымка скінаў каркасаў пры імпарце сцэн праз glTF 2.0 і FBX, якая дазваляе выкарыстоўваць адзін каркас у некалькіх мешах.
    Праца па паляпшэнні і стабілізацыі падтрымкі glTF 2.0 выканана сумесна з супольнасцю распрацоўнікаў пакета Blender, у якім палепшаная падтрымка glTF 2.0 будзе прапанавана ў выпуску 2.83;

  • Сеткавыя магчымасці рухавічка пашыраны падтрымкай пратаколаў WebRTC і WebSocket, а таксама магчымасцю выкарыстоўваць UDP у рэжыме multicast. Дададзены API для выкарыстання крыптаграфічных хэшаў і працы з сертыфікатамі. Дададзены графічны інтэрфейс для прафілявання сеткавай актыўнасці. Пачалася праца па стварэнні порта Godot для
    WebAssembly/HTML5, які дазволіць запускаць рэдактар ​​у браўзэры праз Web;

    Выпуск адкрытага гульнявога рухавічка Godot 3.2

  • Перапрацаваны убудова для платформы Android і сістэма экспарту. Зараз для фармавання пакетаў для Android прапануецца дзве асобныя сістэмы экспарту: адна з папярэдне сабраным рухавіком, а другая якая дазваляе фармаваць уласныя зборкі на аснове кастамізаваных варыянтаў рухавічка. Настройку ўласных зборак можна вырабляць на ўзроўні плагіна для Android, без ручной праўкі зыходнага шаблону;
  • У рэдактар ​​дададзена падтрымка выбарачнага адключэння асобных магчымасцяў, напрыклад, можна прыбраць кнопкі для выкліку 3D-рэдактара, рэдактара скрыптоў, бібліятэкі рэсурсаў, вузлоў, панэляў, уласцівасцяў і іншых элементаў, якія не патрабуюцца распрацоўніку (утойванне лішняга дазваляе прыкметна спрасціць інтэрфейс);

    Выпуск адкрытага гульнявога рухавічка Godot 3.2

  • Дададзена пачатковая падтрымка інтэграцыі з сістэмамі кіравання зыходным кодам і рэалізаваны плягін для падтрымкі Git
    у рэдактары;

  • Прадастаўлена магчымасць перавызначэння камеры для запушчанай гульні праз акно ў рэдактары, што дае магчымасць ацэнкі розных рэжымаў у гульні (свабодны агляд, інспектаванне вузлоў і да т.п.);

  • Прапанавана рэалізацыя сервера LSP (Language Server Protocol) для мовы GDScript, якая дазваляе перадаваць інфармацыю аб семантыцы GDScript і правілах аўтадапаўнення кода ў вонкавыя рэдактары, такія як VS Code plugin і Atom;
  • Унесены шматлікія паляпшэнні ва ўбудаваны рэдактар ​​скрыптоў GDScript: дададзена магчымасць усталёўкі закладак на пазіцыі ў кодзе, рэалізаваная панэль minimap (для хуткага агляду ўсяго кода), палепшана аўтададатак уводу, пашыраны магчымасці рэжыму візуальнага праектавання скрыптоў;

    Выпуск адкрытага гульнявога рухавічка Godot 3.2

  • Дададзены рэжым стварэння псеўда-3D гульняў, які дазваляе выкарыстоўваць эфект глыбіні ў двухмерных гульнях праз вызначэнне некалькіх пластоў, якія фарміруюць фіктыўную перспектыву;

  • У 2D-рэдактар вернута падтрымка атласаў тэкстур;
    Выпуск адкрытага гульнявога рухавічка Godot 3.2

  • У GUI мадэрнізаваны працэс расстаноўкі якароў і межаў абласцей;
  • Для тэкставых дадзеных дабаўлена магчымасць назірання на лета за змяненнем параметраў эфектаў, забяспечана падтрымка тэгаў BBCode і магчымасць вызначэння ўласных эфектаў;
  • Дададзены генератар гукавых патокаў, які дазваляе ствараць гукавыя хвалі на аснове асобных кадраў і спектральнага аналізатара;
  • Пры дапамозе бібліятэкі V-HACD рэалізавана магчымасць раскладання ўвагнутых мешей на дакладныя і спрошчаныя выпуклыя часткі. Дадзеная магчымасць значна спрашчае генерацыю форм сутыкненняў для існуючых 3D-мешей;


  • Рэалізавана магчымасць распрацоўкі гульнявой логікі на мове C# з выкарыстаннем Mono для платформ Android і WebAssembly (раней C# падтрымліваўся для Linux, Windows і macOS). На базе Mono 6.6 рэалізавана падтрымка C# 8.0. Для C# таксама рэалізавана пачатковая падтрымка папераджальнай кампіляцыі (AOT, ahead-of-time), якая дададзена ў кодавую базу, але пакуль не актываваная (для WebAssembly пакуль ужываецца інтэрпрэтатар). Для рэдагавання кода C# рэалізавана магчымасць падлучэння вонкавых рэдактараў, такіх як MonoDevelop, Visual Studio for Mac і Jetbrains Rider;
  • Прыкметна пашырана і палепшана дакументацыя. Апублікаваны частковы пераклад дакументацыі на рускую мову (перакладзена уступнае кіраўніцтва па пачатку працы).

Крыніца: opennet.ru

Дадаць каментар