Подгрузка объектов в сцену

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

Подгрузка объектов в сцену

Сообщение AleVerDes 16 июн 2012, 00:45

Здравствуйте!

Я в Unity новенький, но в создании игр имеется какой-никакой, но опыт.

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

Думаю, все знают, что в Minecraft'е карта не делится на уровни, между которыми игрок переходит, а делится на чанки. Чанки постепенно подгружаются и постепенно выгружатся, в зависимости от положения главного персонажа. Только разница с Minecraft'ом в том, что генерировать ничего не надо, все будет статичным и требуется лишь загружать и сохранять изменения в уровне, все должно будет изначально создано в редакторе карт.

Мне требуется реализовать практически тоже самое: у меня имеется unity-сцена Game. Мне требуется загрузить список объектов или карту и создать и расставить экземпляры имеющихся объектов по чанку. Аналогично мне нужно поступить с граничащими с активным чанком чанками, прошу прощения за тавтологию. Мне не надо делать смену сцен, не надо делать ожидание между подгрузками, требуется чтобы весь этот процесс проходил максимально незаметно.

Набросал схему того, как это должно выглядеть:
Изображение

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

Собственно, из всего того, что выше, меня интересуют:
1. Как лучше это все реализовать в плане изначального создания - какой редактор карт поддержит экспорт "чанка" в файл и как затем этот "чанк" импортировать во время игры в сцену?
2. Сильно ли это повлияет на производительность игры?

Исходя из всег этого, скажу сразу, что написать свой редактор карт я не смогу, либо смогу не очень скоро. По поводу террейна - не беспокойтесь, его у меня в планах нет, все будет происходить на плоскости. Максимум - возвышенности в виде отдельных мэшей.
Последний раз редактировалось AleVerDes 17 июн 2012, 18:18, всего редактировалось 2 раз(а).
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 16 июн 2012, 00:47

Я буду благодарен любому ответу, совету или решению, ибо в Unity я действительно новичок. Также, будет очень хорошо, если вы укажете, какой лучше редактор карт подойдет для указанной мною идеи. Игра, по механике, очень сильно похожа на стандартный AngryBots, только карта будет огромной и постоянно расширяемой.
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 16 июн 2012, 02:37

Как оказалось, террейн, скорее всего, может быть и будет. Надеюсь, это не сильно усложнит работу с чанками?
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение Neyl 16 июн 2012, 12:14

Для unity 2.6 был пример асинхронной загрузки уровней (с террейнами) http://beta.unity3d.com/joe/streaming/S ... ldDemo.zip В нем "чанки" пакуются в AssetBundle и грузятся/выгружаются в зависимости от расстояния. После исправления нескольких ошибок проект должен запуститься на 3.5 так что его можно будет использовать в качестве отправной точки. И почитайте про Asset Bundles и Application.LoadLevelAdditiveAsync
Аватара пользователя
Neyl
UNIверсал
 
Сообщения: 404
Зарегистрирован: 20 июн 2010, 10:17

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 16 июн 2012, 12:51

Neyl, скачал посмотрел содержимое... Вроде бы да, вроде как надо - только я хотел делать созданием и расстановкой объектов, а здесь добавляют целую сцену. Пока посижу и подумаю, как исправить ошибки, чтоыб глянуть все это действие. но вопросы у меня не сильно поменялись.
Если я буду использовать этот способ, то я смогу хранить все свои чанки (сцены) в Unity, не используя редакторы извне. Соответственно, как я смогу их редактировать и создавать их так, чтобы они (чанки) состыковывались? Вы же понимаете, что Террейн - дело тонкое.
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 16 июн 2012, 13:27

Ошибки исправил, глянул на пример. Выглядит очень и очень шикарно, думаю, это то, что мне надо.

Но тут возникают два вопроса:
1. Карта у меня будет поистине огромная, из примера - минимум чанков 15х15, минимум. Плюс, постоянно будут добавляться. Вот как раз о добавлении речь и зайдет - игрокам потребуется скачивать новые билды игры, чтобы получить новые чанки или можно будет сделать иначе?
2. Как правильно будет создавать эти сцены? Я заметил много ошибок в состыковке чанков в этом примере, я бы не хотел такого увидеть в своей игре: есть ли возможность при создании сцены импортировать "болванки" смежных чанков, которые нельзя будет редактировать и нужны они будут только для того, чтобы понять, как же должен выглядеть чанк при таком раскладе карт.
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 17 июн 2012, 18:17

Вопрос актуален.

Сегодня смотрел в сторону UDK - там этот процесс (разрезания террейна и его экспорт в другие) выглядит мило. Можно ли и в Unity3D каким-нибудь образом поделить террейн на несколько других или же связать два террейна "без швов"?
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение pod4444 19 июн 2012, 09:08

AleVerDes писал(а):Вопрос актуален.

Сегодня смотрел в сторону UDK - там этот процесс (разрезания террейна и его экспорт в другие) выглядит мило. Можно ли и в Unity3D каким-нибудь образом поделить террейн на несколько других или же связать два террейна "без швов"?

Тут можно, не побоюсь этого слова, всё. Просто где-то придется это делать ручками или покупать у кого-то, но в Вашем случае скрипт террейна без швов валялся где-то рядом на форуме.
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Подгрузка объектов в сцену

Сообщение AleVerDes 20 июн 2012, 16:30

Пока проблема решается до ужаса безобразно - пока кажется, что лучше не редактировать ландшафт, оставить плоскость :D
Аватара пользователя
AleVerDes
UNец
 
Сообщения: 15
Зарегистрирован: 15 июн 2012, 23:55
Откуда: Санкт-Петербург
  • Сайт


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

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

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