6. Графические технологии. Часть 1.
Occlusion culling vs Mesh Combiner
oc - технология которая позволяет
сэкономить время обработки графики,
за счет отключения объектов на сцене,
которые не попадают в камеру.
7. Графические технологии. Часть 1.
Occlusion culling vs Mesh Combiner
- нам было необходимо
найти баланс
со второй технологией
Mesh Combiner
8. Графические технологии. Часть 1.
Occlusion culling vs Mesh Combiner
Mesh Combiner позволяет объединять группу моделей в один меш:
- Один меш
- Одна текстура
- Один материал
9. Графические технологии. Часть 2.
Mesh animator vs Skinned mesh renderer
Мы заменили Skinned mesh renderer для клонов
на кэшированный Mesh animator
- это улучшило производительность.
10. Графические технологии. Часть 2.
Mesh animator vs Skinned mesh renderer
Mesh animator поддерживает:
- animator controller
- чистые анимации
- имеет api к созданию своего animator controller на логике c#
12. Графические технологии. Советы и факты
Откажитесь от:
- больших скайбоксов,
- дорогих / сложных спецэффектов,
- динамического освещения
и реалтайм теней
13. Графические технологии. Советы и факты
Сделайте ретопологию для моделей
чтобы они весили мало
и быстро грузились ( для клонов )
14. Как заставить код летать ? Программирование и физика
Откажитесь от стандартной физики, считайте все через математику
15. Как заставить код летать ? Программирование и физика
Кэшируйте все ссылки и данные
16. Как заставить код летать ? Программирование и физика
Избегайте макаронного кода - практикуйте грамотное ООП.
17. Как заставить код летать ? Программирование и физика
Используйте магию:
- entity component system
- jobs system
- burst compiler
18. Как заставить код летать ? Новые технологии ECS
Магия ecs + jobs + burst compiler
Entity component system - это плагин который позволяет разделять код
на сущности и компоненты, где код компонента
для всех одинаковых объектов и выполняться
один раз за update. ( pure / hybrid )
19. Как заставить код летать ? Новые технологии ECS
Магия ecs + jobs + burst compiler
Jobs system - это плагин который позволяет выполнять параллельно
простые задачи для группы объектов связанных с:
- позиционированием
- математикой
- логикой
20. Как заставить код летать ? Новые технологии ECS
Магия ecs + jobs + burst compiler
Burst compiler - ускоритель обработки кода
21. Публикация и релиз. Вес приложения
Оптимизируйте текстуры и музыку,
переведите в статус моно
и сделайте компрессию,
при необходимости.
22. Публикация и релиз. Вес приложения
Выкиньте весь хлам из проекта,
грамотно пользуйтесь папками
resources и plugins
23. Публикация и релиз. Вес приложения
Используйте ассет бандлы:
- игровой контент грузите
по мере необходимости
по игровому прогрессу
( развитию сюжета )
24. Какой мы получили результат? Rise and Craft
60 юнитов на боевую систему.
при том что 59 - это боты.
60 -80 fps на компе
30 fps на среднем android
25. Что мы используем в разработке Rise and Craft ?
Ассеты:
1. Mesh Animator
2. Eliot Ai Framework
3. Easy Decal
4. Mobile Color Grading
Технологии:
1. Mesh Combiner
2. Occlusion Culling
3. NavMeshAgent
4. ECS / Jobs / Burst compiler
26. Заключение №1
Оптимизацию важно проводить на этапе краш тестов,
а потом наполнить продукт контентом.
И опять проверить производительность.
27. Заключение №2
Купленные ассеты - часто нужно исправить и заточить под ваш продукт.
Перед покупкой обязательно свяжитесь с автором,
попросите демо исходники и проведите краш тест на совместимость.
28. Заключение №3
Нужна команда и нужны менторы как тренеры в спортзале.
Попробуйте сначала поработать в офисе - потом уйдите в инди =).
Желаю успехов!