Игровой движок Unigine. Первый взгляд
Решил поиграть в gamedev и возник вопрос выбора простого игрового движка «для себя». CryEngine: с такими аппетитами только для работы за большие деньги. UE5: не имеет нативной поддержки Linux (да, можно скомпилИть), вероятно, он даже прикольный, но на i3-4030/8Gb он виснет на запуске. И это движок, который рассчитан на инди-разрабов. Разве что мы считаем инди-разрабами Мелкомягких… Godot — очень прикольный, но немного тормознутый. Unity — все было хорошо и поэтому игрался с ним.
Но на фоне возникающих проблем с культурой отмены России, в Unity Hub появлялся malware (имелась зависимость от node-ipc, а в нем появился малварь peacenotwar — статья на Хабр с допссылками), недолго, но есть те, кто его словил. Знакомый работает в gamedev и несколько его коллег обновились в тот момент, когда откат зависимостей на прошлые версии не произошел… :( У меня стоит Unity Hub 2, а атакован был Unity Hub 3, поэтому мне тоже повезло.
Итого: дополнил свой поиск идеей импортозамещения и нашел Unigine (О компании). Можно понадеяться, что данный продукт хоть как-то проверяется на проникновение в него таких malware. Зарегистрировался, скачал, поставил.
Исходно Unigine создавался как профессиональный 3D-движок реального времени. Помимо этого создавались бенчмарки на этом движке. В 2012 году на нем выпущена игра Oil Rush. А в 2020 году появилась Community-версия движка — на нее и ориентируемся.
Сначала скачиваем и устанавливаем UNIGINE SDB Browser (аналог Unity Hub) менеджер версий движка, проектов, аддонов… В нем уже скачиваем интересующую нас версию движка (в терминологии Unigine — SDK). В моем случае это была версия 2.15.1. После чего, не мудрствуя лукаво, идем в раздел туториалы поддомена developer.unigine.com и начинаем изучать.
И вот тут мы в полной мере окунаемся в первую интересность этого движка — сайт-то на англицком! А красивый переключатель флажков в правом верхнем краю сайта — это переключатель гуглоперевода. Ребят, я все понимаю, мировой рынок, международная компания и т.п., но вы ж исходно русские!.. После этого обращаем внимание, что интерфейс тоже only English. И даже общение на форуме идет на английском. Чтоб не делать двойной перевод, переключаемся на английский и начинаем изучать. Если не перегорит желание, то я попытаюсь написать адекватный перевод их туториала для популяризации этого движка.
Приятная мелочь заключается в том, что при создании нового проекта, создается и дефолтный мир (сцена) с наполнением и примером управления в стиле FPS. Но это также является и минусом — где-то стоит мусорный бак с кубиками из Blender, а тут придется поставить еще один — под FPS-мир из Unigine.
После некоторого времени беганья по этому миру вспоминаем, что вообще-то не игрушку поставили, а движок. Возвращаемся в IDE и на сайт developers и закапываемся в туториал. Уроки сделаны неплохо, но есть кое-где недочеты по пояснениям (и это хочется поправить). Следующий пункт, в который бьемся с разбегу — это частичное отсутствие документации. Не все функции, даже использованные в уроках имеют страничку хелпа. Разрабы это знают, но на форуме отвечают в стиле It'll be done, when it's done. На картинке поиск функции из туториала.
Далее, работает — нормально, нет каких-то сильных лагов или чрезмерных загрузок компа (у меня ноут i3-4030M, 8GB, без дискретной видео, SATA SSD, короче говоря, машинка ну совсем неигровая). В качестве редактора для C# в Linux используется VS Code, как и в Unity. Но почему-то с Unity у меня подсказки синтаксиса так и не заработали — что-то я неправильно сделал. А с Unigine у меня в VS Code работают и подсказки, и дебаггинг, причем для подстройки хватило инструкции с сайта.
Плюс следующий (ИМХО) заключается в расположении осей в мире 3D. Оси X и Y расположены по плоскости земли, а ось Z направлена вверх. В Unity вертикальная ось — Y, что приводит к проблемам при преобразовании двумерного вектора (X,Y) карты в плоскость XZ. Вообще метод преобразования глобальных координат в локальные сделан (опять ИМХО) проще чем в Unity. Здесь используется просто матричная алгебра.
Используемые языки программирования C++, C#, UnigineScript. Допустимая точность для Community версии float — точность double доступна только в платных версиях движка учитывайте этот момент для размера своего игрового мира. Имеются сложности в отработке физики, о чем непосредственно сообщают разработчики: Continuous collision detection is available for sphere and capsule shapes only.
Итого считаю, что для анпакинга и первого взгляда достаточно. Продукт достоин того, чтобы на него посмотрели. В нем порядочное количество косячков, часть из них связана с маленьким сообществом. При этом он довольно производителен и не слишком требователен. Поддерживает стандартный формат моделей fbx, что легко связывает его с Blender. Ах, да! Он же еще отечественный — «Запись в реестре №9980 от 02.04.2021».
8 комментариев
Добавить комментарий
Короче, так движки не рекламируют, особенно, как это следует из текста, более жадные чем доделанные.
2. Подтверждение?.. Скрины хочется со всех систем? Так Огрызка не имею. А на Форточку ставить лень. И с мобилами не играюся.
3. Так я вроде никакой и не рекламировал.
4. А уж тем более жадные Cry и UE5 — эти только для тех, кто на сдачу с хлебушка покупает пару RTX3090. ;)
Ответил?
А UE4 тогда чем не угодил? UE5 вообще слишком новый, не отшлифованный еще. На нем по-моему еще ни одной крупной игры не сделали до сих пор.
Присмотритесь лучше к Godot Engine — это самый многообещающий игровой движок, который обещает похоронить Unity, ибо сам является воплощением старых идей Unity.
Добавить комментарий