AssetBundles в Unity5.

Общие вопросы о Unity3D

AssetBundles в Unity5.

Сообщение Kondrator 05 дек 2016, 22:53

Есть много объектов, добавленных в AssetBundles. Лежат построенные AssetBundles на сервере и качаются при старте приложения.
1) В таком случае нет смысла добавлять объекты AssetBundles в компиляюцию игры?
1.1) То есть, просто закинуть их в папку Editor?
2) Нормальная ли ситуация, что я кидаю почти всю игру в AssetBundles, а потом просто закачиваю при старте приложения?
3) Все AssetBundles, которые я загружаю с сервера, они сохраняются в папке кеша нужного приложения?
4) Возможен ли такой вариант, когда я загружаю AssetBundles тем самым заменяю ими префабы в самом приложении?
5) Все таки адвекатней будет способ 3 нежели 4 ?
P.S. разумеется загружаю либо с сервера либо с кеша.
Спасибо за помощь!
Kondrator
UNец
 
Сообщения: 18
Зарегистрирован: 04 авг 2016, 12:26

Re: AssetBundles в Unity5.

Сообщение DbIMok 06 дек 2016, 13:11

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

Re: AssetBundles в Unity5.

Сообщение Kondrator 07 дек 2016, 23:11

Спасибо за ответ!

Есть еще вопрос...
Есть префаб, добавленный в AssetBundle. На префаб добавлен скрипт. Если я изменю часть скрипта, то:
1) При загрузке этого префаба все будет как нужно, то есть скрипт будет на нем измененный?

Предположим у меня несколько префабов(AssetBundles) с таким скриптом:
2) При использовании загрузки ассета из кеша/интернета (и при изменении такого сприпта) будет загружен ЗАНОГО каждый такой префаб с таким скриптом?
2.1) После первого загруженного префаба с таким скриптом (измененным), другие (с этим же скриптом) не будут загружаться, если они уже находятся в кеше (разумеется в них был изменен только "этот" скрипт)?
Kondrator
UNец
 
Сообщения: 18
Зарегистрирован: 04 авг 2016, 12:26

Re: AssetBundles в Unity5.

Сообщение DbIMok 08 дек 2016, 01:36

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

Re: AssetBundles в Unity5.

Сообщение Woolf 08 дек 2016, 08:44

что будет со значениями полей при их несовпадении с новым скриптом не знаю

А ничего не будет. Те значения, которые старые в бандле - не просериализуются, а те, которые новые в скрипте - назначатся по умолчанию. Те, которые совпадают - прочитаются нормально. Я уже не раз сталкивался с таким поведением, считаю, что оно максимально адекватно ))

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

Re: AssetBundles в Unity5.

Сообщение immeasurability 09 дек 2016, 13:35

мне все как то не доводилось организовать эту систему бандлев, но сколько я сними не сталкивался, всегда был ответ, что нельзя в собранный проект допихнуть скрипты дополнительные
объясните если не затруднит, как так получается что можно бандлами скрипты новые подгружать Оо
это же получается что таким способом моды можно делать или я не прав?
Discord era#6140

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Адепт
 
Сообщения: 1097
Зарегистрирован: 08 авг 2013, 18:09

Re: AssetBundles в Unity5.

Сообщение DbIMok 09 дек 2016, 14:30

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

Re: AssetBundles в Unity5.

Сообщение immeasurability 09 дек 2016, 15:01

DbIMok писал(а):скрипты в dll. в бандлях ассеты и значения полей тех скриптов, что на них висели.


получается что нового функционал добавить нельзя? правильно я понял?
Discord era#6140

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Адепт
 
Сообщения: 1097
Зарегистрирован: 08 авг 2013, 18:09

Re: AssetBundles в Unity5.

Сообщение DbIMok 09 дек 2016, 15:08

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

Re: AssetBundles в Unity5.

Сообщение Kondrator 09 дек 2016, 17:50

Всем спасибо за ответы!

Подскажите еще вопросик c:
Вопрос касательно кеша от AssetBundles.

Есть ассет на сервере, я его качаю через метод LoadCacheOrDownload и соответственно он загружается в кеш. При следующей загрузки он берет его из кеша.
Далее я изменяю ассет бандл. Снова его качаю из приложения (разумеется он проверяет, что объект изменен и произойдет загрука):
1) Старый хеш ассета будет удалён / останется без изменений / заменится?
2) Является ли кеш "ценным", то есть не может ли он быть удален ОС по какой либо его причине надобности / ненадобности? (именно ОС, а не пользователем)
Kondrator
UNец
 
Сообщения: 18
Зарегистрирован: 04 авг 2016, 12:26

Re: AssetBundles в Unity5.

Сообщение DbIMok 09 дек 2016, 18:09

https://docs.unity3d.com/ScriptReference/Caching.html
1) скорее всего будет удален, т.к. зачем он старый?
2) система (какая из овер 20?) ничего про кэш не знает
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: AssetBundles в Unity5.

Сообщение Kondrator 12 дек 2016, 22:54

Еще раз спасибо за ответы!!!

Есть еще вопрос)

Есть сцена, добавленная в AssetBundle. На сцене есть три (например) объекта, тоже добавленных в AssetBundle.
Если я сначала скачаю ассеты объектов на сцене, а после начну скачивать ассет сцены:
Будут ли повторно закачаны ассеты объектов на сцене?
Kondrator
UNец
 
Сообщения: 18
Зарегистрирован: 04 авг 2016, 12:26

Re: AssetBundles в Unity5.

Сообщение DbIMok 13 дек 2016, 08:06

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

Re: AssetBundles в Unity5.

Сообщение Kondrator 08 янв 2017, 22:04

Здравствуйте еще раз!
Если мне необходимо использовать проект для Standalone, Andoid, iPhone, то мне нужно строить бандлы для?:

StandaloneWindows
StandaloneWindows64

StandaloneLinux
StandaloneLinux64
StandaloneLinuxUniversal

StandaloneOSXIntel
StandaloneOSXIntel64
StandaloneOSXUniversal

Android
iOS

Быть может что-то является лишним и его можно исключить?

Здесь платформы построений бандлов: https://docs.unity3d.com/ScriptReferenc ... arget.html (тут есть 64 и универсал)
Здесь #define: https://docs.unity3d.com/Manual/Platfor ... ation.html (нет ни 64, ни универсал)
Здесь RuntimePlatform: https://docs.unity3d.com/ScriptReferenc ... tform.html (нет ни 64, ни универсал)
Kondrator
UNец
 
Сообщения: 18
Зарегистрирован: 04 авг 2016, 12:26

Re: AssetBundles в Unity5.

Сообщение beatlecore 09 янв 2017, 00:21

Kondrator писал(а):StandaloneWindows
StandaloneWindows64

StandaloneLinux
StandaloneLinux64
StandaloneLinuxUniversal

StandaloneOSXIntel
StandaloneOSXIntel64
StandaloneOSXUniversal


можно для всех этих платформ одни и те же бандлы юзать
Аватара пользователя
beatlecore
Старожил
 
Сообщения: 964
Зарегистрирован: 05 фев 2013, 21:26
Откуда: Sun Crimea

След.

Вернуться в Общие вопросы

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

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