Unity и Unreal Engine — это сейчас самые популярные движки для создания кроссплатформенных видеоигр (как для PC, так и консолей, мобильных платформ). Но какой из них рекомендуется выбрать начинающему разработчику? Влияет ли на это как-то жанр будущей игры?
Сравнение
Движки следует сравнивать по конкретным характеристикам, а именно:
1. Интерфейс (UI). Они даже визуально схожи: есть рабочая область, список с ассетами, скриптами, анимациями и настройками освещения для проекта. И их можно перетаскивать прямо в окно с редактором уровня.
2. Работа с анимацией. В UE уже интегрирован инструмент для редактирования (в том числе с привязкой к «скелету» объекта). В Unity для этого потребуется использовать сторонние плагины. Но поддержка интеграций у обоих движках — схожая. Например, они без проблем понимают Maya-проекты.
3. Работа с текстурами. В Unity поддерживаются «ноды», где можно для каждого слоя использовать собственный шейдер из доступного перечня (собственные же необходимо писать «вручную»). В UE в этом плане более функциональный инструментарий.
4. Используемый язык программирования. В Unity — это C#, а также собственный API UnityScript, которые считаются относительно несложными для изучения новичкам. Но визуального интерфейса для редактирования скриптов — нет (можно установить как дополнительный плагин). В UE — C++, работать с ним сложнее, компиляция занимает больше времени. Есть визуальный редактор (Blueprints), признанный как один из самых удобных для работы.
5. Доступ к информации. Разработчики обеих движков предоставляют массу документации, которая упрощает изучение. Но вокруг Unity сформировалось большее коммьюнити. Объясняется это тем, что именно этот движок чаще используют для разработки мобильных игр (на Андроид, iOS). То есть найти ответы на тематических форумах проще именно по Юнити. А UEчаще вовсе изучается по книгам.
6. Работа с 2D. UE практически не адаптирован для работы с 2D. В него добавлен плагин Paper2D, но гибким его назвать нельзя. В Unity2D и интерфейс более понятен, и функционал — больше. Кстати, именно из-за этого на нем делают ставку мобильны разработчики.
7. Гибкость. И здесь тоже условным фаворитом считается Unity. Разработчики движка специально делали акцент на его универсальности. Он подходит под любые платформы, в том числе VR. Но у Unreal Engine — открытый исходный код. То есть команда разработчиков с должным опытом смогут расширить или адаптировать его функционал до необходимых границ. И уже в дальнейшем его можно использовать вообще под какие-либо проекты. Но работать придется именно с кодом C++. Для новичка это — не вариант.
Какой лучше выбрать
Если смотреть статистику, то Юнити чаще используют для небольших, авторских, «арт-хаусных» проектов. Для ААА-игр он тоже подходит, но из-за необходимости в использовании большого количества сторонних плагинов нередко возникают проблемы с оптимизацией. Unreal же повсеместно применяется в разработке флагманских игр, в визуальном плане результат получается лучше. Соответственно:
- Unity более прост в изучении, идеально подходит под 2D, а также для разработок на мобильные платформы;
- UE — более сложен, но предоставляет больший инструментарий, его можно дорабатывать, многие ААА-игры крупнейшими студиями разрабатываются именно на нём.
Итоговый же выбор — непосредственно за разработчиком. Многие сходятся на мнении, что начинать проще на Юнити, а уже в дальнейшем переходить на Unreal Engine 4 версии (а в дальнейшем — и на пятую).
Какие движки вам больше понравились? Пишите свое мнение в комментариях и не забывайте ставить лайки.