Проект 3D ГИС городского пространства

Зарождение проекта


В начале 2014 года в СКБ (студенческом конструкторском бюро) моего университета, которое занимается разработками в направлении 3D технологий, стал развиваться проект реалистичной 3D ГИС нашего города. Столь громкое название себя не оправдывало, так как в тот момент прототип обладал лишь 3D составляющей и подложкой с растровым куском Яндекс.Карт. Приложение было создано на игровом движке Unity и содержало пространственно-навигационную систему по 3D кварталу нашего университета (Рисунок 1).

Рисунок 1 – Один из первых скриншотов проекта

Первостепенной задачей стало создание массива реалистичных 3D моделей зданий кварталов одного из микрорайонов города. Для этой задачи каждому участнику СКБ был выделен свой квартал, причем условия моделирования четко оговорены не были, кроме того, что модель должна быть «легкой».

О методах сбора данных


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

Опыта было мало в подобных делах, поэтому, вооружившись фотоаппаратом, я делал снимки домов, входящих в мой будущий 3D-квартал. Попытки создавать фотореалистичные текстуры увенчались крахом, поэтому текстура создавалась в графическом редакторе при использовании библиотек текстур различных материалов (Рисунок 2).


Рисунок 2 – Пример ранних текстур модели здания

Замечу, что в исследовании зданий очень помогает сервис Яндекс.Карт — 3D-панорамы. Он дает качественные подробные фотографии придорожных зданий.

Далее в СКБ


В результате работы восьми человек в течение четырех месяцев было создано, соответственно, восемь кварталов. Меня совсем не удивил результат, полученный изолированными друг от друга людьми, с малым опытом работы с 3D моделями. Главная проблема была в некоторых громоздких моделях крупногабаритных зданий, которые были выполнены настолько детально, что вызывало у Unity нервные подергивания FPS вблизи таких «монстров» (Рисунок 3).


Рисунок 3 – Пример переработки детальных моделей

Я и мой напарник, не считая руководителя проекта и главного сборщика, оказались под ударом разнообразия полученных 3D-моделей. Все недочеты по восьми кварталам приходилось исправлять нам, до того, как они попадали на карту, дабы не испортить карму.

Больной точкой нашей 3D карты являлась оптимизация, как я заметил выше – на карте имелось несколько мест, в которых FPS падал в два, а то и в три раза ниже среднего значения по проекту в целом. Данные проблемы были исправлены путем создания низкополигональных аналогов «тяжелых» моделей.

На переработку тяжелых моделей, правку текстур, подгонку масштаба и отправку сборки моделей в Unity ушло ещё около четырех месяцев работы. Ну как работы, нас было двое, оба студенты, занятость в СКБ неполная. Поэтому сроки завершения проекта растягивались в бесконечность, тем более что конкретных дальнейших целей не было поставлено.

А где собственно ГИС?


Как вы успели заметить из моего рассказа, первоначально проект планировался как 3D ГИС, но ни базы данных, ни привязки к какой-либо системе координат (геоинформационной) не было.

Стоит заметить, что прототип базы данных зданий был мною разработан и протестирован. Он представляет собой простейшую информацию о здании и привязку камеры к центру объекта с эффектом «поиска» объекта по названию.

В качестве подложки используется разрезанный атлас спутниковых Яндекс.Карт, но в первоначальных вариантах использовалась растровая обрисовка карты, векторный чертеж и карта нанесенная на terrain. Одной из проблем этого метода явилось обновление спутниковых снимков в конце 2015 года, ввиду этого всю подложку придется переделать. Но есть альтернатива. В Asset Store я наткнулся на плагин «Google Maps for Unity», смысл его в интерактивной подгрузке Google.Карт на плоскость и не только. К сожалению, версия API данного плагина уже устарела и поэтому использовать его не удалось. Альтернатива ему есть, от тех же разработчиков, но уже за 60$.

Перспективы


Наш проект заморожен. Небольшой стимул мы получили выиграв с этим проектом диплом на Инновационном молодежном конвенте 2014. Администрация города с интересом отнеслась к нашим наработкам.

Свежие скриншоты проекта




Тестовую Онлайн – версию проекта вы можете опробовать по следующей ссылке:

3D карта онлайн


Ребята, купил премиум аккаунт для хостинга, теперь проблем с доступом не будет! Спасибо за проявленный интерес!)


Заключение


Хотел заметить, что статей про 3D ГИС немного, в частности, попадаются коммерческие крупные проекты, которые я не рассматривал в своей статье (Sity ENGINE, Infrastructure Modeler и другие).

P.S.
Благодарю за внимание! Надеюсь эта тема кому-нибудь близка, ожидаю информативных комментариев.
Совсем забыл — все желающие могут просмотреть нашу статью в Электронном научном издании «Ученые заметки ТОГУ» по следующей ссылке: Научная статья — РЕАЛИСТИЧНАЯ МОДЕЛЬ ГОРОДСКОГО ПРОСТРАНСТВА

P.S. часть вторая

Спасибо за комментарии товарищи! Очень много полезного узнал для себя, буду осваивать Open Street Maps, в частности Kendzi3D плагин для 3D зданий.
Поделиться публикацией
Похожие публикации
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 26
  • +1
    … снимки домов, входящих в мой будущий 3D-квартал. Попытки создавать фотореалистичные текстуры увенчались крахом...
    Если не секрет, в чем именно была проблема? Не вышли хорошие фото, слишком трудоемко убирать перспективные искажения, еще что-то?
    • 0
      Предполагаю сделать фото стены дома без деревьев и других «препятствий» не всегда возможна. А судя по скриншотам из статьи деревья добавляются 3D…
      • 0
        Хорошие фото сделать на непрофессиональную мыльницу сложно, можно конечно делать тайловую текстуру. Но я остановился на исскуственной, т.к. эта стилистика приглянулась и самому руководителю проекта.
      • +2
        По сути, вы делали тоже самое, чем когда-то занимался Гугл. Для этой цели он тогда купил SketchUp и добавил в него несколько неплохих инструментов, упрощающих создание моделей по фотографиям, которые тянулись прямо из Гугл-панорам. Мне кажется, вы тогда слишком сложный путь выбрали.
        • 0
          Да, это верно! Мы изобретали колесо в какой-то мере. Это вызвано в основном отсталостью технологий 3D моделирования в нашем университете, и нежелание руководителя (старшего поколения) принимать инновации в какой-то мере.
          Поэтому планируется создание подобие 3D конструктора по типу SketchUp, также на движке Unity 3D.
          • 0
            А почему бы сам Скетчап не использовать? У него довольно мощный API, через который ваш движок может к нему подключаться.

            Просто по роду деятельности у меня большая практика моделирования зданий в т.ч. по фотографиям. Пока лучшего инструмента, чем Скетчап, для этой цели я для себя не нашёл.
            • 0
              Он сейчас бесплатный?
              • 0
                Есть платная версия Pro и бесплатная Make без Layout (это простенький 2D редактор) и без возможности экспорта в другие форматы. Ещё недавно выпустили просмоторщик моделей Viewer для десктопа и iPad.
        • 0
          Хостинг по ссылке говорит что превышен лимит «процессорной памяти» o_O
          • 0
            Для моего проекта 2 февраля стало «черным днем»), а именно объем трафика очень меня удивил!
            График отчета посещаемости сайта и трафик

          • 0
            Очень хотелось бы развить эту идею в сторону возможности прикрепления 3д моделей к объектам OpenStreetMap. Проблема только в хранилище для данных моделей.
            Сейчас там 3д делается через множество тегов и контуров, что засоряет карту. А вот если вынести модели на отдельный сервер, то можно с помощью энтузиастов покрыть большие пространства.
            Если будете делать что-нибудь подобное, обязательно позовите!
            • 0
              Интересное предложение! Обязательно возьму на заметку. Но для такого масштабного проекта необходимо разрабатывать «сверхлегкие» модели, вводить банк данных этих самых зданий, типизировать их и тд.
              • 0
                Они и так сверхлёгкие, те, которые уже лежат в базе OSM. Если очень кратко, то вот так описывается здание. А вот так оно может выглядеть.
                • 0
                  Согласен, но из корневого комментария я понял, что pav5000 хотел создать свою базу с моделями, структурой — отличной от текущей. Поэтому я и упомянул, что… (читайте выше).
                  Но всё же для меня пока использование Unity3D и разработка собственного GIS движка остается более привлекательной из за мультиплатформенности и удобства. Чтобы работать с OSM необходима лицензия, а мы разрабатываем ГИС для конечного покупателя, для нескольких платформ (возможно) и скорее всего будут проблемы с лицензированием, если мы начнем использовать сторонние API и так далее.
                  • 0
                    А на f4 как раз отдельная база. Там один слой сгенерен из того, что в базе, а к нему прикручен ещё один слой самостоятельных моделей.
                    Какая лицензия нужна?
                    • 0
                      Видимо мы друг друга не понимаем.
                      Вы лично работали с данной ГИС?
                      Мне было бы интересно найти человека который смог мне объяснить с чего начать работу с OSM и так далее.
                      • 0
                        Вот, наверно, последняя тема про лицензии. Больше ничего не требуется.
                        Если есть какие-то вопросы, то там же на форуме быстрее ответят. Там же можно спросить как поднять локальный сервер osm, за последние полгода таких тем была не одна штука. Я только рисую.
                        • 0
                          Я понял, в этом-то и проблема, что авторское право на всю ГИС получить невозможно. Это и отпугивает научного руководителя, он мечтает о «золотых горах».
                          Но мне тема интересна, JOSM уже поставил одна проблема — пока не удается загрузить плагины для работы с 3D — Kendzi3D.
                          • 0
                            Так у вас уже подложка от Яндекса, не получится получить авторские на всю ГИС.
                            Там ставится kendzi3d, -jogl и log4j. После чего JOSM предложит перезагрузиться. После запуска должен появиться пункт меню 3D, но управление там очень странное. И да, он только для отображения, редактировать необходимо ручками.
            • 0
              Ребята из Казани подобное делают, довольно красивый продукт получается.
              3d.gradoservice.ru/about.html
              Если будет интерес, могут поподробней рассказать.
              • +1
                Очень интересно! Выглядит действительно достойно и широкий функционал. Но меня смущает возможная сложность данного продукта, так как в Sity Engine подобные возможности, но я так и не освоил привязку территории по координатам к поверхности земли.
                Adobe Infrastructure modeler также довольно сложный продукт. Но демо версию GlobalMap GS я опробую, спасибо за ссылочку!
              • 0
                А вы ведете какую-нибудь методическую работу на тему как быстро и гарантированно снять размеры с существующих зданий при минимуме инструментов. Делал некоторые здания в своем городе для гугл-земли, столкнулся с трудностями определения размеров, пришлось считать по кирпичам, по этажам и подобными методами «на глазок».

                • +1
                  К сожалению, точные размеры не снимались изначально. «На глаз» учитывались — снимки спутниковых карт, для высоты использовались примерные высоты стандартных этажей, или фотографии.
                  Для нас не стояла задача ювелирной точности как таковой, студенты — сами понимаете.
                  Например в 2GIS картах сейчас внедряют 3D объекты, я не думаю, что у них всё идеально вымерено.
                • 0
                  Чувствую сегодня хостинг приложения опять будет недоступен, так как статистика трафика близится к ограничительной отметке!
                  • 0
                    Почему бы просто не разместить здания на Google Earth, как это делают во всём мире, а не изобретать велосипед? Всё таки пользователей там в миллионы раз больше, все сразу увидять результат труда, в том числе и в браузерной версии.
                    Тем более Гугл.Земля автоматически создаёт модели с разной степенью детализации в засивимости от приближения, поэтому такой проблемы как «очень много полигонов» там нет. Кто захочет подлететь очень близко — тому будет миллионы полигонов, кто будет смотреть издалека — не заметит просадок fps.
                    Я за единое 3D пространство, а не тысячи разрознённых и требующих плагинов (Unity).
                    • 0
                      Согласен с вами, «всеобъемлющая» доступность — это замечательно. Но как я сказал выше — это проект университета, мы выступаем лишь разработчиками, и эту статью я сделал специально для того, чтобы узнать мнения людей в сфере IT и найти новые методы.
                      Повторюсь, что научный руководитель проекта — преподаватель «в летах» и не любит «облачно-бесплатных» проектов, в этом всё и дело.
                      В этом году я заканчиваю университет и в магистратуре я займусь чем-то более стоящим! Спасибо за совет насчет Google.Earth.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое