Unity как инструмент разработки игр и приложений

 Когда первый раз встретил Unity, то был удивлён насколько быстро можно делать игры.

Первый раз удалось на 3х джемах Ludum Dare сделать игры в срок (за  48 и 72 часа).

На других движках этого не получалось. 


Причём, порог вхождения был низким. А вот возможностей - хоть отбавляй.

Компонентная модель позволяла делать конкретный объект не думая об иерархии и сохранять комплект объектов в один префаб и создавать его заново. Причём одной строкой кода или просто перекидыванием.


Расширение интерфейса оказалось тоже очень удобным. Ты просто создаёшь свой редактор для своих классов и она отрисовывает.


Работа со спрайтами оказалась весьма удобной. В последних версиях даже улучшили и расширили поддержку спрайтовой графики - Spine и подобные анимации, и эффекты свечения для двумерной графики.

В общем - ощущения были положительными настолько, что я даже на год купил себе подписку, пока делал игру.

И сейчас они сделали тёмную тему по умолчанию (скорее всего - это ответ на рост популярности Godot).


Многое перенесли в модули. Раньше (с 4й версии начал работать) - было всё в одном редакторе. А теперь - если делаешь двумерную игру, то тебе не нужен весь трёхмерный инструментарий. И можешь его просто не грузить.


Поддержку версионности движков через Unity Hub добавили. Это очень помогало при работе с фриланс заказами. У каждого заказчика своя версия, и в сумме можно было прекрасно работать и над своими тоже, просто переключаясь между ними.


Ассеты, которые тоже ускоряют разработку - бомба (только надо убедиться, что автор их не забросит или остаться на одной версии движка)

В общем - замечательный движок.


Но как и в любой сложной программе - куча ошибок вылезает. Часто просто вылетает и просит отправить проект на расследование (а у меня он до 4х ГиБ вырос). Один раз отправил, но ничего не получилось (после обновления на следующую версию и подверсию всё то же - только многие ассеты стали отваливаться)

Когда много компонент - тут начинается боль. Надо планировать заранее и их взаимодействие.

Поиск по сцене медленный - надо управлять самому через центральный объект.

Запутывают их события и родные C# события.

Надо следить за памятью (лучше через пул объектов) - это в общем проблема игр на C# языке из-за особенности .NET и управления памятью через сборщик мусора.

Нет сохранения изменений объектов во время проигрывания. Приходится записывать на бумагу или делать по одному шагу за раз.

После останова - всё сбрасывается.

Появилась поддержка вложенных префабов, и лишь недавно добавили отдельный редактор для них. 

Старые префабы из-за этого полностью разваливаются, так что если у вас есть проект до 2018.3, то стоит задуматься о LTS версии.


Тут они молодцы - сделали версии, которые будут поддерживать 3-5 лет. Для многих игр этого достаточно.


Так что вердикт простой - для игр он очень хорош, но готовьтесь к Unity заставке в начале или платить 1 год (и более) чтобы не было заставки.

Управление проектами и версия их облака тоже стоят денег в месяц. Сейчас у них даже есть своя система контроля версий после покупки Perforce.


Комментарии

Популярные сообщения