Сохранение параметров обьектов.

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

Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 16:16

Здравствуйте друзья, при разработке проекта, возник такой вопрос. Есть множество объектов расположенных на сцене, у этих объектов есть переменная типа bool. Игрок может взаимодействовать с этими объектами: уничтожая их через функцию Destroy(), или изменять переменную bool. Подскажите, или натолкните в каком направление думать чтобы организовать сохранение статусов bool и уничтожен ли объект. Чтобы при следующем запуске уничтоженных объектов не было а переменная bool была как в предыдущей сессии. Свои мысли опишу ниже.
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 17:29

Каждому объекту присваиваем числовой индекс от 0 и далее. В объекте пустышке создаем одномерный массив индекс которого будет соответствовать индексу объекта, после каждой манипуляции с объектом изменяем соответствующий элемент массива на значение (0 - объект удален; 1 - объект не удален, bool = false; 2 - объект не удален, bool = true) и записываем все значения массива в строку, сохраняем эту строку в файл. Это сохранение. При загрузке считываем строку из файла и вводим эти данные в массив, и следом изменяем объекты исходя из соответсвенного числового кода. Такой алгоритм приемлем или есть менее изощренный вариант?
Последний раз редактировалось Max29 20 ноя 2022, 17:40, всего редактировалось 1 раз.
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение krauser0993 20 ноя 2022, 17:39

вполне норм, сильной нагрузки быть не должно, только объекты удаляй не через Destroy а через SetActive
krauser0993
UNITрон
 
Сообщения: 307
Зарегистрирован: 05 апр 2019, 15:17

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 17:56

krauser0993 писал(а):вполне норм, сильной нагрузки быть не должно, только объекты удаляй не через Destroy а через SetActive

Спасибо за ответ, но возникает вопрос почему через setActive в этом же случае в сцене присутствует уже совсем ненужный объект, а при Destroy он полностью убирается из сцены?
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение 1max1 20 ноя 2022, 18:25

Нет смысла использовать SetActive на:
1. Уникальных объектах, которые нельзя переиспользовать.
2. Объектах, которые не занимают много места в памяти.
3. Если иерархия удаляемого объекта небольшая.
Сам Destroy тяжелый метод, и все удаляшки можно было бы производить где-то в окне загрузки, к примеру, при переходе между сценами. Но я почему-то уверен что твои объекты не вызовут падение фпс при их удалении.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5214
Зарегистрирован: 28 июн 2017, 10:51

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 18:42

Я тоже думаю что в моем случае Destroy не должен вызвать просадки. В сцене присутствует около сотни объектов которые являются туманом войны в небольшой стратегии, переменная bool отвечает за то можно ли разведать эту область, если область можно разведать то при выполнение некоторых условий ее можно удалить. Все это происходит в пошаговом режиме т.е. метод update не используется.
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение krauser0993 20 ноя 2022, 19:55

если на комп то забей, если мобилки то лучше забыть о таких методах.
если единоразово то ок, но если при загрузке 1000 destroy, то у чела просто телефон взорвется и он сразу побежит оставлять негативный отзыв)
krauser0993
UNITрон
 
Сообщения: 307
Зарегистрирован: 05 апр 2019, 15:17

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 20:05

krauser0993 писал(а):если на комп то забей, если мобилки то лучше забыть о таких методах.
если единоразово то ок, но если при загрузке 1000 destroy, то у чела просто телефон взорвется и он сразу побежит оставлять негативный отзыв)

Для мобилы, спасибо за предупреждение тогда буду юзать .SetActive(false);.
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение krauser0993 20 ноя 2022, 20:15

Max29 писал(а): Для мобилы, спасибо за предупреждение тогда буду юзать .SetActive(false);.

там много нюансов, самое главное все материалы ставь Mobile/Diffuse и объединяй все меши в один, я например использую Mesh Combine Studio
Также прочитай про лоды, смотри батчи, желательно не более 100, с опытом разберешься короче)
krauser0993
UNITрон
 
Сообщения: 307
Зарегистрирован: 05 апр 2019, 15:17

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 20:20

krauser0993 писал(а):
Max29 писал(а): Для мобилы, спасибо за предупреждение тогда буду юзать .SetActive(false);.

там много нюансов, самое главное все материалы ставь Mobile/Diffuse и объединяй все меши в один, я например использую Mesh Combine Studio
Также прочитай про лоды, смотри батчи, желательно не более 100, с опытом разберешься короче)

Спасибо большое за ответ! Да буду изучать материал дальше. Прочитал уже тонну литературы, но когда дело дошло до собственного проекта начало возникать много вопросов)) Но процесс решения этих проблем мне интересен)
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17

Re: Сохранение параметров обьектов.

Сообщение 1max1 20 ноя 2022, 20:55

Дестрой не такой уж и страшный метод, а наоборот полезный. И на телефоне его тоже можно использовать, я бы даже сказал нужно, особенно на телефонах, у которых мало оперативной памяти. Само собой не стоит вызывать его на тысячах объектах в одном кадре, но и в крайности ударяться не стоит.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5214
Зарегистрирован: 28 июн 2017, 10:51

Re: Сохранение параметров обьектов.

Сообщение Max29 20 ноя 2022, 22:07

1max1 писал(а):Дестрой не такой уж и страшный метод, а наоборот полезный. И на телефоне его тоже можно использовать, я бы даже сказал нужно, особенно на телефонах, у которых мало оперативной памяти. Само собой не стоит вызывать его на тысячах объектах в одном кадре, но и в крайности ударяться не стоит.

Вам тоже спасибо. Подробней изучу метод Destroy. Множество вызовов этого метода не будет, разовая акция с большими интервалами времени. ну а насчет оперативы в современных телефонах то она сейчас гигобайтами исчесляется.
Max29
UNец
 
Сообщения: 11
Зарегистрирован: 20 ноя 2022, 14:17


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

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

Сейчас этот форум просматривают: GoGo.Ru [Bot], Yandex [Bot] и гости: 23