Генерация реального ландшафта по координатам в RunTime

Speed Tree : Terrain & Trees.

Генерация реального ландшафта по координатам в RunTime

Сообщение JIeo_NEED 15 дек 2015, 20:23

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

Ненужные подробности:
Скрытый текст:
В рамках курсовой работы мне требуется написать приложение, которое будет просчитывать опасность столкновения при движении судов в акваториях Владивостока (в перспективе, всего мира), при этом для каждого судна помимо опасности столкновения с другим судном существует опасность удара об берег.

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

Сначала подумал, что было бы неплохо поднять береговую линию над уровнем моря, чтоб и выглядело хорошо (чтоб корабли не по Plane'у шастали), да и рейкастить можно было, после чего возникла идея еще и выдавить горы. А это уже и есть мой текущий челлендж.


В результате получается вопрос не совсем даже и по Unity, но вполне может оказаться, что подобная реализация уже была.

Требуется получить с какого-либо он-лайн сервиса фотографию требуемой местности со спутника и соответствующую ей карту высот для построения модели ландшафта (любого качества) - что важно: по введенным пользователем координатам.

Пока что делаю руками так: захожу на http://terrain.party, руками выбираю нужную мне область, скачиваю нужную карту высот, а потом подбираю под нее фотографию со спутника Google. Надо это дело автоматизировать.

Пример сделанного руками, что надо делать кодом в рантайме
Скрытый текст:
Изображение


Нет ли сервиса, где можно было бы скачать сразу обе карты (RealTime), или реально ли это сделать с помощью каких-нибудь двух сервисов, главное - чтобы карты при наложении совпадали.

Очень похоже на нужный вариант делают Google Maps: при максимальном приближении и нажатии "Изменить угол обзора" камера становится Perspective, и горы выдавливаются.
Я попытался парсить данные, но они в каком-то странноватом формате.

Как всё это дело выдавить на Terrain'е, или на плоскости Tesselation'ом - не проблема, главный вопрос - где взять эти данные?

Заранее спасибо.
Аватара пользователя
JIeo_NEED
UNITрон
 
Сообщения: 228
Зарегистрирован: 01 мар 2012, 14:37
Откуда: Владивосток, Приморский край, Россия.
Skype: Develeone
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение jetyb 17 дек 2015, 08:21

Такое можно только за деньги купить.
См на AssetStore, там таких утилит несколько, например:
https://www.assetstore.unity3d.com/en/#!/content/8752
Самому разрабатывать хлопотнее, по картам-картинкам см
google static maps api
yandex static maps api

А не хилая такая курсовая выходит: и само движение судов, и 3D-графика, и геомоделирование.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение DbIMok 17 дек 2015, 09:46

Скрытый текст:
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение Diab10 17 дек 2015, 10:45

DbIMok писал(а):
Скрытый текст:


Скрытый текст:
Спасибо, занимательная статейка B-)
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение Syberex 17 дек 2015, 13:54

А причем тут эта статейка?
Намек на то, как раздобыть бесплатные плагины или вы в JIeo_NEED-е признали того, кто "покарает"? :))
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение DbIMok 17 дек 2015, 14:08

Syberex писал(а):А причем тут эта статейка?

комментарий к
jetyb писал(а):А не хилая такая курсовая выходит

там вероятно тоже
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение Cr0c 17 дек 2015, 14:37

Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение JIeo_NEED 18 дек 2015, 04:26

Спасибо за ответы.

Яндекс.Карты карту высот не могут.
Карты Гугл картой высот делиться не хотят, парсить не выходит - бред какой-то в файлах.
Решения, которые качают нужную карту перед компиляцией приложения, и потом запаковывают туда уже готовую - тоже не подходят, мне нужно карту любого водоема по заданным пользователем координатам именно в рантайме.

Единственная задача - где получить две совпадающие картинки (хайтмап + текстура), чтоб при наложении - горы из воды не выдавливались?
Или хоть не картинки, а бинарные файлы, где каждые 16 байт - число, обозначающее высоту в точке - что угодно, откуда карту высот совпадающую с текстурой вытянуть можно будет.
С остальным уже разберусь, с программированием у меня всё хорошо.
Аватара пользователя
JIeo_NEED
UNITрон
 
Сообщения: 228
Зарегистрирован: 01 мар 2012, 14:37
Откуда: Владивосток, Приморский край, Россия.
Skype: Develeone
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение PREZRAK 18 дек 2015, 07:59

Разве нельзя получить карту высот из географической/карты местности?
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение beatlecore 18 дек 2015, 10:53

а зачем вам вообще карта именно высот? берете картинку карты, смотрите - если цвет пикселя больше синий - плыть можен / иначе не может и по 2д массиву проверяете "берег"
Аватара пользователя
beatlecore
Старожил
 
Сообщения: 964
Зарегистрирован: 05 фев 2013, 21:26
Откуда: Sun Crimea

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение JIeo_NEED 18 дек 2015, 16:23

beatlecore писал(а):а зачем вам вообще карта именно высот? берете картинку карты, смотрите - если цвет пикселя больше синий - плыть можен / иначе не может и по 2д массиву проверяете "берег"

Тут не поспоришь, это в рамках курсовой работы оптимальное решение (да и делается несложно, если схитрить) - но у меня уже кипит сделать задачу по красоте, думаю, я потом уже даже эту схему, если получится, запихну в свою игрушку с самолетами.
Аватара пользователя
JIeo_NEED
UNITрон
 
Сообщения: 228
Зарегистрирован: 01 мар 2012, 14:37
Откуда: Владивосток, Приморский край, Россия.
Skype: Develeone
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение Юзьо 18 дек 2015, 17:56

Программа SASPlanet позволяет скачать фотоснимок местности разного приближения и качества
c разных источников по заданным координатам и склеит тайлы в одно изображение- готовую текстуру.
Программа Microdem позволяет выделить и сохранить фрагмент карты высот скачанной с Google Earth
плагином srtm41.kmz с геодезическими координатами. В фотошопе подрезаем фрагмент карты высот
по нужным координатам, подгоняем-согласуем размеры со скачаной текстурой, сохраняем в raw.
У нас есть карта высот нужной местности и соответствующая ей текстура фотоснимок.
Всё.
Юзьо
UNIт
 
Сообщения: 83
Зарегистрирован: 11 окт 2015, 04:48

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение JIeo_NEED 18 дек 2015, 18:09

Юзьо писал(а):Программа SASPlanet позволяет скачать фотоснимок местности разного приближения и качества
c разных источников по заданным координатам и склеит тайлы в одно изображение- готовую текстуру.
Программа Microdem позволяет выделить и сохранить фрагмент карты высот скачанной с Google Earth
плагином srtm41.kmz с геодезическими координатами. В фотошопе подрезаем фрагмент карты высот
по нужным координатам, подгоняем-согласуем размеры со скачаной текстурой, сохраняем в raw.
У нас есть карта высот нужной местности и соответствующая ей текстура фотоснимок.
Всё.

Зашибись, а можно сделать все в сотню раз проще с помощью terrain.party
Спасибо, конечно, за ответ, но он совсем не в тему.
Повторюсь, ландшафт хотел бы выдавиться не используя ничего стороннего кроме Юнити (и библиотек для нее - что можно понавешать).
Проблема в том, что мне дают две РАНДОМНЫЕ координаты всей планеты Земля уже во время игры (назовём это так), и я строю ландшафт между этими координатами.
Аватара пользователя
JIeo_NEED
UNITрон
 
Сообщения: 228
Зарегистрирован: 01 мар 2012, 14:37
Откуда: Владивосток, Приморский край, Россия.
Skype: Develeone
  • Сайт

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение Юзьо 18 дек 2015, 18:45

terrain.party и координаты?
С этого места по-подробней плиз... ;)
Юзьо
UNIт
 
Сообщения: 83
Зарегистрирован: 11 окт 2015, 04:48

Re: Генерация реального ландшафта по координатам в RunTime

Сообщение JIeo_NEED 19 дек 2015, 06:08

Юзьо писал(а):terrain.party и координаты?
С этого места по-подробней плиз... ;)

Чем использовать столько стороннего софта - легче скачать более-менее подходящую карту высот с terrain.party, и просто в фотошопе ее подогнать по размерам к снимку со спутника того же Гугла.
Единственное - у тебя качество будет намного лучше, но для меня оно не особо важно, главное - сохранить очертания местности, чтобы при приближении к кораблю земля не была на одной высоте с морем.
Хотя, насчет координат terrain.party: сейчас попробую посмотреть, какой интерфейс они используют для вытаскивания карты высот - вдруг как-нибудь поможет.

UPD: Хм, любопытно - экспорт у них производится по такой ссылочке:
http://terrain.party/api/export?box=131.62444722234898%2C42.79309156868666%2C132.3654388401509%2C43.33207354408063&name=VL
И, в принципе, вводя в линк нужные координатные рамки box'а можно выгружать прям подходящую карту высот.
Жалко, сразу об этом не подумал.

Наполовину, успех. Только, блин, теперь надо как-то распаковывать ZIP-архив и вытаскивать мапу, но это уже гуглимая проблема.
Теперь осталось найти текстуру по координатному боксу.
Аватара пользователя
JIeo_NEED
UNITрон
 
Сообщения: 228
Зарегистрирован: 01 мар 2012, 14:37
Откуда: Владивосток, Приморский край, Россия.
Skype: Develeone
  • Сайт

След.

Вернуться в Земля и деревья.

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

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