| Вопрос по оптимизации | 
|  | 
| 
| 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 |  |  |  |  |