Игровые движки Godot 3 и Unigine 2

Сравнение графических возможностей на примере набросков похожих проектов, собранных в той и другой среде.

Игровые движки Godot 3 и Unigine 2

Unigine

Томский игровой движок, часто используемый для бенчмарков и симуляций. В этом году появилась бесплатная лицензия и вышли версии 2.11, 2.12. Внутри применяется довольно много интересных и перспективных решений, рендерит достаточно красивую картинку и может очень сильно приглянуться художникам (вплоть до прощания с CryEngine или Unreal), особенно если те моделят в отдельном 3д-пакете, а не средствами самого движка.

Террейн тут есть из коробки, как и вода, облака, волюметрики, проекторы и прочие полезные вещи. Поверх террейна накладываются различные маски для детализации и прочего - очень классный инструмент для создания ландшафтов, хотя, в плане юзабилити есть куда его улучшать.

В качестве инструмента для игрового разработчика - здесь в принципе применим опыт использования C# в Unity, хотя в Unigine нет такого же многообразия готовых компонентных решений. Тем не менее, какие-то базовые вещи реализованы, а документация поможет написать остальное. Разумеется, использовать С++ тоже возможно.

Наброски проекта Невангеры в Unigine engine

Для мобильной платформы движок пока не подойдёт, как и для разработки без программирования. Хотя планируется развивать его и в этих направлениях. Требования к железу на уровне запросов Unreal, минимальный вес файла приложения довольно большой. Зато красиво и в целом многие вещи движок оптимизирует сам.

Godot

Ну а здесь у нас опенсурсный компактный движок с огромными возможностями (как я уже говорил - это как Blender от мира игровых движков), но, опять же, пока уступающий тому же Unity в плане многообразия готовых решений и возможностей. Хотя, различных неофициальных решений для Годо уже написано довольно много и благодаря относительной простоте/быстроте имплементации нового функционала, не сказать, чтобы это было какой-то проблемой на данный момент.

У Годо больше репутация 2д-движка, благодаря многообразию проработанных инструментов именно для 2д, но они являются дополнительным плюсом для 3д - куда проще делать игровой UI. На текущий момент Годо в своём развитии дошёл до стабильной 3.2.2 версии, вот вот выйдет 3.2.3, которая пока в состоянии релиз кандидатов.

Движок не требует мощного железа для 3д-графики и выдаёт вполне приличную картинку. Готовых трёхмерных инструментов не огромное количество, но реализованы как раз одни из самых нужных, полезных и универсальных. Примерно то же касается и оптимизаций. Например, в движке реализован обычный frustrum culling, отсекающий геометрию вне зоны видимости камеры. А вот для какого-нибудь occlusion culling (чтобы не считать закрытые стенами объекты) реализацию придётся придумывать самостоятельно (что не так уж сложно, особенно в каких-то точечных местах, да и не в каждой игре нужно).

В отличие от Unity движок не будет за вас батчить геометрию (по крайней мере в gles3 режиме этого пока нет) и нарезать террейн на чанки (потому как официальной реализации террейна в Годо пока нет, но в будущих версиях хотят включить существующее неофициальное решение в состав релиза). Но вы можете делать это самостоятельно - заранее сшить нужные куски в 3д-пакете в один меш или побить свой террейн на мелкие части, чтобы камера не рисовала его целиком, даже когда в кадре видно всего лишь его край. Или подыскать какую-то реализацию в местном небольшом сторе, например, добавить в свой проект готовое решение для террейна, где всё само разобьётся на куски-чанки, как в стандартном Unity-террейне.

Интерфейс движка, кстати, довольно продуманный и кастомизируемый (хотя есть некоторые негибкие элементы). Пользоваться им в целом удобно. Поддерживаемых языков достаточно, для разного уровня погружения. Тут и C++ и C# и довольно удобный внутренний GDScript, который запускается прямо внутри редактора, не требуя запуска отдельной среды. Визуальный скриптинг тоже присутствует (плюс очень классный инструмент для записи анимаций), так что без знания программирования в Годо тоже вполне можно жить - какую-то минимальную логику сконструировать, что-то заанимировать.

Малый вес приложения, мультиплатформенность, быстрота разработки, простота имплементации различных сторонних решений - тоже немаловажные плюсы движка. Есть два варианта рендера - gles2 и gles3, оба поддерживают 3д, но в первом оно попроще и в целом он больше подходит для 2д и мобилок. Gles3 даёт более продвинутый уровень графики, какая-то часть мобильных устройств его тоже поддерживает.

Другие не вангеры - проект wild engines на Годо (рендер gles3)

К концу года появится 4-я версия Godot, использующая vulkan. Там графика шагнёт ещё дальше, появится более продвинутое реалтайм освещение и дополнительные оптимизации. Собственно, неофициальные билды четвёртой версии уже есть и можно их пробовать, хотя работают частично и нестабильно.

3434
30 комментариев

Комментарий недоступен

8
Ответить

Просто задача не в пиаре, а в том чтобы сделать хороший инструмент.

1
Ответить

Комментарий недоступен

2
Ответить

Тут ещё надо быть уверенным, что драйвера железа поддерживает vulkan. Допустим, у меня на маломощной машине текущие сборки Годо 4 уже не запускаются.

Ответить

Комментарий недоступен

Ответить

Godot one love!

1
Ответить

Согласен :)
Кстати, писал по движку некоторый мини-обзор с разбором каких-то основных полезных инструментов и мелких деталей:
https://habr.com/ru/post/509144/

1
Ответить