Реліз ігрового двигуна Godot 3.2


Реліз ігрового двигуна 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 2.0 поверх нової архітектури рендерингу на базі 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 додано підтримку фреймворку ARKit. Для Android розвивається підтримка фреймворку ARCore, але вона поки що не готова і буде включена в одному з проміжних випусків 3.3.x;
  • Перероблено інтерфейс візуального редактора шейдерів. Додані нові вузли для створення більш сучасних шейдерів. Для шейдерів, що реалізуються класичними скриптами, додано підтримку констант, масивів та модифікаторів «varying». Багато шейдерів, специфічних для бекенда OpenGL ES 3.0, портовані для OpenGL ES 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;
  • Перероблено плагін для платформи Android та система експорту. Тепер для формування пакетів для Android пропонується дві окремі системи експорту: одна з попередньо зібраним двигуном, а друга дозволяє формувати власні зборки на основі кастомізованих варіантів двигуна. Налаштування власних збірок можна проводити на рівні плагіна для Android, без ручного виправлення вихідного шаблону;
  • У редактор додано підтримку вибіркового відключення окремих можливостей, наприклад, можна прибрати кнопки для виклику 3D-редактора, редактора скриптів, бібліотеки ресурсів, вузлів, панелей, властивостей та інших елементів, які не потрібні розробнику (приховування зайвого дозволяє помітно спростити інтерфейс);
  • Додана початкова підтримка інтеграції із системами керування вихідним кодом та реалізовано плагін для підтримки Git у редакторі;
  • Надано можливість перевизначення камери для запущеної гри через вікно в редакторі, що дає можливість оцінки різних режимів у грі (вільний огляд, інспектування вузлів тощо);
  • Запропоновано реалізацію сервера LSP (Language Server Protocol) для мови GDScript, що дозволяє передавати інформацію про семантику GDScript та правила автодоповнення коду до зовнішніх редакторів, таких як VS Code plugin та Atom;
  • Внесено численні покращення у вбудований редактор скриптів GDScript: додано можливість встановлення закладок на позиції в коді, реалізовано панель minimap (для швидкого огляду всього коду), покращено автодоповнення введення, розширено можливості режиму візуального проектування скриптів;
  • Додано режим створення псевдо-3D ігор, що дозволяє використовувати ефект глибини у двовимірних іграх через визначення кількох шарів, що формують фіктивну перспективу;
  • У 2D-редактор повернуто підтримку атласів текстур;
  • У 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;
  • Помітно розширено та покращено документацію. Опубліковано частковий переклад документації російською мовою (перекладено вступний посібник з початку роботи).

Новина на сайті Godot

Завантажити останню версію

Джерело: linux.org.ru

Додати коментар або відгук