Кэширование

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

Кэширование

Сообщение Kvant 24 авг 2009, 10:33

Скажите пожалуйста, возможно ли в юнити как-то закэшировать инстансы, которые появляются в процессе игры?

Вот у меня идет самая первая катсцена: летит самолет, и в него попадает ракета, от чего он меняет курс.
Так вот, при попадании ракеты вставляется инстанс эффекта взрыва. В этот момент происходит задержка на долю секунды, пока грузится инстанс в память, но эта задержка заметна.
Как можно перед началом уровня закэшировать инстанс? где-то заранее его вызвать за пределами экрана? Как это обычно делается?
Kvant
UNец
 
Сообщения: 14
Зарегистрирован: 30 июн 2009, 14:52

Re: Кэширование

Сообщение Const_47 24 авг 2009, 13:38

Привет )))

У меня есть сцена, где динамично создаются кучи инстансов, комп у меня не самый топовой, но тем не менее, тормозов от инстансирования, не ощущаю.

Да, я могу припустить, что у вас там инстансится жутко сложный, и мега-навороченный инстанс.

Тогда делаем так. Инстансируем ваш обжект, в момент инициализации сцены(например). Но не рисуем его.
В момент попадания ракеты в самолет, ставим такой инстанс в нужную позицию, и рисуем нужный эффект(например), или делаем с ним то, что считаем нужным.

Это далеко не идеально, так как в каждом конкретном случае, варианты могут отличатся.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: Кэширование

Сообщение Kvant 24 авг 2009, 13:49

Спасибо за совет. попробую так.
:)

А не подскажешь, как это можно инстансировать , но не рисовать?
После инстанса отключать у него параметры emit, enable и т.д.? или есть какая-то суперкоманда?
Kvant
UNец
 
Сообщения: 14
Зарегистрирован: 30 июн 2009, 14:52

Re: Кэширование

Сообщение gnoblin 24 авг 2009, 13:56

Можно инстанцировать взрыв где-нибудь вне уровня заранее и потом просто переносить в нужное место и запускать эффект.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Кэширование

Сообщение Const_47 24 авг 2009, 14:05

А не подскажешь, как это можно инстансировать , но не рисовать?



Например создаем отдельный скрипт, который вешаем на префаб.
В нем юзаем единственный метод

void Awake()
{
и тут мы вырубаем все не нужные нам компоненты, или чилды.
}

В момент инстансирования, в первую очередь сработает метод Awake, и сделает свою "грязную" :D работу.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: Кэширование

Сообщение Kvant 24 авг 2009, 14:07

Спасибо, теперь все ок :)
Kvant
UNец
 
Сообщения: 14
Зарегистрирован: 30 июн 2009, 14:52


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

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

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