Здрасьте!

Работаю курьером. Взбрела мне значит как-то идея, сделать Москву в 3D и чтобы 1к1, ну или 0,9к1, со всеми высотами, дорогами и домами. Моделировал дома в SketchUp и экспортировал их в Blender.

Пример
Пример

Начнём по порядку. Решил делать всё по районам и начал со Строгино, потому что там много типовых домов, позже объясню почему. Карту высот я брал с помощью программы Global Mapper:

Global Mapper с наложенными слоями карты высот и сетки для экспорта
Global Mapper с наложенными слоями карты высот и сетки для экспорта

Выгружал в формате .stl, Blender импортировал его криво, поэтому использовал вначале SketchUp, там увеличивал размеры и переносил на нулевую координату. После чего экспортировал и его уже нормально видел Blender. Поверх накладывал текстуру, на которой план города:

Теперь по поводу домов. Типовые панельки проще моделировать, т.к. несложно найти их планировку с размерами. Для определения серии дома я использовал сайт https://gsps.ru/tipdoma:

...и группу ВКонтакте  https://vk.com/tiparh, где эти планы собраны и структурированы по сериям:

Как и писал выше, моделировал их в SketchUp, т.к. в ней несложно разобраться и она, по сути, создана для «дизайнеров и архитекторов». Когда-то давно, во времена дисков и ключей активации на коробках от них, и диски видеомании с уроками по 3dMax и Maya можно было брать в прокате (тогда я ещё умел ими пользоваться). Но прошло много времени, а осваивать тот же Blender с неудобной камерой у меня особого желания нет. Поэтому и использую SketchUp, и в ней есть одна такая удобная функция «Компонент», где объект можно размножить и при редактировании одного все изменения применяются на другие, поэтому достаточно было сделать 1, 2 этаж и крышу, и далее как конструктор собирать дома. Правда, под некоторые серии домов приходилось делать по 5-6 разных этажей.

Первоначально я собирался делать дома, скажем так, со всеми квартирами и комнатами, но когда я так смоделировал дом, то SketchUp начал дико виснуть. И тут следует уточнить, что при экспорте необходимо было объединить всю модель, т.к. компонент, по сути, не являлся отдельным объектом. И когда при выделении дома тебе показывали, что выделено, условно, 100 объектов, а при объединении в один, то их количество могло выйти и за 10 000. Поэтому при экспорте SketchUp вылетал и просил отправить отчёт к какой-то там матери. Поэтому я решил отказаться от квартир и комнат и оставить только подъезд, шахты лифтов и лестницы. А выглядело первоначально совсем неплохо:

Также надо уточнить, что делаю я всё на нетбуке, ибо другого у меня нет, система там слабовата, и видеокарта Intel HD 600, поэтому и в дальнейшем не будет рендера от Blender, а только скрины. Если что, вот полное название нетбука Acer spin 1 sp114-34n:

А вот уже пример другого дома, где я уже набил руку, это Неманский пр. 5к1, и сравнение его с фото от «Панорамы улиц» от Яндекса (да, его тоже использовал):

Одна из самых распространенных серий домов «Тип 1605АМ/12»
Одна из самых распространенных серий домов «Тип 1605АМ/12»

Пожалуй, стоит ещё отметить одну вещь: есть карты высот по координатам, но они кривые, а другие я не знаю где взять, хоть их и использует Google. Было бы замечательно использовать карту высот от Strava, но я не знаю, как их достать. Вот, например Неманский пр. 5к1, видно что между сегментами дом подымается на пролёт, в то время на картах высот наоборот, опускается:

Но если делать Москву в 3D, то уже по путёвому, поэтому подумываю купить себе какой-нибудь туристический альтиметр, и проехаться по дорогам и по ключевым местам – замерять высоту над уровнем моря. Хотя есть ещё идейка использовать Arduino с модулями альтиметра, GPS/Глонасс и акселерометра с возможностью записи маршрута и его выгрузки, но я в этом не разбираюсь, от слова совсем, поэтому дальше видно будет.

Сделал, пока что, небольшой квартальчик, попрактиковался и набивал руку на нём, вот пример с наложенной текстурой со спутника:

Конечно же, можно было не заморачиваться, сделать коробки с текстурами, но это скучно, примитивно и не интересно, и это, скажем так, место занято Мосгоргеотрест https://mggt.ru/projects/3-d-moskva/ и навряд ли сможешь получить их наработки с исходниками:

Ну а мне интересен скорее сам процесс, жалко, что нет возможности делать дома с квартирами, возможно, найдётся способ это оптимизировать. Ещё хотел выгрузить карту в Unreal Engine и в Unity, но моя система это всё не потянула. Так что, кому интересно, держите проект, ну а я пока буду думать, что делать с картами высот, хотел использовать данные с топографических карт и моделировать их в SketchUp, с нанесённой текстурой плана, но она накладывается в низком разрешении и ничего не видно.

Проект не коммерческий, в общем, нашёл себе занятие на ближайшие года 3-4.

Комментарии (43)


  1. Nurked
    11.08.2023 16:31
    +15

    Вы однозначно сошли с ума. Проект превосхоит все самые сложные мысли. Мои поздравления!


    1. navferty
      11.08.2023 16:31
      +2

      Согласен, интересный проект.


  1. smart_alex
    11.08.2023 16:31

    нашёл себе занятие на ближайшие года 3-4

    Что-то я не понял — таким образом визуализировать Москву — это сколько человеко-часов понадобится? (особенно учитывая сколько там объектов и сколько из них нетиповых). 3-4 года в одно лицо (плюс работа курьером) — это что шутка такая?


    1. TwoAces Автор
      11.08.2023 16:31
      +2

      В Москве много типовых панелек и в SketchUp их несложно делать, главное один дом смоделировать, и дальше как конструктор собирать. А вот не типовые дома, займут побольше времени


  1. FirstEgo
    11.08.2023 16:31
    +8

    Если бы мне сказали, что человек решился построить Москву даже 24:1 в одно лицо, я бы, мягко говоря, не поверил. Снимаю кандибобер. Дважды.


    1. codecity
      11.08.2023 16:31
      +2

      человек решился построить Москву

      Одно дело решиться. Другое дело построить.


  1. Moskus
    11.08.2023 16:31
    +2

    Модель высот SRTM, которую вы используете - не модель поверхности земли. Это результат радарной съемки, который дает огибающую поверхность, покрывающую строения и даже растительность.


  1. FSA
    11.08.2023 16:31
    +6

    По мне так более эффективными для курьеров будут правки OpenStreetMap. Там много что можно обозначить, дорисовать оптимальные пути и это будет максимально быстро доступно другим. Хотя не факт, что быстро... Ибо кроме сохранения данных их нужно уметь использовать, а значит нужны приложения и серверы, которые всё это будут готовить для использования, в том числе курьерами.
    Но то, что вы описали, однозначно, тоже может быть полезно... Но точно не для курьеров.


  1. Pro-invader
    11.08.2023 16:31
    +6

    Курьер О_о


    1. WST
      11.08.2023 16:31

      Может это Тот Самый курьер из задачи о курьере (коммивояжёре).


  1. Vsevo10d
    11.08.2023 16:31
    +11

    Если бы у меня были знания скетчапа и блендера, и хотя бы десятая доля от вашей решимости, я бы штурмовал все мыслимые фрилансерские 3D-проекты, а на велосипеде катался для души.

    Нет, все круто. Пожалуйста, продолжайте. Надеюсь, у вас получится апгрейднуть рабочий инструмент хотя бы до недорогого неттопа и пары мониторов-двадцаток, а то на нетбуке такое делать - натуральное схимничество.


    1. EOShipnyagov
      11.08.2023 16:31

      к сожалению там конкуренция дикая, денег мало и бирж толковых я щас не знаю.


  1. Daddy_Cool
    11.08.2023 16:31
    +2

    Вот кстати любопытно - есть ли у этого проекта перспектива в реалиях современного мира. Нужна ли трехмерная карта Москвы? Да, несомненно.
    Что может сделать автор - оценить объем человеко-лет, прикинуть возможность монетизации, и если оценка показывает реальность, то... Вот тут и вопрос.
    Делать всё самому (маленькой командой) - думается нерально, большой объем в экстенсивном смысле.
    Прийти в мэрию и сказать - давайте запилим проект трехмерной Москвы, вот расчеты, что всё можно сделать и будет круто - там скажут, спасибо, у нас есть своя контора которая этим займется. Прийти в Яндекс и сказать... и это сделает Яндекс.
    Возможно, что я неправ - но я не вижу каких-то возможностей одному человеку сделать что-то масштабное, а для тех у кого есть ресурсы это сделать - условный "изобретатель" скорее помеха.
    Привлечение инвесторов - и сказать, что мы собираемся конкурировать с Яндекс-картами... ну для этого уже надо иметь какой-то вес.
    Интересно мнение опытных в таких вопросах товарищей.


    1. drdotmom
      11.08.2023 16:31
      +3

      Нужна ли трехмерная карта Москвы? Да, несомненно

      Детальная - не особо нужна. Была бы нужна - она бы уже существовала).

      Вполне хватит 2D карты с пометкой дорог и пешеходных троп. В самом крайнем случае - вариант от Мосгоргеотрест.
      Подозреваю, они использовали модели из OSM (для Blender3D кстати плагин под это есть), слегка доработали и покрасили.

      Что касается работ на более детализированную карту - если заниматься плотно (выделять полноценные 40 часов в неделю) - такая карта Москвы делается несколько лет, если работать одному. Если поддерживать качество автора - даже при 40-часовой рабочей неделе один человек будет пилить эту карту лет 5 (а если ещё и таскать из скетчапа в блендер - и того дольше). И это только на домики. Конечно же город будет пустоват без дорог, пешеходных троп, светофоров, контактных сетей электротранспорта и прочей мишуры, на изготовление которых ещё столько же времени уйдёт (хотя больше на поиск данных о расположении столбиков и знаки)

      И даже если эта карта появится по щелчку пальцев - без должной поддержки со стороны правительства - держать её актуальной у одного человека не получится - просто не хватит сил и времени, чтобы следить за всеми стройками города.

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


    1. Moskus
      11.08.2023 16:31

      Нужна ли трехмерная карта Москвы? Да, несомненно.

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


      1. Daddy_Cool
        11.08.2023 16:31

        1. Обычная навигация - часто стоишь на перекрестке, GPS тупит, домах которые рядом - нет названий улиц и номеров. В результате как понять с какой стороны перекрестка ты находишься? А была 3D - карта сразу было бы понятно по форме зданий.
        2. Я всё же надеюсь (хотя бы в не очень далеком будущем) на доставку беспилотниками пиццы прямо на балкон.


        1. Moskus
          11.08.2023 16:31

          Я правильно понимаю, что "стоя на перекрестке" (в машине) вы собираетесь крутить трехмерную карту так и этак, пока не увидите узнаваемое окружение?

          Доставка пиццы беспилотниками на балкон требует, гхм, несколько иной точности картографических данных, "трехмерность" карты - это даже не половина решения проблемы.


        1. fio
          11.08.2023 16:31

          Чтобы все работало и без 3d-моделей, для начала - перестать ломать GPS. Его (и компаса) обычно хватает для точного позиционирования на карте.

          Если человеку с опытом дать обычную 2d карту, то он быстро сориентируется на перекрестке.


          1. Daddy_Cool
            11.08.2023 16:31

            Я вроде человек с опытом - но вот на днях крутил телефон с Гуглокартой и так и эдак пытаясь понять куда мне идти. А GPS ну да, нынче плохо работает. Особенно около больших зданий.


            1. fio
              11.08.2023 16:31

              Помогла бы вам 3d модель?

              Упрощённые модели в Гугл-картах есть уже сейчас - можно попробовать


    1. forthuse
      11.08.2023 16:31

      Если около проекта образуется/состоится некоторое сообщество по внесению правок в модель карты, то не всё так безнадёжно и может идея "взлететь", если ей крылья не пообламают разными доступными способами и вариантами.


      P.S. А, кручение педалей на велосипеде стимулирует и работу мозга и разгоняет в организме не только кровь.


      Автору статьи успехов и бобра ради добра. :)


  1. Akr0n
    11.08.2023 16:31
    +9

    За старание поставил плюс, но это какая-то бессмысленная трата жизни. Правильно пишут, если есть время и желание - займитесь дополнением OSM, там бесконечное поле для работы.


  1. Gonard
    11.08.2023 16:31
    +2

    Вам нужно найти цифровую модель рельефа. То что вы используете сейчас - это модель поверхности, т.е с деревьями, домами и т.д. В свободном доступе детальных моделей рельефа вроде нет. Можно конечно взять 30 метровую цмп от alos и попытаться ее отфильтровать от домов и растительности, но это крайне сложно, тем более на вашем железе.


  1. spbmaps
    11.08.2023 16:31
    +11

    У меня есть пара б/у ноутбуков, как передать их тебе, автор? Обитаю в С-Пб, иногда катаюсь на выхах в Москоу.

    И, да, - я лет 15 читаю Хабр, а зарегился впервые и только ради этого коммента! :) В общем, дерзай и через тернии к звёздам!

    Аминь. ✊????????


    1. alan008
      11.08.2023 16:31
      +2

      Может это и была цель статьи - поплакаться о дохлом нетбуке.


      1. spbmaps
        11.08.2023 16:31

        Может, у Вас просто такая цель жизни, - видеть только негатив? ????????????

        Вот Вам и ещё одна сторона статьи, - вскрыть личные псих. болячки некоторых читателей ????????

        Всем добра! :)


  1. petrpk
    11.08.2023 16:31

    Сейчас можно поучаствовать в похожем проекте и еще и денег зарабоать https://vysotskiy.consulting/2gis/


    1. Firsto
      11.08.2023 16:31

      Там текст из прошлого десятилетия или просто рабы требуются?


  1. chnav
    11.08.2023 16:31
    +2

    Создание карты высот с помощью бытовых GPS (GNSS) в условиях городской застройки - бесполезная затея. Годится пожалуй только для местности с большими перепадами рельефа, гле плюс-минус 3-20 метров не играет роли. Не тратьте своё время чтобы подтвердить эту азбучную истину


  1. muz1kand
    11.08.2023 16:31

    Зачем рисовать все с нуля, если можно править osm под 3d?

    https://demo.f4map.com/#lat=55.7081571&lon=37.5792413&zoom=17&camera.phi=-3.018


    1. chnav
      11.08.2023 16:31

      Вы явно не читали статью, речь идёт о конкретных сериях домов и фотореалистичности.


      1. V1RuS
        11.08.2023 16:31
        +1

        это можно тоже делать поверх OSM, привязывая 3д-модели домов к конкретным объектам на карте. можно для этого допилить один из имеющихся 3д-рендеров осм, например https://streets.gl/


  1. Didimus
    11.08.2023 16:31
    -1

    Высоту над уровнем моря показывает компас в Айфоне


  1. lexmirnov
    11.08.2023 16:31
    +2

    Из этого можно сделать отличное дополнение для автосимулятора, MSFS с его фотограмметрией отдыхает.


  1. saipr
    11.08.2023 16:31
    -1

    Проект не коммерческий, в общем, нашёл себе занятие на ближайшие года 3-4.

    Спасибо вам не только за прекрасную идею, но и за то, что вы показали как её можно реализовать.
    Мне кажется, прочитав вашу стать, многие, особенно молодые ребята 12-15 лет могут найти достойное занятие для себя. а более зрелые люди захотят оставить после себя воспоминание о своем дворе. где прошли юность, детство в 3D визуализации.


  1. fio
    11.08.2023 16:31

    Москву периодически снимают с воздуха. Раньше фотограмметрическая съёмка, сейчас и лидарная. Также проводится постоянная мобильная съёмка (фото с машин типа Яндекс.Панорамы).

    Данные, карты на их основе, и даже 3d модели города есть. Но не в общем доступе. Потому что нет такой потребности делиться этой информацией с горожанами. Пока нет понимания зачем нужна 3d модель города для людей, не для специалистов.


  1. sprayer
    11.08.2023 16:31

    Жесть конечно, вам делать нечего) Я думаю от скетчапа нужно обязательно уходить, ведь в нем сетка очень поршивая из за его упрощения для пользователя, в общем при экспорте в другие программы будет очень много проблем в топологии моделей. Есть кстати cad софт для дизайнеров, то есть скетчапа не единственная программа, например shapr3d, plasticity, moi3d, там сетку на экспорте можно видеть, но все же лучше делать сразу в программах для полигонального моделирования, если в планах перекидывать в игровые движки и вообще. Текстуры можно наносить прямо с фото, в крупных прогах есть проецирование текстур с камеры на объект. А про рельеф, не понял зачем stl ведь весь рельеф со спутников в виде геологических тифов если не ошибаюсь dem tiff то есть картинки которые можно в программах выдавить дисплейсом. Stl отвратный формат для 3д печати. Была ещё отечественная программа для скачивания карт. Sas planet может пригодится


  1. Niktotiy
    11.08.2023 16:31

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


  1. cinme
    11.08.2023 16:31

    Есть вариант - фотограмметрия с дрона. Но это не везде возможно, а в текущей ситуации тем более.
    Вот пример моей попытки оцифровать город. Один из множества частей.

    Находка, Приморский край.
    Находка, Приморский край.


  1. liliianna
    11.08.2023 16:31

    С такими знаниями и умениями да еще и с с собственным интересом штурмуй иностранные фирмы , с руками оторвут. Проект зачетный .


  1. OleGrim
    11.08.2023 16:31
    +1

    В Яндексе что-то такое прорисовывается: Москва, район Строгино.

    Москва, район Строгино. Яндекс карты.
    Москва, район Строгино. Яндекс карты.

    В Google Earth Москвы в 3D нет, но крупные американские и европейские города есть.
    Франция, Париж.

    Google Earth, Франция Париж
    Google Earth, Франция Париж


    1. zamboga
      11.08.2023 16:31

      Зашёл написать подобный же коммент.
      Я тоже не понял смысла задумки автора, если уже есть 3Д здания на тех же я.картах.


  1. zamboga
    11.08.2023 16:31

    Мне одному кажется, что вы уже можете велосипед использовать лишь для поездки на новую работу 3D-моделлером?