Unity как инструмент разработки игр и приложений
Когда первый раз встретил Unity, то был удивлён насколько быстро можно делать игры.
Первый раз удалось на 3х джемах Ludum Dare сделать игры в срок (за 48 и 72 часа).
На других движках этого не получалось.
Причём, порог вхождения был низким. А вот возможностей - хоть отбавляй.
Компонентная модель позволяла делать конкретный объект не думая об иерархии и сохранять комплект объектов в один префаб и создавать его заново. Причём одной строкой кода или просто перекидыванием.
Расширение интерфейса оказалось тоже очень удобным. Ты просто создаёшь свой редактор для своих классов и она отрисовывает.
Работа со спрайтами оказалась весьма удобной. В последних версиях даже улучшили и расширили поддержку спрайтовой графики - Spine и подобные анимации, и эффекты свечения для двумерной графики.
В общем - ощущения были положительными настолько, что я даже на год купил себе подписку, пока делал игру.
И сейчас они сделали тёмную тему по умолчанию (скорее всего - это ответ на рост популярности Godot).
Многое перенесли в модули. Раньше (с 4й версии начал работать) - было всё в одном редакторе. А теперь - если делаешь двумерную игру, то тебе не нужен весь трёхмерный инструментарий. И можешь его просто не грузить.
Поддержку версионности движков через Unity Hub добавили. Это очень помогало при работе с фриланс заказами. У каждого заказчика своя версия, и в сумме можно было прекрасно работать и над своими тоже, просто переключаясь между ними.
Ассеты, которые тоже ускоряют разработку - бомба (только надо убедиться, что автор их не забросит или остаться на одной версии движка)
В общем - замечательный движок.
Но как и в любой сложной программе - куча ошибок вылезает. Часто просто вылетает и просит отправить проект на расследование (а у меня он до 4х ГиБ вырос). Один раз отправил, но ничего не получилось (после обновления на следующую версию и подверсию всё то же - только многие ассеты стали отваливаться)
Когда много компонент - тут начинается боль. Надо планировать заранее и их взаимодействие.
Поиск по сцене медленный - надо управлять самому через центральный объект.
Запутывают их события и родные C# события.
Надо следить за памятью (лучше через пул объектов) - это в общем проблема игр на C# языке из-за особенности .NET и управления памятью через сборщик мусора.
Нет сохранения изменений объектов во время проигрывания. Приходится записывать на бумагу или делать по одному шагу за раз.
После останова - всё сбрасывается.
Появилась поддержка вложенных префабов, и лишь недавно добавили отдельный редактор для них.
Старые префабы из-за этого полностью разваливаются, так что если у вас есть проект до 2018.3, то стоит задуматься о LTS версии.
Тут они молодцы - сделали версии, которые будут поддерживать 3-5 лет. Для многих игр этого достаточно.
Так что вердикт простой - для игр он очень хорош, но готовьтесь к Unity заставке в начале или платить 1 год (и более) чтобы не было заставки.
Управление проектами и версия их облака тоже стоят денег в месяц. Сейчас у них даже есть своя система контроля версий после покупки Perforce.
Комментарии
Отправить комментарий