Вторник, 26 Ноября 2024, 06:58

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как изменить цвет материала объектов не увеличивая drawcalls
pixeyeДата: Воскресенье, 10 Апреля 2011, 11:42 | Сообщение # 1
Red Winter Software
Сейчас нет на сайте
Тема будет в большей степени полезна людям, кто делает 2д игру и кому важно уменьшить draw call'ы в проекте.

Ни для кого не секрет, что изменяя св-ва материалов ( например цвет ) юнити автоматически создает клон этого материала, что добавляет + 1 к draw calls.
Однако изменяя цвет объекта повертексно можно добиться того, что draw call увеличиваться не будут.

Не со всеми шейдерами получится такой трюк, если лень писать свой, то лучше использовать /particles/alpha blended . Либо любой другой шейдер который поддерживает изменение цвета вертексов. ( мы меняем НЕ цвет материала, а напрямую цвета меша ).

Применение способу - масса. Можно например использовать не только для окраски, но и для смещения прозрачности.

Начнем.

сделаем скрипт Core

Теперь сделаем скрипт для объекта. (например ob_scr)


Таким образом можно убить ненужные drawcalls. Однако настоятельно не рекомендуется использовать этот способ повсеместно (дорого). Это больше подходит для учебного примера. Так же настоятельно рекомендую ознакомиться с SpriteManager 1, выложенным с исходниками на форумах юнити.


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю



Сообщение отредактировал pixeye - Воскресенье, 10 Апреля 2011, 11:52
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг