Как правильно выключать ненужные объекты в префабе?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как правильно выключать ненужные объекты в префабе?

Сообщение Zimaell 04 мар 2023, 16:24

Недавно стала для меня задача перемещать много объектов (больше 1к) за пределами экрана, так как их невидно то я и выключал все объекты кроме самой трансформы, как-то вот так это выглядело
Prefab
-- PrefLOD1
---- Animator + Mesh + Renderer ....
-- PrefLOD2
---- Mesh + Renderer ....
....

то есть я перемещал Prefab а PrefLOD1, PrefLOD2... выключал когда он находился за пределами экрана, ну а как появлялся то включал нужный лод, каждый лод включал в себя набор нужных объектов для нужно визуализации на экране (это не тот стандартный LOD который меши меняет).

В общем, я замел что если даже двигать всегда все выключенные объекты то это тоже даёт определённую нагрузку, а если удалить лоды (для теста) то производительность подымается на 30-40%.
Я вычитал что и выключенные объекты тоже кушают что-то но меньше, но всё же...
Я пробовал делать отдельный объект для движения, а выключенные держать в другом, в том на который движение не действует
Prefab
-- TransformForMove
---- PlaceForActivePref <-- сюда перемещать когда нужно и включать
-- DisabledPref
---- PrefLOD1
------ Animator + Mesh + Renderer ....
---- PrefLOD2
------ Mesh + Renderer ....
....

но это тоже не дало результата...

Посоветуйте, что можно сделать в данном случае? По какой схеме правильнее делать?
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Как правильно выключать ненужные объекты в префабе?

Сообщение Alkos26Rus 04 мар 2023, 19:04

Вопрос еще не жрет лит там твой самописный аля LOD, вобще жрет - не жрет смотри в профайлере
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как правильно выключать ненужные объекты в префабе?

Сообщение Zimaell 04 мар 2023, 19:12

Alkos26Rus писал(а):Вопрос еще не жрет лит там твой самописный аля LOD, вобще жрет - не жрет смотри в профайлере

для теста я специально создал тестовый файл по примеру отсюда
https://docs.unity3d.com/2022.2/Documen ... sform.html
суть - одновременно двигать к примеру 1000 объектов.
на простых одиночных объектах это работало отлично, далее я к ним (этим одиночным префабам) просто присоединил префабы персонажей (аниматор, скинмеш, арматура..) но их выключил, то есть они там просто выключенным баластом были, никаких скриптов на префабе, просто GameObject в котором отключенные префабы (без скриптов), но уже эти отключенные объекты понижали производительность...
вот сижу и думаю чтобы его придумать в данной ситуации...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Как правильно выключать ненужные объекты в префабе?

Сообщение Alkos26Rus 04 мар 2023, 19:14

Zimaell писал(а):
Alkos26Rus писал(а):Вопрос еще не жрет лит там твой самописный аля LOD, вобще жрет - не жрет смотри в профайлере

для теста я специально создал тестовый файл по примеру отсюда
https://docs.unity3d.com/2022.2/Documen ... sform.html
суть - одновременно двигать к примеру 1000 объектов.
на простых одиночных объектах это работало отлично, далее я к ним (этим одиночным префабам) просто присоединил префабы персонажей (аниматор, скинмеш, арматура..) но их выключил, то есть они там просто выключенным баластом были, никаких скриптов на префабе, просто GameObject в котором отключенные префабы (без скриптов), но уже эти отключенные объекты понижали производительность...
вот сижу и думаю чтобы его придумать в данной ситуации...

Двигать иерархию конечно затратнее чем пустой объект
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как правильно выключать ненужные объекты в префабе?

Сообщение Zimaell 04 мар 2023, 19:26

Alkos26Rus писал(а):
Zimaell писал(а):
Alkos26Rus писал(а):Вопрос еще не жрет лит там твой самописный аля LOD, вобще жрет - не жрет смотри в профайлере

для теста я специально создал тестовый файл по примеру отсюда
https://docs.unity3d.com/2022.2/Documen ... sform.html
суть - одновременно двигать к примеру 1000 объектов.
на простых одиночных объектах это работало отлично, далее я к ним (этим одиночным префабам) просто присоединил префабы персонажей (аниматор, скинмеш, арматура..) но их выключил, то есть они там просто выключенным баластом были, никаких скриптов на префабе, просто GameObject в котором отключенные префабы (без скриптов), но уже эти отключенные объекты понижали производительность...
вот сижу и думаю чтобы его придумать в данной ситуации...

Двигать иерархию конечно затратнее чем пустой объект

ну это я уже понял, а что бы его придумать в данной ситуации....
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20