Отключать модель если игрок далеко, LOD?

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

Отключать модель если игрок далеко, LOD?

Сообщение DarkDeivel 19 сен 2017, 19:21

Всем привет! У меня игра с видом сверху и довольно таки не маленькая сцена... есть много игровых объектов и тут я начал переживать за нагрузку. Мне требуется что бы эти объекты продолжали жить своей жизнью даже если игрок не близко, но т.к. таких объектов много и они все работают то нагрузка получается не малая. Что мне можно в таком случае сделать? Я думал хотя бы отключать сами модельки этих объектов если игрок далеко что бы не воспроизводились анимации к примеру(можно ли для этого использовать LOD систему? или как мне в такой сиутации быть?
DarkDeivel
UNITрон
 
Сообщения: 251
Зарегистрирован: 03 окт 2011, 14:02

Re: Отключать модель если игрок далеко, LOD?

Сообщение NOVA 19 сен 2017, 21:24

DarkDeivel писал(а):Всем привет! У меня игра с видом сверху и довольно таки не маленькая сцена... есть много игровых объектов и тут я начал переживать за нагрузку. Мне требуется что бы эти объекты продолжали жить своей жизнью даже если игрок не близко, но т.к. таких объектов много и они все работают то нагрузка получается не малая. Что мне можно в таком случае сделать? Я думал хотя бы отключать сами модельки этих объектов если игрок далеко что бы не воспроизводились анимации к примеру(можно ли для этого использовать LOD систему? или как мне в такой сиутации быть?

Ну Вы же сами ответили на свой вопрос. Вид сверху и спереди сверху всегда самый проблематичный. Надо как-то решать проблему.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Отключать модель если игрок далеко, LOD?

Сообщение seaman 19 сен 2017, 22:13

Ну выключить анимацию элементарно, установив "Cull Completely" в аниматоре.
Далее обязательно выключить ригидбоди в OnBecameInvisible
Если висят большие скрипты - тоже выключать.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Отключать модель если игрок далеко, LOD?

Сообщение DarkDeivel 20 сен 2017, 04:50

NOVA писал(а):
DarkDeivel писал(а):Всем привет! У меня игра с видом сверху и довольно таки не маленькая сцена... есть много игровых объектов и тут я начал переживать за нагрузку. Мне требуется что бы эти объекты продолжали жить своей жизнью даже если игрок не близко, но т.к. таких объектов много и они все работают то нагрузка получается не малая. Что мне можно в таком случае сделать? Я думал хотя бы отключать сами модельки этих объектов если игрок далеко что бы не воспроизводились анимации к примеру(можно ли для этого использовать LOD систему? или как мне в такой сиутации быть?

Ну Вы же сами ответили на свой вопрос. Вид сверху и спереди сверху всегда самый проблематичный. Надо как-то решать проблему.


Не понял ничего...

seaman писал(а):Ну выключить анимацию элементарно, установив "Cull Completely" в аниматоре.
Далее обязательно выключить ригидбоди в OnBecameInvisible
Если висят большие скрипты - тоже выключать.


Как мне сделать правильную проверку на расстояние от объекта до игрока? Через Vector3.Distance? А если оно висит в апдейте постоянно и проверяет расстояние мне кажется это не хорошо, а по другому я не знаю как.
DarkDeivel
UNITрон
 
Сообщения: 251
Зарегистрирован: 03 окт 2011, 14:02

Re: Отключать модель если игрок далеко, LOD?

Сообщение Alex_Hell 27 сен 2017, 00:50

посмотри ассеты по LOD или конверсии в billboard (я не пользовался)
https://www.assetstore.unity3d.com/en/#!/content/69651
https://www.assetstore.unity3d.com/en/#!/content/37687
https://www.assetstore.unity3d.com/en/#!/content/27178

если есть много Update на объектах, которые что-то вычисляют (двигаются, AI) либо физика - отключай по расстоянию или уменьшай число Update/sec (можно просчитать ту же логику не 30 раз в сек, а 1 раз в сек за всю прошедшую секунду) - т.е. переход в режим энергосбережения для дальних объектов, сама проверка на режим - возможно достаточно не каждый Update до каждого объекта, а реже например раз в секунду и только если двигалась камера, и с возможным доп spatial tree - это все универсально хоть для логики/скриптов, хоть для LOD.
Alex_Hell
UNец
 
Сообщения: 11
Зарегистрирован: 15 окт 2014, 14:24


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

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

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