DEV DIARY №9 - ОПТИМИЗАЦИЯ И ПРОЦЕДУРНАЯ ГЕНЕРАЦИЯ

19 Ноя 2020
Автор: Oleg Simukov


Привет! 

С вами лунопроходцы из Veom Studio. Спешим поделиться свежими новостями с полей разработки. Несмотря на подступающие зимние холода, в нашем офисе, как всегда, жара и пылает огонь неутомимого творчества, в котором выковывается и закаляется The Crust. Сегодня мы поговорим об оптимизации и процедурной генерации.

К наступлению middle-game’а, первый игровой уровень скорее всего будет достаточно сильно застроен. А при большом количестве объектов на карте крайне необходима оптимизация графики игры, но с сохранением красоты и качества анимации. Мы нашли два способа решения этой задачи.



Первый — это использование инструмента Skeletal Mesh с запеченной анимацией. Но здесь есть свои сложности, связанные с сильной загруженностью самого скелета, даже без учета анимации и моделей объектов, что вы сейчас и наблюдаете в видео.

Второй способ — создания анимаций через VertexColor. Модель на этапе разработки подготавливается таким образом, чтобы технический артист используя специально созданный шейдер, мог двигать нужные элементы объекта. Это значительно уменьшает нагрузку на видеокарту и процессор.

Следующая задача, которая встала перед нами — выбор нужного типа геометрии. Здесь мы можем использовать Instance Mesh, либо стандартный Static Mesh. Instance Mesh просто создает множество копий одной сущности. Мы предполагаем, что это позволит хорошо оптимизировать модели с анимацией, но на данный момент использование стандартного Static Mesh уже показало неплохие результаты, а потому мы пока остановились именно на нем.

В итоге анимация через VertexColor позволила добиться наличия большого количества анимированных объектов на карте без особых потерь в оптимзации. При этом анимация не запечена, а регулируема множеством гибких настроек, как игровых, которые отражают состояние объектов, так и редактируемых артистом.

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

На этом все. Но, как и всегда — мы не прощаемся надолго. Следите за новостями проекта на нашем сайте и в социальных сетях. 

Счастливо!

Комментарии

Сообщения не найдены

Написать комментарий

Recent posts