Как вы делаете разные карты?

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

Как вы делаете разные карты?

Сообщение Niker 16 окт 2019, 19:03

Назрел вопрос, есть карта и на ней объекты, главные объекты, которые требуются для движения по карте, с объектами все понятно сделал префабы и можно грузить на разные сцены, карты и т.д.
А как быть с канвасом? И всеми другими объектами на нем, также можно сделать префаб и т.д.?
Никак не могу догнать, что нужно, чтобы у меня к примеру на разных картах было тоже самое меню сбоку, которое открывается когда захочу прям в игре, без перехода в главное меню.

Поделитесь опытом, как делаете переходы между картами и сценами с сохранением объектов для нужд и окошек всяческих?
Niker
UNIт
 
Сообщения: 58
Зарегистрирован: 27 сен 2019, 12:03

Re: Как вы делаете разные карты?

Сообщение 1max1 16 окт 2019, 20:36

А как быть с канвасом? И всеми другими объектами на нем, также можно сделать префаб и т.д.?

Естественное. Еще есть такое https://docs.unity3d.com/ScriptReferenc ... nLoad.html
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как вы делаете разные карты?

Сообщение Xtir 16 окт 2019, 21:12

Мне кажется не обязательно для каждой карты делать отдельную сцену, можно ведь просто загружать разные карты на одну сцену.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Как вы делаете разные карты?

Сообщение Niker 17 окт 2019, 06:17

1max1 писал(а):
А как быть с канвасом? И всеми другими объектами на нем, также можно сделать префаб и т.д.?

Естественное. Еще есть такое https://docs.unity3d.com/ScriptReferenc ... nLoad.html

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

Xtir писал(а):Мне кажется не обязательно для каждой карты делать отдельную сцену, можно ведь просто загружать разные карты на одну сцену.

А как это сделать?
То-есть, новый террейн грузить?
Как вы себе это представляете?
Я вот пока, не могу вообще понять, как и что.
Если сможете объяснить и показать кодом, без проблем, а так - это пока пустой диалог.
Niker
UNIт
 
Сообщения: 58
Зарегистрирован: 27 сен 2019, 12:03

Re: Как вы делаете разные карты?

Сообщение Jarico 17 окт 2019, 13:01

Xtir писал(а):Мне кажется не обязательно для каждой карты делать отдельную сцену, можно ведь просто загружать разные карты на одну сцену.


А как же лайтмапы и освещение? Скриптом применять лайтмапы на текущую сцену и метаться с лайтмапами из сцены в сцену?
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Как вы делаете разные карты?

Сообщение Xtir 17 окт 2019, 15:38

Jarico писал(а):А как же лайтмапы и освещение? Скриптом применять лайтмапы на текущую сцену и метаться с лайтмапами из сцены в сцену?

А разве лайтмапы привязываются к сцене? Или на одной сцене может быть только один лайтмап?
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Как вы делаете разные карты?

Сообщение Niker 17 окт 2019, 16:20

Xtir писал(а):А разве лайтмапы привязываются к сцене? Или на одной сцене может быть только один лайтмап?

А может быть. а разве, а как же.
Вы если не врубаетесь, зачем даете советы, которые сами не пробовали, зачем весь этот пустой диалог?
Где пруффы билли? Мне нужны пруффы.
Мне флуд детский не нужен. я задал конкретные вопросы, если вы не разбираетесь и еще даже больше, не пробовали этого, то не надо писать и давать советы.
Niker
UNIт
 
Сообщения: 58
Зарегистрирован: 27 сен 2019, 12:03

Re: Как вы делаете разные карты?

Сообщение Xtir 17 окт 2019, 21:30

Niker писал(а):А может быть. а разве, а как же.
Вопрос про лайтмапы, к Вашей теме не имеет отношения, я не знаю к чему он тут.
Я уже ответил, карту можно загрузить на сцену как и любой другой префаб, что в этом сложного? Зачем какие-то заморочки с DontDestroyOnLoad, когда можно этот UI просто оставить на сцене, выгрузить карту или что Вам там надо и просто загрузить другую.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: Как вы делаете разные карты?

Сообщение waruiyume 17 окт 2019, 22:37

А никого в не смущает то, как Юнити менеджерит память? Если вы запихнёте все всои объекты как ссылки в монобехе на сцене, то всё эти объекты загрузятся вместе со сценой(может не полностью, но по большей части), что может вызвать кирдык на телефонах, а если постараться то и на пекарне. А если будете использовать Resource.Load или бандали, то получите головняк c тем, что ресурсы нужно загружать/выгружать руками.
Что пишут сами юнитеки про папку resources.
2.1. Best Practices for the Resources System
Don't use it.

https://learn.unity.com/tutorial/assets ... 002053b5a6

Niker, создайте пустой объект, повесьте на него DontDestroyOnLoad, как уже предложили, и засуньте в его детей всё, что не должно меняться. А для взаимодействия с ним используйте события или синглтон.

Ещё сцены можно грузить аддитивно, можно например сделать стартовую сцену только с меню и подгружать нужные сцены, а потом выгружать ненужные
https://docs.unity3d.com/ScriptReferenc ... nager.html
https://docs.unity3d.com/ScriptReferenc ... itive.html
https://docs.unity3d.com/ScriptReferenc ... Async.html
Никогда так не делал, тч хз, что может вылезти.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как вы делаете разные карты?

Сообщение Niker 18 окт 2019, 08:13

waruiyume писал(а):А никого в не смущает то, как Юнити менеджерит память? Если вы запихнёте все всои объекты как ссылки в монобехе на сцене, то всё эти объекты загрузятся вместе со сценой(может не полностью, но по большей части), что может вызвать кирдык на телефонах, а если постараться то и на пекарне. А если будете использовать Resource.Load или бандали, то получите головняк c тем, что ресурсы нужно загружать/выгружать руками.
Что пишут сами юнитеки про папку resources.
2.1. Best Practices for the Resources System
Don't use it.

https://learn.unity.com/tutorial/assets ... 002053b5a6


Этого я и боялся, спасибо за пруфф =)

waruiyume писал(а):Niker, создайте пустой объект, повесьте на него DontDestroyOnLoad, как уже предложили, и засуньте в его детей всё, что не должно меняться. А для взаимодействия с ним используйте события или синглтон.


Я вас походу понял, буду пробовать.
Да всего то надо, чтобы канвас и меню в нем (не первая сцена с началом игры, а в самой игре уже, которое меню с настройками всяческими) оставался, остальные объекты, они будут заново появляться в разных местах.

waruiyume писал(а):Ещё сцены можно грузить аддитивно, можно например сделать стартовую сцену только с меню и подгружать нужные сцены, а потом выгружать ненужные
https://docs.unity3d.com/ScriptReferenc ... nager.html
https://docs.unity3d.com/ScriptReferenc ... itive.html
https://docs.unity3d.com/ScriptReferenc ... Async.html
Никогда так не делал, тч хз, что может вылезти.


Спасибо конечно, но я лучше пойду по наименьшему сопротивлению =)))
Буду пробовать в общем, если появятся вопросы или что-то не будет получаться, отпишу...
Niker
UNIт
 
Сообщения: 58
Зарегистрирован: 27 сен 2019, 12:03


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

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

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