Удаление объектов вне зоны видимости.

Программирование на Юнити.

Re: Удаление объектов вне зоны видимости.

Сообщение Neodrop 21 сен 2011, 18:33

Вы скопировали код, в котором проверяется флаг, говорящий о том, стоит ли проверять видимость чилдов данного объекта. И только их, а не всю вашу кучу объектов. Тем более, если подумать, то флаг то можно отключить. На то он и создан.
Это первое, что вы не поняли.
Второе - вы уже померяли память и высчитали затраты?
За три года я не видел более быстрого и дешёвого варианта.

Но, не любо - не слушай.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Удаление объектов вне зоны видимости.

Сообщение Neodrop 21 сен 2011, 18:38

Если уж на то пошло, убивать объекты и инстансить их заново безумно расточительно. Гораздо экономичнее их скрывать.
Если ваши объекты созданы из префабов, памяти на каждый тратиться с гулькин нос (считанные биты), зато Garbage Collector спит спокойно. А его спокойствие куда важнее объёма занимаемой памяти.
Но это так, к слову.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Удаление объектов вне зоны видимости.

Сообщение DbIMok 21 сен 2011, 19:09

+ заприметил я холмик камушек, вернулся, а его там нет, зато в другом месте новый. если так не задумано сюжетом, будет выглядеть странно.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Удаление объектов вне зоны видимости.

Сообщение a3dline 22 сен 2011, 04:53

Спасибо большое всем за комментарии.
Пробовал я прикрутить скрипт - работать все работает. Но етсь небольшое НО. Решить, как его прминить на создание обьектов, если например сектор оказался в зоне видимости уже куда сложнее оказалось.

Я сделал так, создаю пустые объекты вокруг видимой территории - если объект попадает в видимость камеры на нем генерируется мешь окружения по формулам. Далее объект рекрутирует в списке, пока не попадет за радиус удаление с помощью предоставленного мне скрипта, тогда объект помещается в список делегатов на удаление.
Дистанция удаления проверяется в списке рекурсивно. На данном этапе дистанцию я делаю в 2 раза большей зоны видимости.

Вроде все работает. И координато независимым я стал тоже )))

Объекты мне необходимо удалять, так как моя цель - 100% процедурный мир по сути с бесконечным перемещением. очень интересно формулами описывать скалы, деревья, камни, дороги, водоемы. если я не буду удалять объекты то через 1000-2000 пройденных координат память уже за 2гига переваливает.

Правда вот высокой работоспособности я не достиг. фпс где-то 30-50 при дальности видимости в 200 по радиусу. на область 10*10 примерно 2000-5000 вершин.
Больше всего времени пока отнимает у процессора генерация. По этому моей следующей затеей, так сказать, будет разделение генерации на потоки, если это конечно позволительно в Юнити, так как с ним лично я столкнулся в первые.
Аватара пользователя
a3dline
UNец
 
Сообщения: 31
Зарегистрирован: 29 авг 2011, 00:52

Re: Удаление объектов вне зоны видимости.

Сообщение Neodrop 22 сен 2011, 17:48

Из потоков нельзя создавать-изменять-удалять объекты Unity
Математику посчитать - сколько угодно, работать с Объектами движка - нет.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Удаление объектов вне зоны видимости.

Сообщение a3dline 22 сен 2011, 23:38

О, спасибо! тогда буду считать на потоках формулы и отдавать массивы вершин, грани и тангенсы, а на основном уже всю работу непосредственно с юнити.
Аватара пользователя
a3dline
UNец
 
Сообщения: 31
Зарегистрирован: 29 авг 2011, 00:52

Пред.

Вернуться в Скрипты

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

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