После загрузки бандлов обращаться к скриптам основной сцены?

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

После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 07 янв 2013, 02:32

Меня терзают смутные сомнения. Можно ли после загрузки бандлов обращаться из скриптов бандла к объектам и скриптам основной сцены. Типа получить переменную с них или например получить переменную с другого загруженного бандла.
И еще - если необходимо удалить загруженный бандл обязательно ли делать unload и куда бандл загружается.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 10 янв 2013, 02:39

Пожалуста ответьте. Модераторы должны же знать. На второй вопрос нашел ответ(пардон что не протестировал но у мен я сейчас как раз компьютера нет). Бандлы грузятся сначала в кеш. Поэтому исползуется анлоад бандлов. Кстати надо отметить еще одну возможность бандлов, поскольку они грузятся в кеш - можно загружать на сцену только один объект из бандлов командой load.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение Kayler 10 янв 2013, 02:45

Меня терзают смутные сомнения. Можно ли после загрузки бандлов обращаться из скриптов бандла к объектам и скриптам основной сцены. Типа получить переменную с них или например получить переменную с другого загруженного бандла.


Я не пробовал, но с другой стороны почему нет? можно например командой Find
или можно в менеджере бандлов ГО заносить в массив, и уже общаться между объектами через этот массив
Аватара пользователя
Kayler
Адепт
 
Сообщения: 1038
Зарегистрирован: 25 авг 2010, 23:49
Откуда: Чувашия

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 10 янв 2013, 02:55

Спасибо. Я ж говорю - я тоже думал что можно - но меня терзают сомнения. Именно про команду Find я говорю.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение jetyb 10 янв 2013, 07:18

Можно ли после загрузки бандлов обращаться из скриптов бандла к объектам и скриптам основной сцены

Можно, это полноценные скрипты с сохраненными внутренними данными. В методе Start() скрипта бандла ищем и прописывам все не входящие в бандл объекты.

И еще - если необходимо удалить загруженный бандл обязательно ли делать unload и куда бандл загружается.

Делать необязательно, но если не писать unload или делать unload(false), то память будет захламливаться, даже при выгрузке и загрузке одного бандла. Бандл как я понимаю, хранит только ссылки на ресурсы, т.е. командовать ресурсам выгрузится\загрузиться может, но при уничтожении ресурсы не удаляет.

можно загружать на сцену только один объект из бандлов командой load.

Нет, сколько объектов бандл запаковано, столько и можно загрузить.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 10 янв 2013, 08:10

Спасибо за основной ответ - параноя замучала.
Нет, сколько объектов бандл запаковано, столько и можно загрузить.

я хотел сказать что делаем подобным образом:
Синтаксис:
Используется javascript
var url = "http://test/MyWorld1.unity3d";
var go : GameObject;

function OnMouseDown () {
   
    var www = new WWW (url);
    yield www;
   
// go  = www.assetBundle.Load("Cube");          //тут без коментария просто форум портит код
       
 Instantiate(go, transform.position, transform.rotation);
       
}
 

то есть делаем бандл из целой папки а не из одного префаба. а в папке допустим есть три префаба cube, cube1, cube2 И можно загрузить на сцену из него только один Cube. но там еще может быть одна тонкость при сборке бандла
короче выборочная загрузка гейм объектов из бандла
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение DbIMok 10 янв 2013, 13:10

eligma писал(а):из скриптов бандла

в бандлях не может быть скриптов, насколько я знаю. кроме специальных трюков типа http://docs.unity3d.com/Documentation/M ... ndles.html
eligma писал(а):можно загружать на сцену только один объект из бандлов командой load.

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

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение jetyb 10 янв 2013, 17:04

из скриптов бандла

Как я понял, имелся ввиду префаб ГО с приаттаченным скриптом.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение Woolf 10 янв 2013, 17:51

в бандлях не может быть скриптов, насколько я знаю


ммм.. скриптов - нет. Но название скрипта и все его паблик переменные (текстуры, звуки, значения числовые и строковые) - сохраняются в бандле. Т.е. вы можете экспортировать из одного проекта бандли со скриптами в другой, но в другом проекте должны быть эти же скрипты. Не обязательно такие-же, кстати, только названия должны совпадать и входные значения. Я этим пользуюсь, у меня один проект - является редактором уровней для основного проекта с клиентом игры. Причем, скрипты в редакторе - совсем не такие, как в игре, выдают дополнительно кучу всякой информации.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 11 янв 2013, 03:23

eligma писал(а):
из скриптов бандла

в бандлях не может быть скриптов, насколько я знаю. кроме специальных трюков типа http://docs.unity3d.com/Documentation/M ... ndles.html
eligma писал(а):
можно загружать на сцену только один объект из бандлов командой load.

почему? разве нельзя Load ("Cube"); Load ("Cube1"); Load ("Cube2"); ?

А так я же говорил! Придется самому тестировать - можно ли обратиться к скриптам сцены. Да я может не понятно изъясняюсь. Можно загрузить и Cube и cube1 и cube2. Но моя задача поставить на сцену только cube.
Насчет того что бандл не может содержать скриптов это правда. Но если на го в бандле есть скрипт и он продублирован в проекте, как сказал Wolf, то он действительный. И он работает в проекте. А вот насчет обращения к ГО которые не на банделе со скриптов с бандла я сейчас проверю. Я ж так и думал что не совсем с этим чисто!
То есть стандартная схема которую подразумевали юнити как сказано в справке: Бандл содержит модель персонажа. Там меш, скелет. А юнити проект содержит текстуры, анимационные файлы например и др. И при загрузке бандла эти рессурсы можно интегрировать как угодно
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: После загрузки бандлов обращаться к скриптам основной сцены?

Сообщение eligma 12 янв 2013, 02:42

Как ни жаль, все таки это параноя. Сегодня простетировал. Обращение со скриптов бандла к объектам в главной сцене работает 100 процентов. У меня даже было сомнение - обращение со скриптов бандла к статической переменной главной сцены - тоже работает 100 процентов. Одно условие что этот скрипт должен присутствовать в проекте куда грузиться бандл.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт


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

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

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