Представлен (https://godotengine.org/article/godot-3-1-released) выпуск свободного игрового движка Godot 3.1 (http://www.godotengine.org), подходящего для создания 2D- и 3D-игр. Движок поддерживает простой для изучения язык задания игровой логики, графическую среду для проектирования игр, систему развёртывания игр в один клик, широкие возможности анимации и симуляции физических процессов, встроенный отладчик и систему выявления узких мест в производительности. Код игрового движка, среды проектирования игр и сопутствующих средств разработки (физический движок, звуковой сервер, бэкенды 2D/3D рендеринга и т.п.) распространяются (https://github.com/okamstudio/godot/) под лицензией MIT.
Исходные тексты движка были открыты (https://www.opennet.me/opennews/art.shtml?num=39053) в 2014 году студией OKAM (http://okamstudio.com/), после десяти лет развития проприетарного продукта профессионального уровня, который использовался для создания и публикации многих игр (http://okamstudio.com/portfolio/) для PC, игровых консолей и мобильных устройств. Движком поддерживаются все популярные стационарные и мобильные платформы (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), а также разработка игр для Web. Готовые для запуска бинарные сборки сформированы (http://www.godotengine.org/) для Linux, Windows и macOS.
Основные новшества:
- Возвращена убранная в выпуске 3.0 возможность рендеринга с использованием OpenGL ES 2.0 / OpenGL 2.1 вместо OpenGL ES 3.0 / OpenGL 3.3, что позволяет добиться более высокой производительности на устаревшем оборудовании, обойти некоторые проблемы с драйверами и обеспечить совместимость со старыми мобильными устройствами и браузерами без поддержки WebGL 2.0. Так как по возможностям рендеринг на базе OpenGL ES 2 отстаёт от OpenGL ES 3, поддержка OpenGL ES 2 реализована в виде отдельной платформы отрисовки;
- В языке сценариев GDScript добавлена опциональная поддержка явного указания типов, помимо предлагаемой изначально динамической типизации. Указанная возможность пока реализована только на уровне парсера и будет доработана в будущем. Использование типов позволит повысить производительность кода, упростит работу системы автодополнения ввода, позволит отлавливать дополнительные ошибки и сделает код более читаемым;
- Переработан (https://godotengine.org/article/godot-gets-new-inspector) интерфейс инспектирования. Добавлены такие новые возможности, как редактирование векторных полей, инспектирование в процессе редактирования ресурсов, улучшенные настраиваемые визуальные редакторы для различных типов объектов, удобная система управления на основе ползунков, улучшенное редактирование массивов и словарей;
- Переписан 2D-редактор. Значительно улучшена работа с прямоугольниками-ограничителями (gizmo) при манипуляции с объектами, обеспечена пометка общих узлов и добавлена возможность прямого изменения размера фигур;
- Представлен новый редактор для тайловой графики (https://ru.wikipedia.org/wiki/%D0%A2%D0%...), позволяющий формировать целостное изображение из фрагментов одинакового размера;
- Переработана (https://godotengine.org/article/godot-gets-new-filesystem-do...) панель для работа с файловой системой, в которой реализован режим древовидного отображения файлов с миниатюрами, предпросмотром выбранных файлов, определением содержимого файлов на сцене и секцией с избранными файлами;
- Улучшены (https://godotengine.org/article/godot-31-will-get-many-impro...) средства для создания кинематической анимации, упрощающие визуализацию движения персонажей. Доступные такие возможности как привязка тела к поверхности, поддержка форм RayCast в движущихся телах и синхронизация кинематического перемещения с физическими свойствами, позволяющая избежать отставания на один кадр;
- Полностью переработан редактор анимации. Упрощено оформление, добавлен предпросмотр для большинства типов ключей анимации, появилась возможножность группировки треков по узлам, в режим инспектирования добавлена поддержка редактирования ключей, обеспечена возможность копирования треков через буфер обмена, добавлен API для подключения собственных плагинов редактирования треков, добавлены новые типы треков;
- Предложен новый интерфейс с деревом наложения анимации (AnimationTree);
- Добавлена новая система обработки координатных осей, упрощающая произвольную привязку к осям;
- Возвращён визуальный редактор шейдеров;
- Добавлены новые узлы Skeleton2D и Bone2D для создания (https://docs.godotengine.org/en/3.1/tutorials/animation/2d_s...) двумерных каркасов для скелетной деформации;
- Добавлена поддержка 2D-мэшей (https://docs.godotengine.org/en/3.1/tutorials/2d/2d_meshes.html), которые можно конвертировать из спрайтов, например, чтобы избежать отрисовки больших прозрачных областей;
- Улучшен 3D-редактор, в котором полностью переработаны механизмы выделения объектов и система ограничивающих параллелепипедов (gizmo);
- На базе движка Bullet реализована поддержка симуляции мягких тел (soft body (https://godotengine.org/article/soft-body)). Также добавлена система SkeletonIK, позволяющая создавать простые цепочки обратной кинематики (IK) для существующих каркасов и переключаться между режимами прямой и обратной кинематики;
- Добавлена возможность быстрого моделирования прототипов твёрдых тел при помощи конструктивной блочной геометрии (https://ru.wikipedia.org/wiki/%D0%9A%D0%...) (CSG);
- Добавлена поддержка симплексных (OpenSimplex (https://godotengine.org/article/simplex-noise-lands-godot-31)) и зашумлённых текстур;
- Добавлена возможность использования CPU для
генерации частиц (ранее поведение частиц рассчитывалось только при помощи GPU);
- В сетевой API добавлена поддержка WebSockets и UPnP;
- В звуковой системе появилась возможность использования MIDI-устройств и захвата звука через микрофон.
URL: https://godotengine.org/article/godot-3-1-released
Новость: https://www.opennet.me/opennews/art.shtml?num=50329