Unity vs Vector. Как и почему стоит использовать вектор в мобайле?
Ожидает приглашения
Отличная новость — Unity теперь поддерживает SVG
Добавить и ознакомится с ним можно запустив Unity, а далее:
Window — Package Manager — All Packages — Vector Graphics
Какие есть плюсы и минусы
Плюсы:
- Маленький размер
- Нету “размытия” арта
- Настройка качества импорта вектора
Минусы:
- Переводит вектор в Mesh
- Не поддерживает меши более 65 тыс вершин
- Ограниченная функциональность
- Нету прозрачности
- Не можно красить средствами Unity.
В общем
Работает “вектор” через Sprite Renderer, но он не идентичен стандартному Sprite Renderer. В нём нету возможности ни окраски, ни прозрачности(не можно изменять прозрачность).
Как вы понимаете, раз он является плодом MeshRenderer, то соответственно нету еще двух ключевых особенностей: Tiling и Slicing. Кроме этого, как Image его тоже не можно использовать.
Для иконок подойдет
Это идеальное решение для всяческих иконок.
Естественно для одноцветных и более-менее простых (какими и должны они быть).
Производительность
При 2160 * 1080 и “625 снепе” 200 тысяч вершин: 53 — 55 фпс
При 2560 * 1440 и “820 снепе” 200 тысяч вершин: 58 — 60 фпс
При таком количестве вершин — отличный результат, наверное остается вопрос сколько drawcalls было? — Ровно 37.
Как обстоят дела с отрисовкой
Как известно меши до 900 вершин объединяются by batching в один drawcall, при условии что материал одинаковый. Именно так и происходит с SVG файлами, они тоже имеют данное свойство, обратная сторона медали — отсутствие добавления “спрайтов” в атлас, хоть это и абсурдно.
Что даст замена растра на вектор
- Меньший размер загрузочного файла (а это влияет на % конверсий в загрузку, меньший шанс удаления вашего приложения, что влияет на ранжирование в выдаче),
- Освобождение оперативной памяти(для слабых устройств является критичным, ведь на устройствах с 1гб нам доступно менее половины, так же при заполнении памяти на 100% приложение выдает критическую ошибку, а когда игра часто крашится это опять таки снижает ваше приложение в списке выдачи),
- Увеличение фпс (меньше альфы — больше фпс)
- Конечно красота(при правильном подходе)
Выводы
Можно ли заменить UI — нет.
Можно ли заменить игровых персонажей, локации … — неоднозначное да.
Спасибо за внимание!