Вопрос по оптимизации
|
|
Jlexa123 | Дата: Четверг, 31 Марта 2022, 12:19 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Допустим есть модель дерева и два материала для него зеленый и желтый (для изменения цвета дерева). Что лучше для оптимизации (особенно под мобилки):
1. 1 модель - 2 материала или 2 модели - 1 материал 2. 2 модели или 1 модель, содержащая 2 такие же модели 3. 1 модель, содержащая 2 такие же модели - 1 материал или пункт 1,2.
Сообщение отредактировал Jlexa123 - Четверг, 31 Марта 2022, 12:25 |
|
| |
TLT | Дата: Четверг, 31 Марта 2022, 13:41 | Сообщение # 2 |
Сейчас нет на сайте
| Цитата Jlexa123 ( ) Что лучше для оптимизации Что подразумевается под "оптимизацией", нагрузка на CPU, GPU или сокращение размера дистрибутива, времени загрузки?
Также "оптимизация" зависит от того с чем работаешь - одно дело если изначально под мобилы затачиваешь проект, другое - портировать с ПК и более мощных платформ.
Всегда лучше запекать всё в текстуру, если есть возможность. Т.к. нагрузка на производительность, как правило, из-за обработки эффектов освещения, теней и пр. в реальном времени.
Общие советы даны тут (на английском)
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Laush | Дата: Четверг, 31 Марта 2022, 16:48 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Лучше использовать одну модель, и один материал с шейдером, позволяющий изменять цвет материала. Или же если собираешься чередовать в реальном времени эти два материала для деревьев, то лучше использовать просто два разных материала. Но опять же, старайся продумывать всё так, чтобы как можно меньше использовать материалов в проекте. Если их много, то я бы вообще пересмотрел подход, и использовал для моделей такую развертку текстуры, которая позволит использовать универсальный материал (атлас, то-есть текстура, с цветовой палитрой), чтобы этот материал использовался на множестве моделей.
[PC/Android/iOS/WEB] 30 Days to survive [PC] Dead Defense [PC] Саламандра - история пирата
|
|
| |
drcrack | Дата: Четверг, 31 Марта 2022, 18:48 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата Лучше использовать одну модель, и один материал с шейдером, позволяющий изменять цвет материала. самый универсальный способ который даже в худшем случае будет как минимум на уровне других вариантов, а в отдельных ситуациях на порядок-два быстрее
|
|
| |
Jlexa123 | Дата: Четверг, 31 Марта 2022, 22:05 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| скрин 1 скрин 2
Судя по профайлеру у меня одно из самых слабых мест это рендеринг, на втором скриншоте видно какие у меня дикие параметры рендеринга. Я посмотрел некоторые видео про оптимизацию графики и там было сказано, что нужно объединять материалы, меши, однако при объединении материалов нельзя менять цвет у одного и того же материала, чтобы одна и та же модель имела разные цвета. Например на скриншоте скала снаружи светлая, а внутри - подземелье и она темная. Но можно сделать 2 одинаковые модели, с разной разверткой, чтобы раскрасить одним материалом, отсюда и такие вопросы. Свет в приемлемом качестве у меня запекается за 7 а то и более часов, так что я это держу в качестве самого крайнего варианта, да и вес приложения тогда ощутимо увеличивается.
Цитата самый универсальный способ который даже в худшем случае будет как минимум на уровне других вариантов, а в отдельных ситуациях на порядок-два быстрее Стандартный URP Lit shader позволяет менять цвет материала, но он тогда все модели с этим материалом перекрашивает.
Сообщение отредактировал Jlexa123 - Четверг, 31 Марта 2022, 22:13 |
|
| |
drcrack | Дата: Пятница, 01 Апреля 2022, 06:58 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Цитата Стандартный URP Lit shader позволяет менять цвет материала, но он тогда все модели с этим материалом перекрашивает. https://docs.unity3d.com/ScriptReference/MaterialPropertyBlock.html https://docs.unity3d.com/Manual/GPUInstancing.html https://docs.unity3d.com/Manual/SRPBatcher.html
Сообщение отредактировал drcrack - Пятница, 01 Апреля 2022, 06:59 |
|
| |
Jlexa123 | Дата: Пятница, 01 Апреля 2022, 08:43 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| TLT, Laush, drcrack спасибо большое за помощь. Теперь я смогу еще от трети материалов избавиться )
Сообщение отредактировал Jlexa123 - Пятница, 01 Апреля 2022, 08:56 |
|
| |