Что же все-таки не так с Unity?

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

Выяснилось, что даже в такой простой сцене движок умудряется лагать. Во всех инди-играх, которые сделаны на его основе, наблюдаются какие-то искажения текстур — они то ли плавают, то ли исчезают. С подобным столкнулся и я.

Даже записал видео — обратите внимание на отражения в воде. Они то появляются, то исчезают. После таких странностей становится все более актуальным вопрос о том, какие же игры можно делать на Unity, что наверняка потянет этот движок и почему он сам по себе настолько коряв?

Нет, надо признать, что целый ряд фишек сделан в Unity удачно. Можно быстро набрать сцену, текстурировать ландшафт, закодировать на C# интерфейсные фишки. Встроенный алгоритм pathfinder, собственно, сам подбирает маршрут — достаточно в редакторе указать, какие поверхности являются walkable, а какие нет. Но проблемы (подтормаживания, фризы, лаги) начинаются, когда пытаешься воспроизвести все это.

Да, возможно, после оптимизации (да, поковыряться в исходниках, половину выкинуть, половину переписать) все будет куда лучше. Но… Если даже такую сцену необходимо оптимизировать, то что же будет с более сложными? Да и зачем сцену с полусотней объектов оптимизировать вообще. Ведь в ней, повторюсь, использованы только низкополигональные объекты из стандартной комплектации или бесплатные ассеты из магазина Unity.

В общем, после знакомства с Unity на чисто любительском уровне осталось непонятным, сколько еще месяцев, лет потребуется создателям Unity, чтобы избавить его от подобных «детских болезней»… Ведь по большому счету движок-то не самый плохой. Он очень прост в освоении и развивается в том числе за счет сообщества…