Почему выбран Unreal Engine вместо Unity
04.10.2024 11:37:19
04.10.2024 11:37:19
Во-первых в этом снова виноват Олег
Про плюсы и минусы движка я уже писал, повторяться не буду, но вот что еще я обнаружил попытавшись перенести одну сцену из Unity в Unreal...
В собранных сценах под Unity творится дикий бардак. Их собирал творческий человек и все сделано классно с т.з. визуала, но вот поддерживать это совершенно невозможно. Всего на одной сцене больше 400 объектов и порядка полутора тысяч инстансов этих объектов. Названы они объект1, объект2, … объект1088, часть объектов скрыта под землей и никогда не будет видна пользователю, часть отключена, часть отвязана от префаба, часть просто сломана (невозможно ни экспортнуть, ни изменить, но на сцене почему-то отображается правильно). Материалы дуплицированы, сами ассеты названы и структурированы тоже хрен пойми как... Теперь представьте что с этим всем будет при попытке дальнейшего обновления движка, сборке под различные платформы и просто попытке писать какой-то код поверх такой структуры. Про проблемы производительности вообще молчу...
Еще одна огромная беда - использована туча кастомных компонент. Шейдеры, декали, модуль анимации одежды... Разумеется это все уже не поддерживается и удивительно, что оно вообще хоть как-то до сих пор работает. Для понимания масштаба проблемы - сегодня я попытался скопировать декали и... я даже не нашел где они настраиваются в Unity. Да, компоненты видны, но у них нет никаких настроек. ChatGPT сказал "не знаю что это за компонент такой" и я полез прямо в код этого компонента, чтобы выяснить что это и кто сделал, а потом потратил еще полчаса, чтобы найти туториал по тому, как все это работает... 12-летней давности. В итоге стало понятно, что настройки должны быть ровно там, где я их искал, но их там просто нет. ChatGPT подсказал лайфхак - переключить редактор Unity в режим отладки и вуаля… я увидел то, что искал. Такое просто нельзя оставлять в проекте на перспективу.
В общем стало очевидно, что даже если оставаться с Unity - сцены надо разбирать по винтикам, заменять всю кастомщину на стандартное и современное, а по факту это все на чем я думал сэкономить время
Абсолютно не виню человека, разработавшего эти сцены. Его работа творческая и ожиданий от него сделать все круто с т.з. инженерных практик никогда не было и быть не может. Кроме того для тех времен он выжал из Unity существенно более крутую картинку чем можно было сделать стандартными средствами, и если бы тогда разработка продолжилась и проект запустился вовремя - все было бы классно.
В итоге получается, что чтобы сделать нормально, нужно переделать все (кроме ассетов понятно, они и сегодня выглядят современно), а если переделывать все - зачем оставаться на существенно менее зрелом движке, в котором завтра может снова чего-то не хватить, это придется обходить с помощью какой-нибудь очередной приблуды, а потом снова выйдет новая версия, в ней что-то стандартное и приблуда перестанет работать. Unreal выглядит так, что даже с его текущей версией можно будет остаться минимум лет на 10 без потери качества и при этом быть впереди Unity по функционалу.
Так что... сгорел сарай - гори и хата.



Укуренный Ёжик
