TerraPath #18
Кратко о содержании сегодняшнего поста:
Батчинг.
Отсечение по области видимости.
Улучшения с прошлого поста.
Текстура разрушения растягивается на весь объект.
Ошибка расчёта матрицы при инстасинге стала давать вот такой результат.
Кто сказал что кодить под видеокарту это скучно? x)
Добавил батчинг в игру.
Батчинг это такой способ оптимизации. Смысл его заключается в том что мы рисуем однотипные объекты(шейдер + модель) за один вызов отрисовки (DrawCall).
То есть не важно будут это 100 объектов или десять, все они отрисуются за один DrawCall.
Тем самым я скинул кол-во дравколлов с 6183 до 73.
В некоторых частях сцены он даже доходил и до 10.000, так как я рисовал все объекты отдельными дравколлами.
Следующим шагом стало добавление Отсечение по области видимости:
Принцип его работы следующей: Каждрый раз когда мы добавляем объект на отрисовку, мы сперва проверяем, а видно ли его в камере. Тем самым мы не рисуем объекты которые не видно и экономим ресурсы видеокарты.
После всех оптимизации фпс на моей машине в собранном билде вырос с 152 до 528.
Улучшения с прошлого поста:
Товарищь @Distinguishable, и @Ashvar, предложили немного улучшить двери:
Ashvar:
Я бы ещё посоветовал сделать немного другую границу у стен для ситуаций, когда стена переходит в другой вид стен или переходит в дверь.
Distinguishable:вот что из этого получилось:
Боковые двери выглядят отвратительно, надо их повернуть на 90
было:
стало:
Мелочь конечно, но уже выглядит намного лучше.
Текстура разрушения растягивается на весь объект.
Было:
стало:
А на этом всё, спасибо, что дочитали.
Также не пропустите прошлые посты:
https://pikabu.ru/profile/GooDCrafter
Ссылка на группу в вк(есть играбельная демка):




переходы бы сгладить между типами земли