Вторник, 26 Ноября 2024, 04:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Подгрузка объектов в сцену
SanAVДата: Суббота, 16 Июня 2012, 17:55 | Сообщение # 1
Alex Versus
Сейчас нет на сайте
Приветствую всех!

Ребята на Unity3D.ru кое-как смогли подсказать решение этой проблемы, но разговорить их достаточно трудно, надеюсь, здесь помогут.

Итак.

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

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

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

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


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

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

Neyl с форума Unity3D.ru частично ответил на вопрос, но до сих пор многие аспекты мне не ясны:

Quote
Для unity 2.6 был пример асинхронной загрузки уровней (с террейнами) http://beta.unity3d.com/joe/streaming/StreamingWorldDemo.zip В нем "чанки" пакуются в AssetBundle и грузятся/выгружаются в зависимости от расстояния. После исправления нескольких ошибок проект должен запуститься на 3.5 так что его можно будет использовать в качестве отправной точки. И почитайте про Asset Bundles и Application.LoadLevelAdditiveAsync


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


My Games:
· [2D, TDS] Death Embrace.


Сообщение отредактировал SanAV - Суббота, 16 Июня 2012, 17:56
SanAVДата: Воскресенье, 17 Июня 2012, 19:16 | Сообщение # 2
Alex Versus
Сейчас нет на сайте
Вопрос актуален.

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


My Games:
· [2D, TDS] Death Embrace.


Сообщение отредактировал SanAV - Воскресенье, 17 Июня 2012, 19:17
PovstalezДата: Воскресенье, 17 Июня 2012, 20:55 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote (SanAV)
Можно ли и в Unity3D каким-нибудь образом поделить террейн на несколько других или же связать два террейна "без швов"?

Видел в Ассест Сторе вроде бы плагин для соеденения двух террейнов без швов.
reyzorДата: Воскресенье, 17 Июня 2012, 21:43 | Сообщение # 4
Проггер в законе
Сейчас нет на сайте
SanAV, на счёт террейнов нет а вот в демо майнкрафт кит, там вроде через партикл, но посмотри. Ещё видел технологию для последнего юнити - отрисовка идёт только в поле видимости игрока. а по хорошему сходи на unity3d.ru/forum и спроси)

Юзаю Unity3d +C#
Мой твиттер
Помог - ставь +, Ответил на вопрос - ставь +.
SanAVДата: Воскресенье, 17 Июня 2012, 22:27 | Сообщение # 5
Alex Versus
Сейчас нет на сайте
reyzor, если внимательно читал первый пост, то мог заметить, что пришел я именно оттуда.

Quote (reyzor)
демо майнкрафт кит

Minecraft Kit? Поиск в гугле не дает адеватных ответов на этот запрос.

Quote (Povstalez)
Видел в Ассест Сторе вроде бы плагин для соеденения двух террейнов без швов.

Не, платные компоненты не вариант.


My Games:
· [2D, TDS] Death Embrace.
iNikitДата: Воскресенье, 17 Июня 2012, 22:39 | Сообщение # 6
участник
Сейчас нет на сайте
А Occlusion Culling не подходить? wacko
Про него на unity3d.com



Самый лучший юзер GCUP :3


Сообщение отредактировал iNikit - Воскресенье, 17 Июня 2012, 22:40
SanAVДата: Воскресенье, 17 Июня 2012, 23:13 | Сообщение # 7
Alex Versus
Сейчас нет на сайте
iNikit, нет, совершенно не то.

My Games:
· [2D, TDS] Death Embrace.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг