Страница 1 из 1

Оптимизация real-time освещения огромных мастштабов

СообщениеДобавлено: 13 фев 2017, 17:05
Lakon2
Привет всем. Имеется большая карта города, примерно 2000х2000х300 метров (длина, ширина, высота). Так же имеется цикл дня и ночи. Вопрос такой: как прорисовывать все тени без потери производительности? Фпс падает до ~29.
И еще один вопрос: имеется большое количество материалов на этом городе, насколько я помню, то чем больше материалов, тем хуже производительность, как можно оптимизировать кол-во материалов? Их примерно 2500. Можете пинать, но не очень сильно. С графикой не дружен, с движком разбираюсь пока.

Re: Оптимизация real-time освещения огромных мастштабов

СообщениеДобавлено: 15 фев 2017, 12:23
Cybernoise
2500 материалов это очень плохо, используйте атласы текстур чтоб уменьшить их кол-во. Старайтесь подобрать атласы так чтоб все видимые в определенный момент игры обьекты использовали как можно меньше материалов. Текстуры с альфой можно вынести в отдельный материал. Также правильная подборка шейдеров может повысить фпс, правильные настройки освещения тоже , такие вещи как биас , градиент в глобальном освещении и тд. тоже кушают производительность , если они не используются лучше всего написать шейдер где они не используются, уменьшите кол-во источников света, если их не много используйте forward освещение .

Что касаемо именно теней - уменьшите их разрешение, возможно в сцене есть маленькие обьекты на которых можно выключить прием/каст теней, настроить дистанцию отрисовки теней и каскады

Re: Оптимизация real-time освещения огромных мастштабов

СообщениеДобавлено: 15 фев 2017, 15:08
jetyb
1. Уменьшить ShadowCascades у теней
2. У камеры сменить RenderingPath с Forward на Deferred - уменьшит дроколы.
3. Не всем объектам обязательно отбрасывать тень - настроить CastShadows у каждого MeshRenderer-a.